131 lines
2.9 KiB
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}
|