Files
observability/loki/helm-values.yaml
Mayne0213 2e6b4cecbf FEAT(loki): switch storage backend to MinIO S3
- Change storage type from filesystem to s3
- Configure MinIO endpoint and bucket settings
- Add S3 credentials from minio-s3-credentials secret
- Update schema config to use s3 object_store
2026-01-09 21:42:35 +09:00

123 lines
2.4 KiB
YAML

# Loki Helm Values
# Chart: https://grafana.github.io/helm-charts
# Single binary deployment with S3 (MinIO) storage
loki:
# Use S3 storage (MinIO)
storage:
type: s3
s3:
endpoint: minio.minio.svc.cluster.local:9000
s3ForcePathStyle: true
insecure: true
bucketNames:
chunks: loki
ruler: loki
admin: loki
# Single binary mode with 1 replica
commonConfig:
replication_factor: 1
path_prefix: /var/loki
# Schema config - S3 backend
schemaConfig:
configs:
- from: "2024-01-01"
store: tsdb
object_store: s3
schema: v13
index:
prefix: index_
period: 24h
# Limits
limits_config:
retention_period: 168h # 7 days
ingestion_rate_mb: 10
ingestion_burst_size_mb: 20
max_streams_per_user: 10000
# Auth disabled for simplicity
auth_enabled: false
# Use single binary deployment (simpler)
deploymentMode: SingleBinary
singleBinary:
replicas: 1
persistence:
enabled: true
storageClass: local-path
size: 10Gi
# Run on master node for stability
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
nodeSelector:
node-role.kubernetes.io/control-plane: "true"
resources:
requests:
cpu: 23m
memory: 462Mi
limits:
memory: 462Mi
# MinIO S3 credentials from secret
extraEnv:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: minio-s3-credentials
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: minio-s3-credentials
key: AWS_SECRET_ACCESS_KEY
# Disable components not needed in single binary mode
backend:
replicas: 0
read:
replicas: 0
write:
replicas: 0
# Gateway disabled (direct access)
gateway:
enabled: false
# Disable all caching (use simple mode)
chunksCache:
enabled: false
resultsCache:
enabled: false
# Loki Canary - top level config
lokiCanary:
enabled: true
tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
# Monitoring
monitoring:
selfMonitoring:
enabled: false
grafanaAgent:
installOperator: false
serviceMonitor:
enabled: true
interval: 60s
labels:
release: prometheus
relabelings:
- targetLabel: cluster
replacement: "mayne-cluster"
# Test disabled
test:
enabled: false