veda/apps/monitoring/thanos/values.yaml

131 lines
2.9 KiB
YAML

thanos:
# Object storage configuration
objstoreConfig:
create: false # We create the secret via extraObjects
name: thanos-objstore-secret
key: objstore.yml
# Image configuration
image:
registry: quay.io
repository: thanos/thanos
tag: v0.40.1
# Query component
query:
enabled: true
replicaCount: 2
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 512Mi
stores:
- dnssrv+_grpc._tcp.thanos-storegateway.monitoring.svc.cluster.local
- dnssrv+_grpc._tcp.thanos-receive.monitoring.svc.cluster.local
# Query Frontend
queryFrontend:
enabled: true
replicaCount: 1
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 256Mi
# Store Gateway
storegateway:
enabled: true
replicaCount: 1
persistence:
enabled: true
storageClass: ceph-block
size: 10Gi
resources:
requests:
cpu: 100m
memory: 512Mi
limits:
memory: 1Gi
# Compactor
compactor:
enabled: true
persistence:
enabled: true
storageClass: ceph-block
size: 10Gi
retentionResolutionRaw: 14d
retentionResolution5m: 90d
retentionResolution1h: 2y
resources:
requests:
cpu: 100m
memory: 512Mi
limits:
memory: 1Gi
extraFlags:
- --deduplication.replica-label=prometheus_replica
- --deduplication.replica-label=replica
- --downsampling.disable=false
- --compact.enable-vertical-compaction
# Receive (for remote write from Prometheus)
receive:
enabled: true
replicaCount: 1
persistence:
enabled: true
storageClass: ceph-block
size: 20Gi
resources:
requests:
cpu: 100m
memory: 512Mi
limits:
memory: 1Gi
# Metrics and caching
# Note: Memcached configuration would be added here if using external caching
# Metrics
metrics:
enabled: true
serviceMonitor:
enabled: true
# S3 Bucket and credentials provisioning
extraObjects:
# ObjectBucketClaim for Thanos metrics
- apiVersion: objectbucket.io/v1alpha1
kind: ObjectBucketClaim
metadata:
name: thanos-metrics
namespace: monitoring
spec:
bucketName: thanos-metrics
storageClassName: ceph-bucket
additionalConfig:
maxSize: "500Gi"
# Secret with S3 credentials (will be populated by Rook)
# This is a placeholder - actual credentials come from the OBC
- apiVersion: v1
kind: Secret
metadata:
name: thanos-objstore-secret
namespace: monitoring
type: Opaque
stringData:
objstore.yml: |-
type: S3
config:
bucket: thanos-metrics
endpoint: rook-ceph-rgw-ceph-objectstore.rook-ceph.svc:80
insecure: true
access_key: ${AWS_ACCESS_KEY_ID}
secret_key: ${AWS_SECRET_ACCESS_KEY}