Parameters

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

name

type

string

default

${_instance}

The name of the instance.

namespace

type

dict

default
namespace:
  name: syn-loki (1)
  create: true (2)
  metadata: {} (3)
1 The name of the namespace to deploy component into.
2 Should the namespace be created by the component.
3 Metadata to add to the namespace.

The namespace in which to deploy this component.

secrets

type

dict

default
secrets:
  loki-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.

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.

charts

type

dict

default
charts:
  loki: "<CURRENT VERSION>"

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

alerts

Configurations related to alerts.

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

helm_values:
  monitoring:
    serviceMonitor:
      enabled: true
    rules:
      enabled: true

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 loki-custom.rules.

alerts.patchRules

type

dict

default

See class/defaults.yml

example
patchRules:
  ignoreNames:
    - LokiContinuousTestNotRunningOnWrites
  patches:
    LokiInconsistentRuntimeConfig:
      for: 15m

This parameter allows users to patch or remove alerts provided by the upstream Loki 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.

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.

Example

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

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