theshire/kubernetes/apps/observability/thanos/app/helmrelease.yaml

128 lines
3.7 KiB
YAML
Raw Normal View History

---
# yaml-language-server: $schema=https://ks.hsn.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: thanos
spec:
interval: 30m
timeout: 15m
chart:
spec:
chart: thanos
2024-04-23 09:01:42 -05:00
version: 1.16.5
sourceRef:
kind: HelmRepository
2024-04-04 10:47:54 -05:00
name: stevehipwell
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
2024-04-04 10:47:54 -05:00
strategy: rollback
retries: 3
dependsOn:
- name: openebs-cluster
namespace: openebs-system
2024-04-01 10:27:11 -05:00
- name: dragonfly-operator
namespace: dragonfly-operator-system
- name: rook-ceph-cluster
namespace: rook-ceph
2024-04-04 10:47:54 -05:00
valuesFrom:
- targetPath: objstoreConfig.value.config.bucket
kind: ConfigMap
name: thanos-bucket
valuesKey: BUCKET_NAME
- targetPath: objstoreConfig.value.config.endpoint
kind: ConfigMap
name: thanos-bucket
valuesKey: BUCKET_HOST
- targetPath: objstoreConfig.value.config.region
kind: ConfigMap
name: thanos-bucket
valuesKey: BUCKET_REGION
- targetPath: objstoreConfig.value.config.access_key
kind: Secret
name: thanos-bucket
valuesKey: AWS_ACCESS_KEY_ID
- targetPath: objstoreConfig.value.config.secret_key
kind: Secret
name: thanos-bucket
valuesKey: AWS_SECRET_ACCESS_KEY
values:
objstoreConfig:
2024-04-04 10:47:54 -05:00
value:
type: s3
config:
2024-04-04 10:47:54 -05:00
insecure: true
additionalEndpoints:
- dnssrv+_grpc._tcp.kube-prometheus-stack-thanos-discovery.observability.svc.cluster.local
additionalReplicaLabels: ["__replica__"]
serviceMonitor:
enabled: true
2024-04-04 10:47:54 -05:00
compact:
enabled: true
2024-04-04 10:47:54 -05:00
extraArgs:
- --compact.concurrency=4
- --delete-delay=30m
2024-04-04 10:47:54 -05:00
- --retention.resolution-raw=14d
- --retention.resolution-5m=30d
- --retention.resolution-1h=60d
persistence: &persistence
enabled: true
2024-05-07 19:05:31 -05:00
storageClass: openebs-zfs
size: 10Gi
2024-04-08 12:11:55 -05:00
query:
2024-05-07 13:31:53 -05:00
replicas: 1
2024-04-08 12:11:55 -05:00
extraArgs: ["--alert.query-url=https://thanos.jahanson.tech"]
2024-04-04 10:47:54 -05:00
queryFrontend:
enabled: true
2024-05-07 13:31:53 -05:00
replicas: 1
2024-04-04 10:47:54 -05:00
extraEnv: &extraEnv
- name: THANOS_CACHE_CONFIG
valueFrom:
configMapKeyRef:
name: &configMap thanos-cache-configmap
key: cache.yaml
extraArgs: ["--query-range.response-cache-config=$(THANOS_CACHE_CONFIG)"]
ingress:
enabled: true
2024-04-07 09:52:32 -05:00
ingressClassName: internal-nginx
2024-04-04 10:47:54 -05:00
hosts:
2024-04-07 11:06:58 -05:00
- &host thanos.jahanson.tech
2024-04-04 10:47:54 -05:00
tls:
- hosts: [*host]
podAnnotations: &podAnnotations
configmap.reloader.stakater.com/reload: *configMap
rule:
enabled: true
2024-05-07 13:31:53 -05:00
replicas: 1
2024-04-04 10:47:54 -05:00
extraArgs: ["--web.prefix-header=X-Forwarded-Prefix"]
alertmanagersConfig:
value: |-
alertmanagers:
- api_version: v2
static_configs:
- dnssrv+_http-web._tcp.alertmanager-operated.observability.svc.cluster.local
rules:
value: |-
groups:
- name: PrometheusWatcher
rules:
- alert: PrometheusDown
annotations:
summary: A Prometheus has disappeared from Prometheus target discovery
expr: absent(up{job="kube-prometheus-stack-prometheus"})
for: 5m
labels:
severity: critical
persistence: *persistence
storeGateway:
2024-05-07 13:31:53 -05:00
replicas: 1
2024-04-04 10:47:54 -05:00
extraEnv: *extraEnv
extraArgs: ["--index-cache.config=$(THANOS_CACHE_CONFIG)"]
persistence: *persistence
2024-05-07 13:31:53 -05:00
podAnnotations: *podAnnotations