apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: loki namespace: argocd spec: project: homelab source: repoURL: https://grafana.github.io/helm-charts chart: loki targetRevision: 6.52.0 helm: values: | deploymentMode: SingleBinary # Diese Sektionen müssen explizit auf 0, # damit sie den SingleBinary Modus nicht blockieren backend: replicas: 0 read: replicas: 0 write: replicas: 0 loki: auth_enabled: false commonConfig: replication_factor: 1 storage: type: 'filesystem' schemaConfig: configs: - from: "2024-01-01" store: tsdb object_store: filesystem schema: v13 index: prefix: index_ period: 24h limits_config: # Erlaubt höhere Spitzen beim Senden (Burst) ingestion_burst_size_mb: 20 # Erhöht die kontinuierliche Rate (Standard ist oft 4MB) ingestion_rate_mb: 10 # Erlaubt größere Log-Pakete max_line_size: 256kb # Verhindert Fehlermeldungen bei "alten" Logs aus dem Backlog reject_old_samples: true reject_old_samples_max_age: 168h # Aktiviert das Löschen nach Zeit retention_period: 30d # Behalte Logs für 30 Tage compactor: working_directory: /var/loki/compactor # Der Compactor löscht die Daten physisch vom NFS retention_enabled: true delete_request_cancel_period: 24h delete_request_store: filesystem singleBinary: replicas: 1 persistence: enabled: true size: 10Gi storageClass: nfs-csi gateway: enabled: false # Ressourcen-Optimierung für das Homelab resultsCache: enabled: false chunksCache: enabled: false destination: server: https://kubernetes.default.svc namespace: kube-prometheus-stack syncPolicy: automated: prune: true selfHeal: true --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: loki-ingest-route namespace: kube-prometheus-stack spec: parentRefs: - name: shared-gateway namespace: default hostnames: - "loki.k8s.hnrx.net" rules: - matches: - path: type: PathPrefix value: / backendRefs: - name: loki port: 3100