k3s/monitoring/stack/monitoring-stack.yaml

106 lines
3.5 KiB
YAML
Raw Normal View History

2026-03-09 19:29:02 -04:00
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: kube-prometheus-stack
2026-06-11 14:35:47 -04:00
namespace: kube-system
2026-03-09 19:29:02 -04:00
spec:
chart: kube-prometheus-stack
repo: https://prometheus-community.github.io/helm-charts
targetNamespace: monitoring
createNamespace: true
valuesContent: |-
2026-03-17 18:28:38 -04:00
kubeControllerManager:
enabled: false
kubeScheduler:
enabled: false
kubeProxy:
enabled: false
2026-03-09 19:29:02 -04:00
prometheus:
prometheusSpec:
serviceMonitorSelectorNilUsesHelmValues: false
retention: 10d
externalUrl: http://prometheus.k3s.home.nest
2026-03-09 19:29:02 -04:00
storageSpec:
volumeClaimTemplate:
2026-06-11 14:35:47 -04:00
metadata:
# Automatically opt this volume into your backup/snapshot rules
labels:
recurring-job.longhorn.io/source: "enabled"
recurring-job-group.longhorn.io/app-config-group: "enabled"
2026-03-09 19:29:02 -04:00
spec:
2026-06-11 14:35:47 -04:00
storageClassName: "longhorn" # Switch to longhorn dynamic storage
accessModes: ["ReadWriteOnce"]
2026-03-09 19:29:02 -04:00
resources:
requests:
storage: 20Gi
alertmanager:
2026-03-17 18:28:38 -04:00
config:
global:
resolve_timeout: 5m
route:
group_by: ['alertname', 'cluster', 'service']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
2026-06-11 14:35:47 -04:00
receiver: 'discord-notifications'
2026-03-17 18:28:38 -04:00
routes:
- matchers:
- alertname = Watchdog
receiver: 'null'
inhibit_rules:
- source_matchers: [severity="critical"]
target_matchers: [severity="warning"]
equal: ['alertname', 'dev', 'instance']
receivers:
- name: 'null'
- name: 'discord-notifications'
discord_configs:
- webhook_url: 'https://discord.com/api/webhooks/1483240068197126300/zI_k1nEc8U8Fd0hiJc7gBG0TjklblmYrSDvpbTMiposGc32_0UREpLjch1FggFvluV3D'
send_resolved: true
title: '{{ .Status | toUpper }}: {{ .GroupLabels.alertname }}'
message: |-
**Summary:** {{ range .Alerts }}{{ .Annotations.summary }}{{ end }}
**Description:** {{ range .Alerts }}{{ .Annotations.description }}{{ end }}
**Severity:** {{ range .Alerts }}{{ .Labels.severity }}{{ end }}
2026-03-09 19:29:02 -04:00
alertmanagerSpec:
externalUrl: http://alertmanager.k3s.home.nest
2026-03-09 19:29:02 -04:00
storage:
volumeClaimTemplate:
2026-06-11 14:35:47 -04:00
metadata:
labels:
recurring-job.longhorn.io/source: "enabled"
recurring-job-group.longhorn.io/app-config-group: "enabled"
2026-03-09 19:29:02 -04:00
spec:
2026-06-11 14:35:47 -04:00
storageClassName: "longhorn" # Switch to longhorn dynamic storage
accessModes: ["ReadWriteOnce"]
2026-03-09 19:29:02 -04:00
resources:
requests:
storage: 2Gi
grafana:
admin:
existingSecret: "grafana-admin-credentials"
userKey: admin-user
passwordKey: admin-password
podSecurityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
initChownData:
enabled: false
grafana.ini:
server:
domain: grafana.k3s.home.nest
root_url: http://grafana.k3s.home.nest
2026-03-09 19:29:02 -04:00
serve_from_sub_path: false
persistence:
enabled: true
type: pvc
2026-06-11 14:35:47 -04:00
storageClassName: "longhorn" # Switch to longhorn dynamic storage
2026-03-09 19:29:02 -04:00
size: 5Gi
2026-06-11 14:35:47 -04:00
labels:
recurring-job.longhorn.io/source: "enabled"
recurring-job-group.longhorn.io/app-config-group: "enabled"