nameOverride: loki-ha
loki:
  image:
    registry: 557537366020.dkr.ecr.us-west-2.amazonaws.com
    repository: third-party/grafana/loki
    tag: "3.5.3"
  auth_enabled: false
  storage:
    bucketNames:
      chunks: loki-prod-eu-central-1-o11y
      ruler: loki-prod-eu-central-1-o11y
      admin: loki-prod-eu-central-1-o11y
    type: s3
    s3:
      region: eu-central-1
  storage_config:
    boltdb_shipper:
      active_index_directory: /var/loki/boltdb-shipper-active
      cache_location: /var/loki/boltdb-shipper-cache
      cache_ttl: 24h
    tsdb_shipper:
      active_index_directory: /var/loki/tsdb-shipper-active
      cache_location: /var/loki/tsdb-shipper-cache
      cache_ttl: 24h
    aws:
      s3: s3://eu-central-1/loki-prod-eu-central-1-o11y
  server:
    grpc_server_max_recv_msg_size: 104857600
    grpc_server_max_send_msg_size: 104857600
  limits_config:
    allow_structured_metadata: false
    ingestion_rate_mb: 120
    ingestion_burst_size_mb: 240
    per_stream_rate_limit: 20MB
    per_stream_rate_limit_burst: 120MB
    max_entries_limit_per_query: 1000
    max_global_streams_per_user: 0
    retention_period: 2160h # 90 days
    max_query_length: 7d1h
    max_line_size: 0
    max_label_names_per_series: 30
  commonConfig:
    replication_factor: 1
  schemaConfig:
    configs:
      - from: 2023-08-12
        store: boltdb-shipper
        object_store: s3
        schema: v12
        index:
          prefix: loki_index_
          period: 24h
      - from: 2025-05-22
        store: tsdb
        object_store: s3
        schema: v13
        index:
          prefix: loki_tsdb_index_
          period: 24h
  rulerConfig:
    external_labels:
      o11y_k8s_id: o11y-prod-regional-eu-central-1
      cloudProvider: aws
      component: observability-regional-server
    storage:
      type: local
      local:
        directory: /rules
    rule_path: /tmp/scratch
    alertmanager_url: http://alertmanager-operated.self-monitoring:9093
    ring:
      kvstore:
        store: inmemory
    enable_api: true
  compactor:
    retention_enabled: true
    delete_request_store: s3
    working_directory: /var/loki/retention
    compaction_interval: 10m
    retention_delete_delay: 2h
    retention_delete_worker_count: 100
  index_gateway:
    mode: ring
serviceAccount:
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::557537366020:role/loki-prod-role
write:
  replicas: 2
  autoscaling:
    enabled: true
    minReplicas: 2
    maxReplicas: 4
    targetCPUUtilizationPercentage: 100
    targetMemoryUtilizationPercentage: 80
    behavior:
      scaleUp:
        policies:
          - type: Pods
            value: 1
            periodSeconds: 900
        stabilizationWindowSeconds: 300
      scaleDown:
        policies:
          - type: Pods
            value: 1
            periodSeconds: 1800
        stabilizationWindowSeconds: 3600
  resources:
    limits:
      cpu: 2000m
      memory: 8Gi
    requests:
      cpu: 900m
      memory: 2Gi
  nodeSelector:
    node_type: worker
  persistence:
    enableStatefulSetAutoDeletePVC: true
    size: 50Gi
    storageClass: prometheus.ssd
read:
  replicas: 2
  autoscaling:
    enabled: true
    minReplicas: 2
    maxReplicas: 4
    targetCPUUtilizationPercentage: 1600
    targetMemoryUtilizationPercentage: 640
    behavior:
      scaleDown:
        stabilizationWindowSeconds: 3600
        policies:
          - type: Pods
            value: 1
            periodSeconds: 1800
      scaleUp:
        stabilizationWindowSeconds: 600
  resources:
    limits:
      cpu: 2000m
      memory: 8Gi
    requests:
      cpu: 100m
      memory: 1Gi
  nodeSelector:
    node_type: worker
  persistence:
    size: 10Gi
    storageClass: prometheus.ssd
backend:
  replicas: 2
  resources:
    limits:
      cpu: 2000m
      memory: 8Gi
    requests:
      cpu: 50m
      memory: 256Mi
  nodeSelector:
    node_type: worker
  persistence:
    size: 50Gi
    storageClass: prometheus.ssd
sidecar:
  rules:
    label: loki_rule
    labelValue: "true"
    folder: /rules/fake
test:
  enabled: false
lokiCanary:
  enabled: false
gateway:
  enabled: false
ruler:
  enabled: true # In order to enable rulerConfig
  replicas: 0
resultsCache:
  enabled: false
chunksCache:
  enabled: false
