Skip to content

Commit cc4f29a

Browse files
authored
Merge pull request #50 from MaterializeInc/add-auth-support
Add password auth support
2 parents 1dda96f + 436eb6c commit cc4f29a

File tree

5 files changed

+58
-43
lines changed

5 files changed

+58
-43
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ No resources.
195195
| <a name="input_install_materialize_operator"></a> [install\_materialize\_operator](#input\_install\_materialize\_operator) | Whether to install the Materialize operator | `bool` | `true` | no |
196196
| <a name="input_install_metrics_server"></a> [install\_metrics\_server](#input\_install\_metrics\_server) | Whether to install the metrics-server for the Materialize Console. Defaults to false since GKE installs one by default in the kube-system namespace. Only set to true if the GKE cluster was deployed with [monitoring explicitly turned off](https://cloud.google.com/kubernetes-engine/docs/how-to/configure-metrics#:~:text=To%20disable%20system%20metric%20collection,for%20the%20%2D%2Dmonitoring%20flag). Refer to the [GKE docs](https://cloud.google.com/kubernetes-engine/docs/how-to/configure-metrics#:~:text=To%20disable%20system%20metric%20collection,for%20the%20%2D%2Dmonitoring%20flag) for more information, including impact to GKE customer support efforts. | `bool` | `false` | no |
197197
| <a name="input_labels"></a> [labels](#input\_labels) | Labels to apply to all resources | `map(string)` | `{}` | no |
198-
| <a name="input_materialize_instances"></a> [materialize\_instances](#input\_materialize\_instances) | Configuration for Materialize instances | <pre>list(object({<br/> name = string<br/> namespace = optional(string)<br/> database_name = string<br/> create_database = optional(bool, true)<br/> create_load_balancer = optional(bool, true)<br/> internal_load_balancer = optional(bool, true)<br/> environmentd_version = optional(string)<br/> cpu_request = optional(string, "1")<br/> memory_request = optional(string, "1Gi")<br/> memory_limit = optional(string, "1Gi")<br/> in_place_rollout = optional(bool, false)<br/> request_rollout = optional(string)<br/> force_rollout = optional(string)<br/> balancer_memory_request = optional(string, "256Mi")<br/> balancer_memory_limit = optional(string, "256Mi")<br/> balancer_cpu_request = optional(string, "100m")<br/> license_key = optional(string)<br/> environmentd_extra_args = optional(list(string), [])<br/> }))</pre> | `[]` | no |
198+
| <a name="input_materialize_instances"></a> [materialize\_instances](#input\_materialize\_instances) | Configuration for Materialize instances | <pre>list(object({<br/> name = string<br/> namespace = optional(string)<br/> database_name = string<br/> create_database = optional(bool, true)<br/> create_load_balancer = optional(bool, true)<br/> internal_load_balancer = optional(bool, true)<br/> environmentd_version = optional(string)<br/> cpu_request = optional(string, "1")<br/> memory_request = optional(string, "1Gi")<br/> memory_limit = optional(string, "1Gi")<br/> in_place_rollout = optional(bool, false)<br/> request_rollout = optional(string)<br/> force_rollout = optional(string)<br/> balancer_memory_request = optional(string, "256Mi")<br/> balancer_memory_limit = optional(string, "256Mi")<br/> balancer_cpu_request = optional(string, "100m")<br/> license_key = optional(string)<br/> authenticator_kind = optional(string, "None")<br/> external_login_password_mz_system = optional(string)<br/> environmentd_extra_args = optional(list(string), [])<br/> }))</pre> | `[]` | no |
199199
| <a name="input_namespace"></a> [namespace](#input\_namespace) | Kubernetes namespace for Materialize | `string` | `"materialize"` | no |
200200
| <a name="input_network_config"></a> [network\_config](#input\_network\_config) | Network configuration for the GKE cluster | <pre>object({<br/> subnet_cidr = string<br/> pods_cidr = string<br/> services_cidr = string<br/> })</pre> | n/a | yes |
201201
| <a name="input_operator_namespace"></a> [operator\_namespace](#input\_operator\_namespace) | Namespace for the Materialize operator | `string` | `"materialize"` | no |

examples/simple/main.tf

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ resource "random_password" "pass" {
110110
special = false
111111
}
112112

113+
resource "random_password" "analytics_mz_system" {
114+
length = 20
115+
special = true
116+
}
117+
113118
output "gke_cluster" {
114119
description = "GKE cluster details"
115120
value = module.materialize.gke_cluster
@@ -152,24 +157,26 @@ variable "orchestratord_version" {
152157
variable "materialize_instances" {
153158
description = "List of Materialize instances to be created."
154159
type = list(object({
155-
name = string
156-
namespace = optional(string)
157-
database_name = string
158-
create_database = optional(bool, true)
159-
create_load_balancer = optional(bool, true)
160-
internal_load_balancer = optional(bool, true)
161-
environmentd_version = optional(string)
162-
cpu_request = optional(string, "1")
163-
memory_request = optional(string, "1Gi")
164-
memory_limit = optional(string, "1Gi")
165-
in_place_rollout = optional(bool, false)
166-
request_rollout = optional(string)
167-
force_rollout = optional(string)
168-
balancer_memory_request = optional(string, "256Mi")
169-
balancer_memory_limit = optional(string, "256Mi")
170-
balancer_cpu_request = optional(string, "100m")
171-
license_key = optional(string)
172-
environmentd_extra_args = optional(list(string), [])
160+
name = string
161+
namespace = optional(string)
162+
database_name = string
163+
create_database = optional(bool, true)
164+
create_load_balancer = optional(bool, true)
165+
internal_load_balancer = optional(bool, true)
166+
environmentd_version = optional(string)
167+
cpu_request = optional(string, "1")
168+
memory_request = optional(string, "1Gi")
169+
memory_limit = optional(string, "1Gi")
170+
in_place_rollout = optional(bool, false)
171+
request_rollout = optional(string)
172+
force_rollout = optional(string)
173+
balancer_memory_request = optional(string, "256Mi")
174+
balancer_memory_limit = optional(string, "256Mi")
175+
balancer_cpu_request = optional(string, "100m")
176+
license_key = optional(string)
177+
external_login_password_mz_system = optional(string, null)
178+
authenticator_kind = optional(string, "None")
179+
environmentd_extra_args = optional(list(string), [])
173180
}))
174181
default = []
175182
}

examples/simple/terraform.tfvars.example

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ network_config = {
1414

1515
# materialize_instances = [
1616
# {
17-
# name = "analytics"
18-
# namespace = "materialize-environment"
19-
# database_name = "analytics_db"
20-
# cpu_request = "2"
21-
# memory_request = "4Gi"
22-
# memory_limit = "4Gi"
17+
# name = "analytics"
18+
# namespace = "materialize-environment"
19+
# database_name = "analytics_db"
20+
# cpu_request = "2"
21+
# memory_request = "4Gi"
22+
# memory_limit = "4Gi"
23+
# authenticator_kind = "Password"
24+
# external_login_password_mz_system = random_password.analytics_mz_system.result
2325
# },
2426
# {
2527
# name = "demo"

main.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ locals {
255255

256256
license_key = instance.license_key
257257

258+
authenticator_kind = instance.authenticator_kind
259+
260+
external_login_password_mz_system = instance.external_login_password_mz_system != null ? instance.external_login_password_mz_system : null
261+
258262
cpu_request = instance.cpu_request
259263
memory_request = instance.memory_request
260264
memory_limit = instance.memory_limit

variables.tf

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -104,24 +104,26 @@ variable "orchestratord_version" {
104104
variable "materialize_instances" {
105105
description = "Configuration for Materialize instances"
106106
type = list(object({
107-
name = string
108-
namespace = optional(string)
109-
database_name = string
110-
create_database = optional(bool, true)
111-
create_load_balancer = optional(bool, true)
112-
internal_load_balancer = optional(bool, true)
113-
environmentd_version = optional(string)
114-
cpu_request = optional(string, "1")
115-
memory_request = optional(string, "1Gi")
116-
memory_limit = optional(string, "1Gi")
117-
in_place_rollout = optional(bool, false)
118-
request_rollout = optional(string)
119-
force_rollout = optional(string)
120-
balancer_memory_request = optional(string, "256Mi")
121-
balancer_memory_limit = optional(string, "256Mi")
122-
balancer_cpu_request = optional(string, "100m")
123-
license_key = optional(string)
124-
environmentd_extra_args = optional(list(string), [])
107+
name = string
108+
namespace = optional(string)
109+
database_name = string
110+
create_database = optional(bool, true)
111+
create_load_balancer = optional(bool, true)
112+
internal_load_balancer = optional(bool, true)
113+
environmentd_version = optional(string)
114+
cpu_request = optional(string, "1")
115+
memory_request = optional(string, "1Gi")
116+
memory_limit = optional(string, "1Gi")
117+
in_place_rollout = optional(bool, false)
118+
request_rollout = optional(string)
119+
force_rollout = optional(string)
120+
balancer_memory_request = optional(string, "256Mi")
121+
balancer_memory_limit = optional(string, "256Mi")
122+
balancer_cpu_request = optional(string, "100m")
123+
license_key = optional(string)
124+
authenticator_kind = optional(string, "None")
125+
external_login_password_mz_system = optional(string)
126+
environmentd_extra_args = optional(list(string), [])
125127
}))
126128
default = []
127129

0 commit comments

Comments
 (0)