--- # yaml-language-server: $schema=https://kubernetes-schemas.devbu.io/helmrelease_v2beta1.json apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: name: loki namespace: monitoring spec: interval: 15m chart: spec: chart: loki version: 5.3.1 sourceRef: kind: HelmRepository name: grafana namespace: flux-system maxHistory: 3 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 uninstall: keepHistory: false values: loki: structuredConfig: auth_enabled: false server: log_level: info http_listen_port: 3100 grpc_listen_port: 9095 memberlist: join_members: ["loki-memberlist"] limits_config: retention_period: 14d enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h max_cache_freshness_per_query: 10m split_queries_by_interval: 15m ingestion_rate_mb: 8 ingestion_burst_size_mb: 16 schema_config: configs: - from: "2021-08-01" store: boltdb-shipper object_store: s3 schema: v11 index: prefix: loki_index_ period: 24h common: path_prefix: /var/loki replication_factor: 3 storage: s3: s3: null insecure: true s3forcepathstyle: true ring: kvstore: store: memberlist ruler: enable_api: true enable_alertmanager_v2: true alertmanager_url: http://kube-prometheus-stack-alertmanager:9093 storage: type: local local: directory: /rules rule_path: /tmp/scratch ring: kvstore: store: memberlist distributor: ring: kvstore: store: memberlist compactor: working_directory: /var/loki/boltdb-shipper-compactor shared_store: s3 compaction_interval: 10m retention_enabled: true retention_delete_delay: 2h retention_delete_worker_count: 150 ingester: max_chunk_age: 1h lifecycler: ring: kvstore: store: memberlist analytics: reporting_enabled: false gateway: enabled: true replicas: 3 affinity: | podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchLabels: {{- include "loki.gatewaySelectorLabels" . | nindent 12 }} topologyKey: kubernetes.io/hostname ingress: enabled: true ingressClassName: "nginx" annotations: hajimari.io/enable: "false" hosts: - host: &host "loki.${SECRET_CLUSTER_DOMAIN}" paths: - path: / pathType: Prefix tls: - hosts: - *host write: replicas: 3 affinity: | podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchLabels: {{- include "loki.writeSelectorLabels" . | nindent 12 }} topologyKey: kubernetes.io/hostname persistence: size: 10Gi storageClass: rook-ceph-block read: replicas: 3 affinity: | podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchLabels: {{- include "loki.readSelectorLabels" . | nindent 12 }} topologyKey: kubernetes.io/hostname extraVolumeMounts: - name: loki-rules mountPath: /rules/fake - name: loki-rules-tmp mountPath: /tmp/scratch - name: loki-tmp mountPath: /tmp/loki-tmp extraVolumes: - name: loki-rules emptyDir: {} - name: loki-rules-tmp emptyDir: {} - name: loki-tmp emptyDir: {} persistence: size: 10Gi storageClass: rook-ceph-block monitoring: serviceMonitor: enabled: false metricsInstance: enabled: false selfMonitoring: enabled: false grafanaAgent: installOperator: false lokiCanary: enabled: false test: enabled: false valuesFrom: - kind: ConfigMap name: loki-chunks-bucket valuesKey: BUCKET_NAME targetPath: loki.structuredConfig.common.storage.s3.bucketnames - kind: ConfigMap name: loki-chunks-bucket valuesKey: BUCKET_HOST targetPath: loki.structuredConfig.common.storage.s3.endpoint - kind: Secret name: loki-chunks-bucket valuesKey: AWS_ACCESS_KEY_ID targetPath: loki.structuredConfig.common.storage.s3.access_key_id - kind: Secret name: loki-chunks-bucket valuesKey: AWS_SECRET_ACCESS_KEY targetPath: loki.structuredConfig.common.storage.s3.secret_access_key