Materialize Operator Configuration
Configure the Materialize operator
To configure the Materialize operator, you can:
-
Use a configuration YAML file (e.g.,
values.yaml) that specifies the configuration values and then install the chart with the-fflag:# Assumes you have added the Materialize operator Helm chart repository helm install my-materialize-operator materialize/materialize-operator \ -f /path/to/your/config/values.yaml -
Specify each parameter using the
--set key=value[,key=value]argument tohelm install. For example:# Assumes you have added the Materialize operator Helm chart repository helm install my-materialize-operator materialize/materialize-operator \ --set observability.podMetrics.enabled=true
Parameters
balancerd parameters
balancerd.affinity
Default: nil
Affinity to use for balancerd pods spawned by the operator
balancerd.defaultResources
Default: {"limits":{"memory":"256Mi"},"requests":{"cpu":"500m","memory":"256Mi"}}
Default resources if not set in the Materialize CR
balancerd.enabled
Default: true
Flag to indicate whether to create balancerd pods for the environments
balancerd.nodeSelector
Default: nil
Node selector to use for balancerd pods spawned by the operator
balancerd.tolerations
Default: nil
Tolerations to use for balancerd pods spawned by the operator
clusterd parameters
clusterd.affinity
Default: nil
Affinity to use for clusterd pods spawned by the operator
clusterd.nodeSelector
Default: {}
Node selector to use for all clusterd pods spawned by the operator
clusterd.scratchfsNodeSelector
Default: {"materialize.cloud/scratch-fs":"true"}
Additional node selector to use for clusterd pods when using an LVM scratch disk. This will be merged with the values in nodeSelector.
clusterd.swapNodeSelector
Default: {"materialize.cloud/swap":"true"}
Additional node selector to use for clusterd pods when using swap. This will be merged with the values in nodeSelector.
clusterd.tolerations
Default: nil
Tolerations to use for clusterd pods spawned by the operator
console parameters
console.affinity
Default: nil
Affinity to use for console pods spawned by the operator
console.defaultResources
Default: {"limits":{"memory":"256Mi"},"requests":{"cpu":"500m","memory":"256Mi"}}
Default resources if not set in the Materialize CR
console.enabled
Default: true
Flag to indicate whether to create console pods for the environments
console.imageTagMapOverride
Default: {}
Override the mapping of environmentd versions to console versions
console.nodeSelector
Default: nil
Node selector to use for console pods spawned by the operator
console.tolerations
Default: nil
Tolerations to use for console pods spawned by the operator
environmentd parameters
environmentd.affinity
Default: nil
Affinity to use for environmentd pods spawned by the operator
environmentd.defaultResources
Default: {"limits":{"memory":"4Gi"},"requests":{"cpu":"1","memory":"4095Mi"}}
Default resources if not set in the Materialize CR
environmentd.nodeSelector
Default: {}
Node selector to use for environmentd pods spawned by the operator
environmentd.tolerations
Default: nil
Tolerations to use for environmentd pods spawned by the operator
networkPolicies parameters
networkPolicies.egress
Default: {"cidrs":["0.0.0.0/0"],"enabled":false}
egress from Materialize pods to sources and sinks
networkPolicies.enabled
Default: false
Whether to enable network policies for securing communication between pods
networkPolicies.ingress
Default: {"cidrs":["0.0.0.0/0"],"enabled":false}
Whether to enable ingress to the SQL and HTTP interfaces on environmentd or balancerd
networkPolicies.internal
Default: {"enabled":false}
Whether to enable internal communication between Materialize pods
observability parameters
observability.enabled
Default: true
Whether to enable observability features
observability.podMetrics.enabled
Default: false
Whether to enable the pod metrics scraper which populates the Environment Overview Monitoring tab in the web console (requires metrics-server to be installed)
observability.prometheus.scrapeAnnotations.enabled
Default: true
Whether to annotate pods with common keys used for prometheus scraping.
operator parameters
operator.additionalMaterializeCRDColumns
Default: nil
Additional columns to display when printing the Materialize CRD in table format.
operator.affinity
Default: nil
Affinity to use for the operator pod
operator.args.enableInternalStatementLogging
Default: true
operator.args.enableLicenseKeyChecks
Default: false
operator.args.startupLogFilter
Default: "INFO,mz_orchestratord=TRACE"
Log filtering settings for startup logs
operator.cloudProvider.providers.aws.accountID
Default: ""
When using AWS, accountID is required
operator.cloudProvider.providers.aws.enabled
Default: false
operator.cloudProvider.providers.aws.iam.roles.connection
Default: ""
ARN for CREATE CONNECTION feature
operator.cloudProvider.providers.aws.iam.roles.environment
Default: ""
ARN of the IAM role for environmentd
operator.cloudProvider.providers.gcp
Default: {"enabled":false}
GCP Configuration (placeholder for future use)
operator.cloudProvider.region
Default: "kind"
Common cloud provider settings
operator.cloudProvider.type
Default: "local"
Specifies cloud provider. Valid values are ‘aws’, ‘gcp’, ‘azure’ , ‘generic’, or ’local’
operator.clusters.defaultReplicationFactor.analytics
Default: 0
operator.clusters.defaultReplicationFactor.probe
Default: 0
operator.clusters.defaultReplicationFactor.support
Default: 0
operator.clusters.defaultReplicationFactor.system
Default: 0
operator.clusters.defaultSizes.analytics
Default: "25cc"
operator.clusters.defaultSizes.catalogServer
Default: "25cc"
operator.clusters.defaultSizes.default
Default: "25cc"
operator.clusters.defaultSizes.probe
Default: "mz_probe"
operator.clusters.defaultSizes.support
Default: "25cc"
operator.clusters.defaultSizes.system
Default: "25cc"
operator.clusters.swap_enabled
Default: true
Configure sizes such that the pod QoS class is not Guaranteed, as is required for swap to be enabled. Disk doesn’t make much sense with swap, as swap performs better than lgalloc, so it also gets disabled.
operator.image.pullPolicy
Default: "IfNotPresent"
Policy for pulling the image: “IfNotPresent” avoids unnecessary re-pulling of images
operator.image.repository
Default: "materialize/orchestratord"
The Docker repository for the operator image
operator.image.tag
Default: "v26.0.0-dev.0–pr.gfa8ba620176a7d0f9abcc64f89f5d21db80c6d94"
The tag/version of the operator image to be used
operator.nodeSelector
Default: nil
Node selector to use for the operator pod
operator.resources.limits
Default: {"memory":"512Mi"}
Resource limits for the operator’s CPU and memory
operator.resources.requests
Default: {"cpu":"100m","memory":"512Mi"}
Resources requested by the operator for CPU and memory
operator.secretsController
Default: "kubernetes"
Which secrets controller to use for storing secrets. Valid values are ‘kubernetes’ and ‘aws-secrets-manager’. Setting ‘aws-secrets-manager’ requires a configured AWS cloud provider and IAM role for the environment with Secrets Manager permissions.
operator.tolerations
Default: nil
Tolerations to use for the operator pod
rbac parameters
rbac.create
Default: true
Whether to create necessary RBAC roles and bindings
schedulerName parameters
schedulerName
Default: nil
Optionally use a non-default kubernetes scheduler.
serviceAccount parameters
serviceAccount.create
Default: true
Whether to create a new service account for the operator
serviceAccount.name
Default: "orchestratord"
The name of the service account to be created
storage parameters
storage.storageClass.allowVolumeExpansion
Default: false
storage.storageClass.create
Default: false
Set to false to use an existing StorageClass instead. Refer to the Kubernetes StorageClass documentation
storage.storageClass.name
Default: ""
Name of the StorageClass to create/use: eg “openebs-lvm-instance-store-ext4”
storage.storageClass.parameters
Default: {"fsType":"ext4","storage":"lvm","volgroup":"instance-store-vg"}
Parameters for the CSI driver
storage.storageClass.provisioner
Default: ""
CSI driver to use, eg “local.csi.openebs.io”
storage.storageClass.reclaimPolicy
Default: "Delete"
storage.storageClass.volumeBindingMode
Default: "WaitForFirstConsumer"
telemetry parameters
telemetry.enabled
Default: true
telemetry.segmentApiKey
Default: "hMWi3sZ17KFMjn2sPWo9UJGpOQqiba4A"
telemetry.segmentClientSide
Default: true
tls parameters
tls.defaultCertificateSpecs
Default: {}