commit 460e476fcc6d427dfd97c60ea0a84702fc01582f
parent a739ea73f2a4dac7887386258510b9acc0d27c41
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Sat, 28 Feb 2026 20:24:53 +0100
optimize grafana settings and opencost
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Diffstat:
3 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/apps/talos_cluster/monitoring-stack/external-costs.yaml b/apps/talos_cluster/monitoring-stack/external-costs.yaml
@@ -0,0 +1,52 @@
+apiVersion: monitoring.coreos.com/v1
+kind: PrometheusRule
+metadata:
+ name: external-costs
+ namespace: monitoring
+spec:
+ groups:
+ - name: external_costs
+ # Evaluate every 5 minutes — these are static values so interval doesn't matter much
+ interval: 5m
+ rules:
+ # Monthly costs in EUR for non-Kubernetes infrastructure
+ # Update prices here when Hetzner pricing changes (CAX11/CAX21 increase on 2026-04-01)
+
+ - record: external_cost_euros_monthly
+ expr: vector(16.1505)
+ labels:
+ service: storage_box_bx31
+ category: storage
+
+ - record: external_cost_euros_monthly
+ expr: vector(4.29)
+ labels:
+ service: server_nx11
+ category: server
+
+ - record: external_cost_euros_monthly
+ # 10x IPv4 addresses at 0.50€/each
+ expr: vector(5.00)
+ labels:
+ service: ipv4_addresses_10x
+ category: network
+
+ - record: external_cost_euros_monthly
+ expr: vector(0.0131)
+ labels:
+ service: snapshot
+ category: storage
+
+ # dns-b server (CAX11) — price increases to 5.34€ on 2026-04-01
+ - record: external_cost_euros_monthly
+ expr: vector(3.92)
+ labels:
+ service: server_cax11_dns_b
+ category: server
+
+ # dns-a server (CAX21) — price increases to 9.51€ on 2026-04-01
+ - record: external_cost_euros_monthly
+ expr: vector(7.13)
+ labels:
+ service: server_cax21_dns_a
+ category: server
diff --git a/apps/talos_cluster/monitoring-stack/kustomization.yaml b/apps/talos_cluster/monitoring-stack/kustomization.yaml
@@ -12,3 +12,4 @@ resources:
- minio_loki_metrics.yaml
- prometheus-adapter.yaml
- scrape-dns.yaml
+ - external-costs.yaml
diff --git a/apps/talos_cluster/monitoring-stack/prometheus-release.yaml b/apps/talos_cluster/monitoring-stack/prometheus-release.yaml
@@ -60,6 +60,10 @@ spec:
grafana:
adminPassword: ENC[AES256_GCM,data:ipUgR/m8DxxdpUOVXPwo1k0pcBubMrTV2ZmXqtzvZ0jkhmfDc/YVGuyPyG558c4Afkx51t5CUycVQVMueNMMqQ==,iv:0jZuf3v4DrBJTQHHOk7QAqVXllMUzrIcOOg5KTFUINQ=,tag:P29X7rGijLZ0nkjT9cSx1w==,type:str]
sidecar:
+ datasources:
+ # Disable the auto-generated default Prometheus datasource so it
+ # doesn't conflict with our custom datasources.yaml (which points to Thanos)
+ defaultDatasourceEnabled: false
dashboards:
folderAnnotation: grafana_folder
provider: