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-f
flag:# 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.enabled
Default: true
Flag to indicate whether to create balancerd pods for the environments
balancerd.nodeSelector
Default: {}
Node selector to use for balancerd pods spawned by the operator
clusterd
parameters
clusterd.nodeSelector
Default: {}
Node selector to use for clusterd pods spawned by the operator
console
parameters
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: {}
Node selector to use for console pods spawned by the operator
environmentd
parameters
environmentd.nodeSelector
Default: {}
Node selector 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.args.enableInternalStatementLogging
Default: true
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.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: v0.130.4
The tag/version of the operator image to be used
operator.nodeSelector
Default: {}
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.
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: {}