mirror of
https://github.com/vhaudiquet/homeprod.git
synced 2026-07-28 16:40:49 +00:00
167 lines
7.8 KiB
YAML
167 lines
7.8 KiB
YAML
# victoria-metrics-k8s-stack Helm values
|
|
# The chart installs the VictoriaMetrics operator + CRDs and creates VMSingle,
|
|
# VMAgent, VMAlert, VMAlertmanager CRs.
|
|
# ---------------------------------------------------------------------------
|
|
# VictoriaMetrics single-binary (the metrics database)
|
|
# ---------------------------------------------------------------------------
|
|
vmsingle:
|
|
enabled: true
|
|
spec:
|
|
retentionPeriod: 7d
|
|
storage:
|
|
storageClassName: longhorn
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 20Gi
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: "1"
|
|
memory: 1Gi
|
|
# ---------------------------------------------------------------------------
|
|
# vmagent — scrapes node-exporter, kube-state-metrics, kubelet, etc.
|
|
# The docker host runs its own vmagent that remote_writes through
|
|
# vm-internal.lan (the Traefik Ingress → this vmsingle).
|
|
# ---------------------------------------------------------------------------
|
|
vmagent:
|
|
enabled: true
|
|
spec:
|
|
selectAllByDefault: true
|
|
scrapeInterval: 20s
|
|
tolerations:
|
|
- key: ENC[AES256_GCM,data:5DBp0fPnVYyX,iv:BGtxkvDHxjVaRZbnH5esSpWs+krJlkXDoGPHZ3fmpSE=,tag:5tuw2/B7Sru3xxep/Rj1cw==,type:str]
|
|
value: ENC[AES256_GCM,data:6I45YT4WEts=,iv:u1kUaM/4v5Aw/RSjvffKJ3MWBrOvJ3GUnK2JWJaY6yM=,tag:WNvjO4QYm5uqTTLx905HEQ==,type:str]
|
|
operator: Equal
|
|
effect: NoSchedule
|
|
- key: ENC[AES256_GCM,data:3oTjA4tZt+JSHQoP8Oa8zVjzL1Nt5TBqB6Lr2q4y4hxniGWvtg==,iv:3zCNYPib953OJ4vynI8kWb5wr8tTm2Jtq5GNsV+Xy3Y=,tag:ie4TmhQZA5M6x5wcxuiRTQ==,type:str]
|
|
operator: Exists
|
|
effect: NoSchedule
|
|
# ---------------------------------------------------------------------------
|
|
# kube-state-metrics + node-exporter (metrics sources)
|
|
# ---------------------------------------------------------------------------
|
|
kube-state-metrics:
|
|
enabled: true
|
|
prometheus-node-exporter:
|
|
enabled: true
|
|
# ---------------------------------------------------------------------------
|
|
# Grafana (UI) — served behind ingress at grafana.lan.
|
|
# ---------------------------------------------------------------------------
|
|
grafana:
|
|
enabled: true
|
|
persistence:
|
|
enabled: true
|
|
storageClassName: longhorn
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
size: 5Gi
|
|
adminUser: admin
|
|
# SOPS encrypts this when the file is processed.
|
|
adminPassword: ENC[AES256_GCM,data:Uz3XzmG4sMyr3KeGab8mMzURfPSD+w==,iv:AqeXRhkLK9Ld599fyvXq6kkPxzFOGtWJIHCbWlqig0k=,tag:L48h8xb+iplaCa2e9yawfg==,type:str]
|
|
# Provision a Loki datasource alongside the chart's default VictoriaMetrics
|
|
# datasource so metric/log correlation works in one UI.
|
|
datasources:
|
|
datasources.yaml:
|
|
apiVersion: ENC[AES256_GCM,data:jA==,iv:rpFw7Sk5ThPCllX1feOQnLnHV7ZA4EKTO0Cm6azvVFc=,tag:jYPYL5FY8VLUv+cXl9N5Qg==,type:int]
|
|
datasources:
|
|
- name: ENC[AES256_GCM,data:0BZ7uw==,iv:ggpajZxObJrc3jSMLFVJO60/6sZjdduGT4R2IwojGuM=,tag:kIT1dgnfmQagEUqHzvv6qw==,type:str]
|
|
type: ENC[AES256_GCM,data:7ozGiw==,iv:fAidTjPWFBnLzach+7Y3z0ftd4hXuE8uCg15Ggl3eJE=,tag:3alEggHcBOibye7FH3Rzcg==,type:str]
|
|
url: ENC[AES256_GCM,data:zXAzdCQhS6J5LBuidX9hVS6l5sYoaPg2s5NxigJo5B4oZEY13DLTrQH2ywt8SVQl,iv:HebXL7GfMeK93oSzlUZvUZm4Sy9lfFqnSugfzzTLHwA=,tag:RQqF74Xa8eovP8YLl/Vjhg==,type:str]
|
|
access: ENC[AES256_GCM,data:5NoiZFo=,iv:qGn8TMfhwpA2QV6E9BgiEOU+qierJlOm7oPXc8dea4A=,tag:pgXhCiX/7TrM8cnEhgN9YA==,type:str]
|
|
isDefault: ENC[AES256_GCM,data:RPVCFe0=,iv:kDTdl9Th4vpdn6GH/N3+wdeV9hAxQg0hC8SLyj+mvyw=,tag:dw3ouN8HZ9yHNBsSdwPPvA==,type:bool]
|
|
jsonData:
|
|
maxLines: ENC[AES256_GCM,data:DD1hcw==,iv:liPXxvyrNu8NR6e9GFHto8LDNqG03GjYZP2hY+90rTg=,tag:eW+iejjRuAxOltXN6cz/+g==,type:int]
|
|
ingress:
|
|
enabled: true
|
|
ingressClassName: traefik
|
|
annotations:
|
|
external-dns.alpha.kubernetes.io/enabled: "true"
|
|
hosts:
|
|
- grafana.lan
|
|
path: /
|
|
pathType: Prefix
|
|
tls: []
|
|
# ---------------------------------------------------------------------------
|
|
# vmalert — evaluates VMRule CRs against VictoriaMetrics, forwards firing
|
|
# alerts to Alertmanager. selectAllByDefault picks up all VMRules in the
|
|
# namespace (including our vmalert-rules.yaml VMRule CR).
|
|
# ---------------------------------------------------------------------------
|
|
vmalert:
|
|
enabled: true
|
|
spec:
|
|
selectAllByDefault: true
|
|
evaluationInterval: 20s
|
|
notifiers:
|
|
- url: http://vm-victoria-metrics-k8s-stack-alertmanager.observability.svc.cluster.local:9093
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
cpu: 200m
|
|
memory: 128Mi
|
|
# ---------------------------------------------------------------------------
|
|
# Alertmanager — 1 replica; inline config with a single n8n webhook receiver.
|
|
# n8n runs on the docker host and fans out to email/Telegram/whatever.
|
|
# ---------------------------------------------------------------------------
|
|
alertmanager:
|
|
enabled: true
|
|
spec:
|
|
replicaCount: 1
|
|
port: "9093"
|
|
selectAllByDefault: true
|
|
storage:
|
|
storageClassName: longhorn
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 2Gi
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
limits:
|
|
cpu: 200m
|
|
memory: 128Mi
|
|
config:
|
|
route:
|
|
receiver: n8n-webhook
|
|
group_wait: 30s
|
|
group_interval: 5m
|
|
repeat_interval: 4h
|
|
receivers:
|
|
- name: n8n-webhook
|
|
webhook_configs:
|
|
- url: http://n8n.lan/webhook/observability-alert
|
|
send_resolved: true
|
|
sops:
|
|
lastmodified: "2026-07-28T16:09:30Z"
|
|
mac: ENC[AES256_GCM,data:otB8gmzb52RyF8D3sk2OafpDBeoDCn3yd7gV/MpcD5Ib3vz0uyQxDgArfIfec75Ma+ttUBKnrIiIDjIiwqaufxZCFP8cQBQ+lFkmFYyQ2i1+2yVxwopevnBq/AAtE+gyf3Xlu3U8YMvTtJJgufETtoRq3BqCm72NBkaJP+abHUg=,iv:/pLrWw/+eqPpeJmdwVaMy51QTUilBFrZ+FFiSASxRok=,tag:mCcfhs1lQVf+oAm7KJmqrw==,type:str]
|
|
pgp:
|
|
- created_at: "2026-07-28T16:09:30Z"
|
|
enc: |-
|
|
-----BEGIN PGP MESSAGE-----
|
|
|
|
hQIMA7uy4qQr71wiAQ//bRxO8eMLjEWlkKtPuDTux1JXnnNudvjlteGRTTCxejq+
|
|
qAzpNX74stIvxPoZRGEWw5lpyGAsTnh+8blGhGO8G9OXJER5BG+P6jylz90cHZct
|
|
/ky+GDigqwuqA5aO0hw5KZW4IqQlJqV1UUlMuW6GZl6TXChfXwCHX60/FI0x7eKZ
|
|
8q93VXO+CEQh1In9W8roZ6cRUjSG1MvDM43assafm+/169T+XXsxXvqDBMEWJOQq
|
|
8Dn7MdSQPbxeZgCz8KHtXWL1YgSHYKF/sQ/6490qtezGdjonYSOt4ALoSUqQr34d
|
|
D05VuGxnjWMa7GfxgLAUmF5NFy20lLF/67G4dS7tlkhg5g8jhXjN7jqQ1V+8qedE
|
|
RwQ2jL1KiODaiRYFoA2f3KiupFlezNhpYm0Ulg8E+mbDJihWDPsmHCTvUvk95LM1
|
|
DCPy6XSS/GDiTZjgTuO1/S/lplLS+v+Zt0V68d5XrQiJuI8XDgExCcvLYtIG4Hk8
|
|
lJ5CdsGIPFvYdqPz1c9zF6qAasgF5jECAO+OmJzgYugUBLd78U6r3bkmAmrT3jLM
|
|
g+dpSZx6A3htCzC4zLPiE54vFDSVzKNzm1yhDxRlU/z9r+aU44ZZvGlPQwvWp5JU
|
|
RO7X0IKQ1fAV71bZW16lwxoxfIHpKoJqQJI2xhNyC7VuBvTI6gG4rAzte0v1/G7S
|
|
XgGisRgEY3EHnpC20OFo2nx/7YinZadXekjMcxo/qpP2u/T6nKVY3sEGz9wzzhsJ
|
|
7jRNdjWwrEOoZnsHVkeCz8hevoHf+kGaz+ji0ld1DisY8bCPNXSZPkGBuiA9VEQ=
|
|
=CWsw
|
|
-----END PGP MESSAGE-----
|
|
fp: DC6910268E657FF70BA7EC289974494E76938DDC
|
|
encrypted_regex: ^(password|value|ssh-key|api-key|user|username|privateKey|clientSecret|clientId|apiKey|extraArgs.*|.*Secret.*|extraEnvVars|.*SECRET.*|.*secret.*|key|.*Password|.*\.ya?ml)$
|
|
version: 3.10.2
|