Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 29 additions & 7 deletions examples/simple/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ module "materialize_infrastructure" {

# Enable and configure Materialize operator
install_materialize_operator = true
operator_version = var.operator_version
orchestratord_version = var.orchestratord_version

# Once the operator is installed, you can define your Materialize instances here.
materialize_instances = var.materialize_instances
Expand Down Expand Up @@ -80,16 +82,36 @@ variable "environment" {
default = "dev"
}

variable "operator_version" {
description = "Version of the Materialize operator to install"
type = string
default = null
}

variable "orchestratord_version" {
description = "Version of the Materialize orchestrator to install"
type = string
default = "v0.130.4"
}

variable "materialize_instances" {
description = "List of Materialize instances to be created."
type = list(object({
name = string
namespace = string
database_name = string
cpu_request = string
memory_request = string
memory_limit = string
create_database = optional(bool)
name = string
namespace = string
database_name = string
environmentd_version = optional(string, "v0.130.4")
cpu_request = string
memory_request = string
memory_limit = string
create_database = optional(bool)
in_place_rollout = optional(bool, false)
request_rollout = optional(string)
force_rollout = optional(string)
balancer_memory_request = optional(string, "256Mi")
balancer_memory_limit = optional(string, "256Mi")
balancer_cpu_request = optional(string, "100m")

}))
default = []
}
Expand Down
13 changes: 9 additions & 4 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -145,10 +145,11 @@ locals {

instances = [
for instance in var.materialize_instances : {
name = instance.name
namespace = instance.namespace
database_name = instance.database_name
create_database = instance.create_database
name = instance.name
namespace = instance.namespace
database_name = instance.database_name
create_database = instance.create_database
environmentd_version = instance.environmentd_version

metadata_backend_url = format(
"postgres://%s:%s@%s/%s?sslmode=require",
Expand All @@ -171,6 +172,10 @@ locals {
memory_request = instance.memory_request
memory_limit = instance.memory_limit

balancer_cpu_request = instance.balancer_cpu_request
balancer_memory_request = instance.balancer_memory_request
balancer_memory_limit = instance.balancer_memory_limit

Copy link
Copy Markdown
Contributor

@kay-kim kay-kim Mar 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies ... usually I don't like to muddy PRs ...
But, the environmentd_version isn't included in our instance handling. Could we patch to include that?

Copy link
Copy Markdown
Contributor

@kay-kim kay-kim Mar 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, ignore. I'll have to make changes to the examples/simple in addition to the root main.tf ... so, will make a separate PR to take care of that.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depending on when this is merged, I might do a patch to this PR, seeing as this touches the 2 files

# Rollout options
in_place_rollout = instance.in_place_rollout
request_rollout = instance.request_rollout
Expand Down
25 changes: 14 additions & 11 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -309,17 +309,20 @@ variable "helm_values" {
variable "materialize_instances" {
description = "Configuration for Materialize instances"
type = list(object({
name = string
namespace = optional(string)
database_name = string
environmentd_version = optional(string, "v0.130.4")
cpu_request = optional(string, "1")
memory_request = optional(string, "1Gi")
memory_limit = optional(string, "1Gi")
create_database = optional(bool, true)
in_place_rollout = optional(bool, false)
request_rollout = optional(string)
force_rollout = optional(string)
name = string
namespace = optional(string)
database_name = string
environmentd_version = optional(string, "v0.130.4")
cpu_request = optional(string, "1")
memory_request = optional(string, "1Gi")
memory_limit = optional(string, "1Gi")
create_database = optional(bool, true)
in_place_rollout = optional(bool, false)
request_rollout = optional(string)
force_rollout = optional(string)
balancer_memory_request = optional(string, "256Mi")
balancer_memory_limit = optional(string, "256Mi")
balancer_cpu_request = optional(string, "100m")
}))
default = []

Expand Down