Parameters

The parent key for all of the following parameters is mimir.

The component allows multi instantiation.

The underlying Helm chart can be found here.

namespace.name

type

string

default

syn-mimir

The namespace in which to deploy this component.

namespace.create

type

boolean

default

true

Wether to create the namespace given by namespace.name.

namespace.metadata

type

dict

default

{}

example

{"labels": {"organization": "bar"}}

Additional metadata to add to the namespace.

secrets

type

dict

default
mimir-bucket-secret:
  stringData:
    S3_ACCESS_KEY_ID: null
    S3_SECRET_ACCESS_KEY: null
    S3_ENDPOINT: null

A dict of secrets to create in the namespace. The key is the name of the secret, the value is the content of the secret. The value must be a dict with a key stringData which is a dict of key/value pairs to add to the secret.

Holds the secrets for the S3 bucket by default.

alerts

Configurations related to alerts.

Upstream service monitors, rules, and alerts can be enabled by setting the following Helm values:

helm_values:
  metaMonitoring:
    serviceMonitor:
      enabled: true
    prometheusRule:
      enabled: true
      mimirAlerts: true
      mimirRules: true

alerts.patchRules

type

dict

default

See class/defaults.yml

example
patchRules:
  ignoreNames:
    - MimirContinuousTestNotRunningOnWrites
  patches:
    MimirInconsistentRuntimeConfig:
      for: 15m

This parameter allows users to patch or remove alerts provided by the upstream Mimir chart.

The values in the ignoreNames parameter correspond to the field alert of the alert to ignore.

The keys in the patches parameter correspond to the field alert of the alert to patch. The component expects valid partial Prometheus alert rule objects as values.

The provided values aren’t validated, they’re applied to the corresponding upstream alert as-is.

alerts.additionalRules

type

dict

default

See class/defaults.yml

example
additionalRules:
  "alert:CustomTestAlert":
    expr: vector(1) == 0
    for: 1h
    annotations:
      summary: Test alert
    labels:
      severity: warning

This parameter allows users to configure additional alerting and recording rules. All rules defined in this parameter will be added to rule group mimir-custom.rules.

globalNodeSelector

type

dict

default

{}

Node selector configuration which is used for each component’s nodeSelector field in parameter helm_values.

This value is used verbatim as a Kubernetes node selector.

nginx_resolver_override

type

string

default

""

example

"172.30.0.10"

If set, the nginx resolver is set to this value. This can be used to insert the static IP of the cluster DNS server, which will fix the case when the resolved DNS service IP changes, but nginx keeps the old IP.

charts

type

dict

default
mimir-distributed: "<CURRENT VERSION>"

Holds the reference to the used version of the charts. See class/defaults.yml for the current version.

helm_values

type

dict

default

see class/defaults.yml

Holds the values for the helm chart.

The defaults are close to the upstream defaults, with HA enabled, and the bucket secret added. Replicas and resource limits/requests are taken from the small.yaml recommended production values.

The read path, especially the store-gateway, doesn’t have HA enabled. There is no data loss, but there is a performance impact.

See Planning capacity, small.yaml, and large.yaml for upstream sizing recommendations.

Components describes what the components enabled by this Helm chart do.

Ingester failure and data loss describes the implications of a HA setup.

Example

namespace:
  name: example-mimir
  create: true
  metadata:
    labels:
      example.com/organization: example

secrets:
  mimir-nginx-htpasswd:
    stringData:
      .htpasswd: "?{vaultkv:${cluster:tenant}/${cluster:name}/example-mimir/htpasswd}"
  mimir-bucket-secret:
    stringData:
      S3_ACCESS_KEY_ID: "?{vaultkv:${cluster:tenant}/${cluster:name}/example-mimir/s3_access_key}"
      S3_SECRET_ACCESS_KEY: "?{vaultkv:${cluster:tenant}/${cluster:name}/example-mimir/s3_secret_key}"
      S3_ENDPOINT: objects.s3.example.com

helm_values:
  nginx:
    basicAuth:
      enabled: true
      existingSecret: mimir-nginx-htpasswd
    ingress:
      annotations:
        cert-manager.io/cluster-issuer: letsencrypt-production
      enabled: true
      hosts:
        - host: mimir.example.com
          paths:
            - path: /
              pathType: Prefix
      tls:
        - secretName: example-mimir-tls
          hosts:
            - mimir.example.com