Skip to content

Commit 681c9fc

Browse files
authored
Merge pull request #72 from MaterializeInc/add-auth-support
Add password auth support
2 parents 3a12da2 + 49457e7 commit 681c9fc

File tree

5 files changed

+64
-50
lines changed

5 files changed

+64
-50
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ These flags configure default limits for clusters, connections, and tables. You
188188
| <a name="input_install_metrics_server"></a> [install\_metrics\_server](#input\_install\_metrics\_server) | Whether to install the metrics-server for the Materialize Console | `bool` | `true` | no |
189189
| <a name="input_kubernetes_namespace"></a> [kubernetes\_namespace](#input\_kubernetes\_namespace) | The Kubernetes namespace for the Materialize resources | `string` | `"materialize-environment"` | no |
190190
| <a name="input_log_group_name_prefix"></a> [log\_group\_name\_prefix](#input\_log\_group\_name\_prefix) | Prefix for the CloudWatch log group name (will be combined with environment name) | `string` | `"materialize"` | no |
191-
| <a name="input_materialize_instances"></a> [materialize\_instances](#input\_materialize\_instances) | Configuration for Materialize instances. Due to limitations in Terraform, `materialize_instances` cannot be defined on the first `terraform apply`. | <pre>list(object({<br/> name = string<br/> namespace = optional(string)<br/> database_name = string<br/> environmentd_version = optional(string)<br/> cpu_request = optional(string, "1")<br/> memory_request = optional(string, "1Gi")<br/> memory_limit = optional(string, "1Gi")<br/> create_database = optional(bool, true)<br/> create_nlb = optional(bool, true)<br/> internal_nlb = optional(bool, true)<br/> enable_cross_zone_load_balancing = optional(bool, true)<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 |
191+
| <a name="input_materialize_instances"></a> [materialize\_instances](#input\_materialize\_instances) | Configuration for Materialize instances. Due to limitations in Terraform, `materialize_instances` cannot be defined on the first `terraform apply`. | <pre>list(object({<br/> name = string<br/> namespace = optional(string)<br/> database_name = string<br/> environmentd_version = optional(string)<br/> cpu_request = optional(string, "1")<br/> memory_request = optional(string, "1Gi")<br/> memory_limit = optional(string, "1Gi")<br/> create_database = optional(bool, true)<br/> create_nlb = optional(bool, true)<br/> internal_nlb = optional(bool, true)<br/> enable_cross_zone_load_balancing = optional(bool, true)<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 |
192192
| <a name="input_metrics_retention_days"></a> [metrics\_retention\_days](#input\_metrics\_retention\_days) | Number of days to retain CloudWatch metrics | `number` | `7` | no |
193193
| <a name="input_namespace"></a> [namespace](#input\_namespace) | Namespace for all resources, usually the organization or project name | `string` | n/a | yes |
194194
| <a name="input_network_id"></a> [network\_id](#input\_network\_id) | The ID of the VPC in which resources will be deployed. Only used if create\_vpc is false. | `string` | `""` | no |

examples/simple/main.tf

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ resource "random_password" "pass" {
105105
special = false
106106
}
107107

108+
resource "random_password" "analytics_mz_system" {
109+
length = 20
110+
special = true
111+
}
108112

109113
variable "namespace" {
110114
description = "Namespace for the resources. Used to prefix the names of the resources"
@@ -133,24 +137,26 @@ variable "orchestratord_version" {
133137
variable "materialize_instances" {
134138
description = "List of Materialize instances to be created."
135139
type = list(object({
136-
name = string
137-
namespace = string
138-
database_name = string
139-
environmentd_version = optional(string)
140-
cpu_request = string
141-
memory_request = string
142-
memory_limit = string
143-
create_database = optional(bool)
144-
create_nlb = optional(bool)
145-
internal_nlb = optional(bool)
146-
in_place_rollout = optional(bool, false)
147-
request_rollout = optional(string)
148-
force_rollout = optional(string)
149-
balancer_memory_request = optional(string, "256Mi")
150-
balancer_memory_limit = optional(string, "256Mi")
151-
balancer_cpu_request = optional(string, "100m")
152-
license_key = optional(string)
153-
environmentd_extra_args = optional(list(string), [])
140+
name = string
141+
namespace = string
142+
database_name = string
143+
environmentd_version = optional(string)
144+
cpu_request = string
145+
memory_request = string
146+
memory_limit = string
147+
create_database = optional(bool)
148+
create_nlb = optional(bool)
149+
internal_nlb = optional(bool)
150+
in_place_rollout = optional(bool, false)
151+
request_rollout = optional(string)
152+
force_rollout = optional(string)
153+
balancer_memory_request = optional(string, "256Mi")
154+
balancer_memory_limit = optional(string, "256Mi")
155+
balancer_cpu_request = optional(string, "100m")
156+
license_key = optional(string)
157+
authenticator_kind = optional(string, "None")
158+
external_login_password_mz_system = optional(string)
159+
environmentd_extra_args = optional(list(string), [])
154160
}))
155161
default = []
156162
}

examples/simple/terraform.tfvars.example

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,21 @@ environment = "dev" // maximum 8 characters, lowercase alphanumeric only (e.g.
66

77
# materialize_instances = [
88
# {
9-
# name = "analytics"
10-
# namespace = "materialize-environment"
11-
# database_name = "analytics_db"
12-
# cpu_request = "2"
13-
# memory_request = "4Gi"
14-
# memory_limit = "4Gi"
9+
# name = "analytics"
10+
# namespace = "materialize-environment"
11+
# database_name = "analytics_db"
12+
# cpu_request = "2"
13+
# memory_request = "4Gi"
14+
# memory_limit = "4Gi"
15+
# authenticator_kind = "Password"
16+
# external_login_password_mz_system = random_password.analytics_mz_system.result
1517
# },
1618
# {
17-
# name = "demo"
18-
# namespace = "materialize-environment"
19-
# database_name = "demo_db"
20-
# cpu_request = "2"
21-
# memory_request = "4Gi"
22-
# memory_limit = "4Gi"
19+
# name = "demo"
20+
# namespace = "materialize-environment"
21+
# database_name = "demo_db"
22+
# cpu_request = "2"
23+
# memory_request = "4Gi"
24+
# memory_limit = "4Gi"
2325
# }
2426
# ]

main.tf

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

289289
license_key = instance.license_key
290290

291+
authenticator_kind = instance.authenticator_kind
292+
293+
external_login_password_mz_system = instance.external_login_password_mz_system != null ? instance.external_login_password_mz_system : null
294+
291295
cpu_request = instance.cpu_request
292296
memory_request = instance.memory_request
293297
memory_limit = instance.memory_limit

variables.tf

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -349,25 +349,27 @@ variable "helm_values" {
349349
variable "materialize_instances" {
350350
description = "Configuration for Materialize instances. Due to limitations in Terraform, `materialize_instances` cannot be defined on the first `terraform apply`."
351351
type = list(object({
352-
name = string
353-
namespace = optional(string)
354-
database_name = string
355-
environmentd_version = optional(string)
356-
cpu_request = optional(string, "1")
357-
memory_request = optional(string, "1Gi")
358-
memory_limit = optional(string, "1Gi")
359-
create_database = optional(bool, true)
360-
create_nlb = optional(bool, true)
361-
internal_nlb = optional(bool, true)
362-
enable_cross_zone_load_balancing = optional(bool, true)
363-
in_place_rollout = optional(bool, false)
364-
request_rollout = optional(string)
365-
force_rollout = optional(string)
366-
balancer_memory_request = optional(string, "256Mi")
367-
balancer_memory_limit = optional(string, "256Mi")
368-
balancer_cpu_request = optional(string, "100m")
369-
license_key = optional(string)
370-
environmentd_extra_args = optional(list(string), [])
352+
name = string
353+
namespace = optional(string)
354+
database_name = string
355+
environmentd_version = optional(string)
356+
cpu_request = optional(string, "1")
357+
memory_request = optional(string, "1Gi")
358+
memory_limit = optional(string, "1Gi")
359+
create_database = optional(bool, true)
360+
create_nlb = optional(bool, true)
361+
internal_nlb = optional(bool, true)
362+
enable_cross_zone_load_balancing = optional(bool, true)
363+
in_place_rollout = optional(bool, false)
364+
request_rollout = optional(string)
365+
force_rollout = optional(string)
366+
balancer_memory_request = optional(string, "256Mi")
367+
balancer_memory_limit = optional(string, "256Mi")
368+
balancer_cpu_request = optional(string, "100m")
369+
license_key = optional(string)
370+
authenticator_kind = optional(string, "None")
371+
external_login_password_mz_system = optional(string)
372+
environmentd_extra_args = optional(list(string), [])
371373
}))
372374
default = []
373375

0 commit comments

Comments
 (0)