kubernetes/apps/observability/kromgo/app/helmrelease.yaml
1
---
2
# yaml-language-server: $schema=https://k8s-schemas.home-operations.com/helm.toolkit.fluxcd.io/helmrelease_v2.json
3
apiVersion: helm.toolkit.fluxcd.io/v2
4
kind: HelmRelease
5
metadata:
6
name: kromgo
7
spec:
8
chartRef:
9
kind: OCIRepository
10
name: kromgo
11
interval: 1h
12
values:
13
config:
14
prometheus: http://prometheus-operated.{{ .Release.Namespace }}.svc.cluster.local:9090
15
badges:
16
- title: Talos
17
id: talos_version
18
query: label_replace(node_os_info{name="Talos"}, "version_id", "$1", "version_id", "v(.+)")
19
valueExpr: labels["version_id"]
20
icon: si:talos
22
- title: Kubernetes
23
id: kubernetes_version
24
query: label_replace(kubernetes_build_info{service="kubernetes"}, "git_version", "$1", "git_version", "v(.+)")
25
valueExpr: labels["git_version"]
26
icon: si:kubernetes
28
- title: Flux
29
id: flux_version
30
query: label_replace(flux_instance_info, "revision", "$1", "revision", "v(.+)@sha256:.+")
31
valueExpr: labels["revision"]
32
icon: si:flux
34
- title: Nodes
35
id: cluster_node_count
36
query: count(count by (node) (kube_node_status_condition{condition="Ready"}))
37
colorExpr: '"green"'
39
- title: Pods
40
id: cluster_pod_count
41
query: sum(kube_pod_status_phase{phase="Running"})
42
valueExpr: humanizeCommas(result)
43
colorExpr: '"green"'
45
- title: CPU
46
id: cluster_cpu_usage
47
query: round(avg(instance:node_cpu_utilisation:rate5m{pod!=""}) * 100, 0.1)
48
valueExpr: string(result) + "%"
49
colorExpr: 'colorScale(result, [35.0, 75.0], ["green", "orange", "red"])'
51
- title: Memory
52
id: cluster_memory_usage
53
query: round(sum(node_memory_MemTotal_bytes{pod!=""} - node_memory_MemAvailable_bytes{pod!=""}) / sum(node_memory_MemTotal_bytes{pod!=""}) * 100, 0.1)
54
valueExpr: string(result) + "%"
55
colorExpr: 'colorScale(result, [70.0, 80.0], ["green", "orange", "red"])'
57
- title: Power
58
id: cluster_power_usage
59
query: avg(upsAdvOutputActivePower)
60
valueExpr: humanizeCommas(math.round(result)) + "w"
61
colorExpr: 'colorScale(result, [400.0, 750.0], ["green", "orange", "red"])'
63
- title: Age
64
id: cluster_birth_age
65
query: round(time() - min(kube_node_created))
66
valueExpr: humanizeDurationDays(result)
67
colorExpr: 'colorScale(result, [15552000.0, 31104000.0], ["green", "orange", "red"])'
69
- title: Uptime
70
id: cluster_uptime_age
71
query: round(avg(node_time_seconds{pod!=""} - node_boot_time_seconds{pod!=""}))
72
valueExpr: humanizeDurationDays(result)
73
colorExpr: 'colorScale(result, [15552000.0, 31104000.0], ["green", "orange", "red"])'
75
- title: Alerts
76
id: cluster_alert_count
77
query: alertmanager_alerts{state="active"} - 1
78
colorExpr: 'colorScale(result, [1.0], ["green", "red"])'
79
httpRoute:
80
enabled: true
81
annotations:
82
gatus.home-operations.com/endpoint: |-
83
conditions: ["[STATUS] == 200"]
84
parentRefs:
85
- name: envoy-external
86
namespace: network
87
hostnames:
88
- "{{ .Release.Name }}.janpuc.com"
89
resources:
90
requests:
91
cpu: 10m
92
memory: 48Mi
93
limits:
94
memory: 96Mi