Chart values¶
The values of the Helm chart deploy/helm/muster. The types and the descriptions come from its
values.schema.json, which rejects a value it does not list, and the defaults from its values.yaml. Set
existingSecret: the chart never generates the master keys, and rendering fails without it.
global¶
object · no default
Helm's global values, shared with subcharts; Muster reads none of them.
image¶
object
The container image of Muster.
image.repository¶
string · default: ghcr.io/muster-io/muster
The image repository.
image.tag¶
string or null · default: ""
The image tag; empty uses the appVersion of the chart.
image.pullPolicy¶
string (Always, Never, IfNotPresent) · default: IfNotPresent
The pull policy of the image.
imagePullSecrets¶
array · default: []
The Secrets for pulling the image from a private registry, as in a pod spec.
nameOverride¶
string · default: ""
Replaces the chart name in the names of the resources.
fullnameOverride¶
string · default: ""
Replaces the whole name of the resources.
replicas¶
integer · default: 1
The number of Muster replicas; one of them is the Leader at a time.
existingSecret¶
string · default: ""
The Secret that holds the master keys and, under the keys named below, the password of the bootstrap Admin and the database password or URL unless database.existingSecret names another Secret. Required: the chart never generates the master keys.
masterKeysKey¶
string · default: secret-keys
The key of existingSecret that holds the master keys, one per line (MUSTER_SECRET_KEYS_FILE).
database¶
object
The database connection.
database.host¶
string · default: ""
The database host (MUSTER_DATABASE_HOST); ignored when urlKey is set.
database.port¶
integer · default: 5432
The database port (MUSTER_DATABASE_PORT); ignored when urlKey is set.
database.name¶
string · default: muster
The database name (MUSTER_DATABASE_NAME); ignored when urlKey is set.
database.user¶
string · default: muster
The database user (MUSTER_DATABASE_USER); ignored when urlKey is set.
database.sslmode¶
string · default: ""
The sslmode of the database connections (MUSTER_DATABASE_SSLMODE); empty uses Muster's default, prefer.
database.existingSecret¶
string · default: ""
The Secret that holds the database password or URL under passwordKey or urlKey, such as the app Secret that CloudNativePG generates; empty uses existingSecret.
database.passwordKey¶
string · default: database-password
The key that holds the database password (MUSTER_DATABASE_PASSWORD_FILE), in database.existingSecret or, when that is empty, in existingSecret; ignored when urlKey is set.
database.urlKey¶
string · default: ""
The key that holds the whole connection as a URL (MUSTER_DATABASE_URL), in database.existingSecret or, when that is empty, in existingSecret; used instead of the fields above.
database.sessionHost¶
string · default: ""
The host of the session connection, for a pooler in transaction mode (MUSTER_DATABASE_SESSION_HOST).
database.sessionPort¶
integer or null · default: null
The port of the session connection (MUSTER_DATABASE_SESSION_PORT); null uses the port of the main connection.
publicURL¶
string · default: ""
The address of Muster for people and messengers (MUSTER_PUBLIC_URL).
ingestURL¶
string · default: ""
The address Alertmanager sends its notifications to (MUSTER_INGEST_URL); empty uses publicURL.
bootstrapAdmin¶
object
The bootstrap Admin, created at start while the Organization has no Admin.
bootstrapAdmin.email¶
string · default: ""
The email, also the login, of the bootstrap Admin (MUSTER_BOOTSTRAP_ADMIN_EMAIL).
bootstrapAdmin.passwordKey¶
string · default: ""
The key of existingSecret that holds the password of the bootstrap Admin (MUSTER_BOOTSTRAP_ADMIN_PASSWORD_FILE).
extraEnv¶
array · default: []
Extra environment variables of the Muster containers, as in a container spec.
resources¶
object · default: {}
The resource requests and limits of the Muster containers.
podSecurityContext¶
object · default: {"fsGroup":65532,"runAsGroup":65532,"runAsNonRoot":true,"runAsUser":65532,"seccompProfile":{"type":"RuntimeDefault"}}
The security context of the pods.
securityContext¶
object · default: {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true}
The security context of the Muster containers.
podAnnotations¶
object · default: {}
Extra annotations of the pods.
podLabels¶
object · default: {}
Extra labels of the pods.
nodeSelector¶
object · default: {}
The node selector of the pods.
tolerations¶
array · default: []
The tolerations of the pods.
affinity¶
object · default: {}
The affinity of the pods.
topologySpreadConstraints¶
array · default: []
The topology spread constraints of the pods.
priorityClassName¶
string · default: ""
The priority class of the pods; empty sets none.
serviceAccount¶
object
The service account of the pods.
serviceAccount.create¶
boolean · default: true
Creates the service account.
serviceAccount.name¶
string · default: ""
The name of the service account; empty uses the full name of the release when the chart creates it, and default otherwise.
serviceAccount.annotations¶
object · default: {}
Extra annotations of the service account.
serviceAccount.automountServiceAccountToken¶
boolean · default: false
Mounts the token of the service account into the pods; Muster does not call the Kubernetes API.
service¶
object
The Services of the three listeners.
service.app¶
object
The Service of the app listener: the UI and the API.
service.app.type¶
string · default: ClusterIP
The type of the Service.
service.app.port¶
integer · default: 8080
The port of the Service, also the container port and the listen port (MUSTER_LISTEN_APP).
service.app.annotations¶
object · default: {}
Extra annotations of the Service.
service.ingest¶
object
The Service of the ingest listener: ingestion, Heartbeats and messenger callbacks.
service.ingest.type¶
string · default: ClusterIP
The type of the Service.
service.ingest.port¶
integer · default: 8081
The port of the Service, also the container port and the listen port (MUSTER_LISTEN_INGEST).
service.ingest.annotations¶
object · default: {}
Extra annotations of the Service.
service.internal¶
object
The Service of the internal listener: the health checks and /metrics.
service.internal.type¶
string · default: ClusterIP
The type of the Service.
service.internal.port¶
integer · default: 8082
The port of the Service, also the container port and the listen port (MUSTER_LISTEN_INTERNAL).
service.internal.annotations¶
object · default: {}
Extra annotations of the Service.
ingress¶
object
The Ingresses of the app and ingest listeners; the internal listener is never exposed.
ingress.enabled¶
boolean · default: false
Creates the Ingresses.
ingress.className¶
string · default: ""
The class of the Ingresses; empty uses the cluster's default.
ingress.annotations¶
object · default: {}
Extra annotations of the Ingresses.
ingress.app¶
object · default: {"hosts":[],"tls":[]}
The hosts and tls of the Ingress of the app listener, as in an Ingress spec.
ingress.ingest¶
object · default: {"hosts":[],"tls":[]}
The hosts and tls of the Ingress of the ingest listener, as in an Ingress spec.
httpRoute¶
object
The Gateway API HTTPRoutes of the app and ingest listeners; the internal listener is never exposed.
httpRoute.enabled¶
boolean · default: false
Creates the HTTPRoutes.
httpRoute.parentRefs¶
array · default: []
The Gateways the HTTPRoutes attach to, as in an HTTPRoute spec.
httpRoute.annotations¶
object · default: {}
Extra annotations of the HTTPRoutes.
httpRoute.labels¶
object · default: {}
Extra labels of the HTTPRoutes.
httpRoute.app¶
object · default: {"hostnames":[]}
The hostnames of the HTTPRoute of the app listener.
httpRoute.ingest¶
object · default: {"hostnames":[]}
The hostnames of the HTTPRoute of the ingest listener.
serviceMonitor¶
object
A Prometheus Operator ServiceMonitor that scrapes /metrics on the internal listener.
serviceMonitor.enabled¶
boolean · default: false
Creates the ServiceMonitor.
serviceMonitor.interval¶
string · default: 30s
The scrape interval.
serviceMonitor.scrapeTimeout¶
string · default: 10s
The scrape timeout.
serviceMonitor.labels¶
object · default: {}
Extra labels of the ServiceMonitor, such as the one the Prometheus selects.
networkPolicy¶
object
A NetworkPolicy of the pods.
networkPolicy.enabled¶
boolean · default: false
Creates a NetworkPolicy that allows incoming traffic to the three listener ports only.
podDisruptionBudget¶
object
A PodDisruptionBudget of the pods.
podDisruptionBudget.enabled¶
boolean · default: false
Creates the PodDisruptionBudget.
podDisruptionBudget.maxUnavailable¶
integer or string · default: 1
The number or percentage of pods that may be unavailable at a time.
alerting¶
object
The chart's alert rules about Muster itself, for the Prometheus Operator and the VictoriaMetrics Operator; send the critical ones through an Alertmanager route that bypasses Muster.
alerting.runbookBaseURL¶
string · default: https://muster-io.github.io/muster
The documentation site the runbook_url of every rule points into: this URL, then the major.minor of the appVersion (latest for a development build), operations/runbooks/ and the name of the rule. Muster gets it too, as MUSTER_RUNBOOK_BASE_URL, for the runbook_url of its Internal alerts; set it here, not through extraEnv, so that the rules and the Internal alerts point into the same site.
alerting.jobSelector¶
string · default: ""
The label matchers that select Muster's series, part of every series selector of every rule, such as job="muster"; empty selects the job named after the chart, or after nameOverride when it is set, which is the job the ServiceMonitor scrapes into.
alerting.prometheusRule¶
object
A Prometheus Operator PrometheusRule with the rules.
alerting.prometheusRule.enabled¶
boolean · default: false
Creates the PrometheusRule.
alerting.prometheusRule.labels¶
object · default: {}
Extra labels of the PrometheusRule, such as the one the Prometheus selects rules by.
alerting.vmRule¶
object
A VictoriaMetrics Operator VMRule with the same rules.
alerting.vmRule.enabled¶
boolean · default: false
Creates the VMRule.
alerting.vmRule.labels¶
object · default: {}
Extra labels of the VMRule, such as the one the VMAlert selects rules by.
alerting.rules¶
object
Each rule: whether it is rendered, how long its condition holds before it fires (for) and its thresholds and windows.
alerting.rules.MusterDown¶
object
A scrape target of Muster is down (critical).
alerting.rules.MusterDown.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterDown.for¶
string · default: 2m
How long the target is down before the rule fires.
alerting.rules.MusterNoLeader¶
object
No replica is the Leader (critical).
alerting.rules.MusterNoLeader.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterNoLeader.for¶
string · default: 2m
How long no replica leads before the rule fires.
alerting.rules.MusterDeliveryFailing¶
object
A Destination has queued deliveries and no successful delivery (critical).
alerting.rules.MusterDeliveryFailing.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterDeliveryFailing.for¶
string · default: 5m
How long the condition holds before the rule fires.
alerting.rules.MusterDeliveryFailing.window¶
string · default: 10m
How far back a successful delivery counts.
alerting.rules.MusterDestinationBroken¶
object
A Destination is Broken (critical).
alerting.rules.MusterDestinationBroken.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterDestinationBroken.for¶
string · default: 5m
How long the Destination is Broken before the rule fires.
alerting.rules.MusterHeartbeatLost¶
object
An Integration is Heartbeat lost (critical).
alerting.rules.MusterHeartbeatLost.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterHeartbeatLost.for¶
string · default: 1m
How long the Integration is Heartbeat lost before the rule fires.
alerting.rules.MusterDeliverySlow¶
object
The 95th percentile of delivery latency is above its objective (warning).
alerting.rules.MusterDeliverySlow.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterDeliverySlow.for¶
string · default: 15m
How long delivery is slow before the rule fires.
alerting.rules.MusterDeliverySlow.seconds¶
number · default: 5
The latency objective in seconds.
alerting.rules.MusterDeliverySlow.window¶
string · default: 15m
The window of the latency percentile.
alerting.rules.MusterDeliveryQueueGrowing¶
object
A delivery queue is large and keeps growing (warning).
alerting.rules.MusterDeliveryQueueGrowing.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterDeliveryQueueGrowing.for¶
string · default: 15m
How long the queue keeps growing before the rule fires.
alerting.rules.MusterDeliveryQueueGrowing.size¶
integer · default: 100
The number of waiting deliveries above which a queue counts as large.
alerting.rules.MusterDeliveryQueueGrowing.window¶
string · default: 15m
The window over which the queue's growth is measured.
alerting.rules.MusterIngestBacklog¶
object
Processing falls behind ingestion (warning).
alerting.rules.MusterIngestBacklog.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterIngestBacklog.for¶
string · default: 5m
How long processing falls behind before the rule fires.
alerting.rules.MusterIngestBacklog.backlog¶
integer · default: 1000
The number of waiting Stored Snapshots above which the rule fires.
alerting.rules.MusterIngestBacklog.delaySeconds¶
number · default: 60
The 95th percentile of the processing delay, in seconds, above which the rule fires.
alerting.rules.MusterIngestBacklog.window¶
string · default: 5m
The window of the processing delay percentile.
alerting.rules.MusterIngestRejected¶
object
Oversized or unauthorized ingestion requests arrived (warning).
alerting.rules.MusterIngestRejected.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterIngestRejected.for¶
string · default: 0m
How long the condition holds before the rule fires.
alerting.rules.MusterIngestRejected.unauthorized¶
integer · default: 10
The number of unauthorized requests of an Integration within the window above which the rule fires; any oversized request fires it.
alerting.rules.MusterIngestRejected.window¶
string · default: 15m
The window in which rejected requests count.
alerting.rules.MusterTemplateError¶
object
Templates failed to render (warning).
alerting.rules.MusterTemplateError.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterTemplateError.for¶
string · default: 0m
How long the condition holds before the rule fires.
alerting.rules.MusterTemplateError.window¶
string · default: 15m
The window in which template errors count.
alerting.rules.MusterClockSkew¶
object
A replica's clock is off (warning).
alerting.rules.MusterClockSkew.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterClockSkew.for¶
string · default: 5m
How long the clock is off before the rule fires.
alerting.rules.MusterClockSkew.seconds¶
number · default: 2
The clock skew against the database, in seconds, above which the rule fires.
alerting.rules.MusterLoginFailures¶
object
A burst of failed sign-ins (warning).
alerting.rules.MusterLoginFailures.enabled¶
boolean · default: true
Renders the rule.
alerting.rules.MusterLoginFailures.for¶
string · default: 0m
How long the condition holds before the rule fires.
alerting.rules.MusterLoginFailures.failures¶
integer · default: 20
The number of failed sign-ins of one method within the window above which the rule fires.
alerting.rules.MusterLoginFailures.window¶
string · default: 10m
The window in which failed sign-ins count.
dashboard¶
object
The "Muster" Grafana dashboard.
dashboard.configMap¶
object
A ConfigMap with the dashboard for the Grafana sidecar, under the key muster.json.
dashboard.configMap.enabled¶
boolean · default: false
Creates the ConfigMap.
dashboard.configMap.labels¶
object · default: {"grafana_dashboard":"1"}
Labels of the ConfigMap besides the chart's; the Grafana sidecar finds dashboards by grafana_dashboard: "1" by default.
dashboard.configMap.annotations¶
object · default: {}
Annotations of the ConfigMap, such as the sidecar's folder annotation.
dashboard.grafanaDashboard¶
object
A Grafana Operator GrafanaDashboard that imports the dashboard from the ConfigMap; it needs dashboard.configMap.enabled.
dashboard.grafanaDashboard.enabled¶
boolean · default: false
Creates the GrafanaDashboard; rendering fails without dashboard.configMap.enabled.
dashboard.grafanaDashboard.instanceSelector¶
object · default: {"matchLabels":{"dashboards":"grafana"}}
The label selector of the Grafana instances that import the dashboard, as in a GrafanaDashboard spec.
dashboard.grafanaDashboard.folder¶
string · default: ""
The Grafana folder of the dashboard; empty leaves it to the operator.
dashboard.grafanaDashboard.allowCrossNamespaceImport¶
boolean · default: false
Lets Grafana instances in other namespaces import the dashboard.