Skip to content

Add support for custom CRD values in Materialize instances #9

Open
@bobbyiliev

Description

@bobbyiliev

Currently, the Terraform module only supports a predefined set of Materialize CRD options. However, as the Materialize operator evolves, new features might be added to the CRD before they can be incorporated into the module.

Proposal

Add a new custom_values field to the instance configuration that allows passing arbitrary values to the CRD spec:

variable "instances" {
  type = list(object({
    # existing fields...
    custom_values = optional(map(any))  # New field
  }))
}

Example usage:

instances = [
  {
    name = "my-instance"
    custom_values = {
      "newFeature" = "value"
      "experimentalSetting" = {
        "enabled" = true
        "config" = {
          "param1" = "value1"
        }
      }
    }
  }
]

The values would be merged into the CRD spec, allowing users to use new features without waiting for module updates and releases.

We should be able to use merge() in the kubernetes_manifest resource to combine standard and custom values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions