monitoring: fuera los restos de polymarket y la datasource Alertmanager

El dashboard «ChemaVX Homelab Overview» tenía 4 paneles Infinity apuntando a
api.polymarket-bot.svc.cluster.local:8000, decomisado el 2026-07-17, más dos
stat de servicios cuyos namespaces ya no existen (polymarket-bot, open-webui)
que se veían como un 0 sospechoso en vez de como ausencia. 24 -> 17 paneles, y
la rejilla de servicios reempaquetada (arrastraba huecos de borrados viejos).

La datasource Alertmanager apuntaba a un servicio inexistente (alertmanager
está desactivado a propósito) y devolvía 500. Dos sorpresas: no la apaga
alertmanager.enabled, sino grafana.sidecar.datasources.alertmanager.enabled; y
quitarla del provisioning NO la borra de grafana.db — hace falta una directiva
deleteDatasources de un solo uso. Igual para la Infinity, creada por UI.

Auditando el Deployment contra el render aparecieron dos campos puestos a mano
que el chart no genera y que sólo seguían vivos por el three-way merge de Helm,
el mismo agujero que 0501aab: GF_INSTALL_PLUGINS (ya sin uso, retirado junto al
plugin de 48 MB) y TELEGRAM_BOT_TOKEN/CHAT_ID, que sí son críticos — el contact
point usa ${TELEGRAM_BOT_TOKEN}, así que reconstruir el release desde cero
habría dejado las alertas mudas. Declarados ya en values.

Verificado: render == desplegado salvo defaults del API server; Grafana
reiniciada y arrancando sin errores, 1 datasource, 25 dashboards, 5 reglas y el
contact point de Telegram con token resuelto.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 08:02:48 +00:00
co-authored by Claude Opus 4.8
parent f5bcb76738
commit 28f16314d8
4 changed files with 55 additions and 642 deletions
@@ -4,9 +4,9 @@ metadata:
name: chemavx-homelab-overview name: chemavx-homelab-overview
namespace: monitoring namespace: monitoring
labels: labels:
grafana_dashboard: "1" grafana_dashboard: '1'
data: data:
chemavx-homelab-overview.json: |- chemavx-homelab-overview.json: |
{ {
"annotations": { "annotations": {
"list": [ "list": [
@@ -461,7 +461,7 @@ data:
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 8, "x": 4,
"y": 10 "y": 10
}, },
"id": 9, "id": 9,
@@ -549,7 +549,7 @@ data:
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 12, "x": 8,
"y": 10 "y": 10
}, },
"id": 10, "id": 10,
@@ -637,7 +637,7 @@ data:
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 16, "x": 12,
"y": 10 "y": 10
}, },
"id": 11, "id": 11,
@@ -725,7 +725,7 @@ data:
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 20, "x": 16,
"y": 10 "y": 10
}, },
"id": 12, "id": 12,
@@ -813,8 +813,8 @@ data:
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 0, "x": 20,
"y": 14 "y": 10
}, },
"id": 13, "id": 13,
"options": { "options": {
@@ -901,7 +901,7 @@ data:
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 4, "x": 0,
"y": 14 "y": 14
}, },
"id": 14, "id": 14,
@@ -989,95 +989,7 @@ data:
"gridPos": { "gridPos": {
"h": 4, "h": 4,
"w": 4, "w": 4,
"x": 8, "x": 4,
"y": 14
},
"id": 15,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "12.4.2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"expr": "sum(kube_pod_status_phase{namespace=\"polymarket-bot\",phase=\"Running\"}) or vector(0)",
"instant": true,
"legendFormat": "polymarket-bot",
"refId": "A"
}
],
"title": "polymarket-bot",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"0": {
"color": "red",
"index": 0,
"text": "Down"
}
},
"type": "value"
},
{
"options": {
"from": 1,
"result": {
"color": "green",
"index": 1,
"text": "Running"
},
"to": null
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": null
},
{
"color": "green",
"value": 1
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 12,
"y": 14 "y": 14
}, },
"id": 16, "id": 16,
@@ -1111,94 +1023,6 @@ data:
"title": "ollama", "title": "ollama",
"type": "stat" "type": "stat"
}, },
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"0": {
"color": "red",
"index": 0,
"text": "Down"
}
},
"type": "value"
},
{
"options": {
"from": 1,
"result": {
"color": "green",
"index": 1,
"text": "Running"
},
"to": null
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "red",
"value": null
},
{
"color": "green",
"value": 1
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 4,
"x": 16,
"y": 14
},
"id": 17,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "12.4.2",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"expr": "sum(kube_pod_status_phase{namespace=\"open-webui\",phase=\"Running\"}) or vector(0)",
"instant": true,
"legendFormat": "open-webui",
"refId": "A"
}
],
"title": "open-webui",
"type": "stat"
},
{ {
"collapsed": false, "collapsed": false,
"gridPos": { "gridPos": {
@@ -1335,435 +1159,6 @@ data:
], ],
"title": "Ollama — Memoria en uso", "title": "Ollama — Memoria en uso",
"type": "stat" "type": "stat"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 27
},
"id": 21,
"panels": [],
"title": "📈 Polymarket Bot",
"type": "row"
},
{
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
}
]
},
"unit": "currencyUSD"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 0,
"y": 28
},
"id": 22,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "/total_pnl/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "12.4.2",
"targets": [
{
"columns": [
{
"selector": "total_pnl",
"text": "total_pnl",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_trades",
"text": "total_trades",
"timestampFormat": "",
"type": "number"
},
{
"selector": "win_rate",
"text": "win_rate",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_deployed",
"text": "total_deployed",
"timestampFormat": "",
"type": "number"
}
],
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"filters": [],
"format": "dataframe",
"global_query_id": "",
"json_options": {
"columnar": false,
"root_is_not_array": true
},
"method": "GET",
"parser": "backend",
"refId": "A",
"root_selector": "",
"source": "url",
"type": "json",
"url": "http://api.polymarket-bot.svc.cluster.local:8000/api/summary",
"url_options": {
"body_type": "",
"data": "",
"headers": null,
"method": "GET",
"params": null
}
}
],
"title": "P&L Actual (USD)",
"type": "stat"
},
{
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 6,
"y": 28
},
"id": 23,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "/total_trades/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "12.4.2",
"targets": [
{
"columns": [
{
"selector": "total_pnl",
"text": "total_pnl",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_trades",
"text": "total_trades",
"timestampFormat": "",
"type": "number"
},
{
"selector": "win_rate",
"text": "win_rate",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_deployed",
"text": "total_deployed",
"timestampFormat": "",
"type": "number"
}
],
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"filters": [],
"format": "dataframe",
"global_query_id": "",
"json_options": {
"columnar": false,
"root_is_not_array": true
},
"method": "GET",
"parser": "backend",
"refId": "A",
"root_selector": "",
"source": "url",
"type": "json",
"url": "http://api.polymarket-bot.svc.cluster.local:8000/api/summary",
"url_options": {
"body_type": "",
"data": "",
"headers": null,
"method": "GET",
"params": null
}
}
],
"title": "Trades Totales",
"type": "stat"
},
{
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
}
]
},
"unit": "percentunit"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 12,
"y": 28
},
"id": 24,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "/win_rate/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "12.4.2",
"targets": [
{
"columns": [
{
"selector": "total_pnl",
"text": "total_pnl",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_trades",
"text": "total_trades",
"timestampFormat": "",
"type": "number"
},
{
"selector": "win_rate",
"text": "win_rate",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_deployed",
"text": "total_deployed",
"timestampFormat": "",
"type": "number"
}
],
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"filters": [],
"format": "dataframe",
"global_query_id": "",
"json_options": {
"columnar": false,
"root_is_not_array": true
},
"method": "GET",
"parser": "backend",
"refId": "A",
"root_selector": "",
"source": "url",
"type": "json",
"url": "http://api.polymarket-bot.svc.cluster.local:8000/api/summary",
"url_options": {
"body_type": "",
"data": "",
"headers": null,
"method": "GET",
"params": null
}
}
],
"title": "Win Rate",
"type": "stat"
},
{
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
}
]
},
"unit": "currencyUSD"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 18,
"y": 28
},
"id": 25,
"options": {
"colorMode": "background",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "/total_deployed/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "12.4.2",
"targets": [
{
"columns": [
{
"selector": "total_pnl",
"text": "total_pnl",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_trades",
"text": "total_trades",
"timestampFormat": "",
"type": "number"
},
{
"selector": "win_rate",
"text": "win_rate",
"timestampFormat": "",
"type": "number"
},
{
"selector": "total_deployed",
"text": "total_deployed",
"timestampFormat": "",
"type": "number"
}
],
"datasource": {
"type": "yesoreyeram-infinity-datasource",
"uid": "infinity"
},
"filters": [],
"format": "dataframe",
"global_query_id": "",
"json_options": {
"columnar": false,
"root_is_not_array": true
},
"method": "GET",
"parser": "backend",
"refId": "A",
"root_selector": "",
"source": "url",
"type": "json",
"url": "http://api.polymarket-bot.svc.cluster.local:8000/api/summary",
"url_options": {
"body_type": "",
"data": "",
"headers": null,
"method": "GET",
"params": null
}
}
],
"title": "Capital Deployed (USD)",
"type": "stat"
} }
], ],
"refresh": "30s", "refresh": "30s",
@@ -1780,6 +1175,6 @@ data:
"timezone": "browser", "timezone": "browser",
"title": "ChemaVX Homelab Overview", "title": "ChemaVX Homelab Overview",
"uid": "chemavx-homelab-v1", "uid": "chemavx-homelab-v1",
"version": 3, "version": 4,
"weekStart": "" "weekStart": ""
} }
@@ -1,11 +1,6 @@
apiVersion: v1 apiVersion: v1
data: data:
datasource.yaml: "apiVersion: 1\ndatasources:\n- name: \"Prometheus\"\n type: prometheus\n\ datasource.yaml: "apiVersion: 1\ndatasources:\n- name: \"Prometheus\"\n type: prometheus\n uid: prometheus\n url: http://kube-prometheus-stack-prometheus.monitoring:9090/\n access: proxy\n isDefault: true\n jsonData:\n httpMethod: POST\n timeInterval: 30s"
\ uid: prometheus\n url: http://kube-prometheus-stack-prometheus.monitoring:9090/\n\
\ access: proxy\n isDefault: true\n jsonData:\n httpMethod: POST\n timeInterval:\
\ 30s\n- name: \"Alertmanager\"\n type: alertmanager\n uid: alertmanager\n \
\ url: http://kube-prometheus-stack-alertmanager.monitoring:9093/\n access: proxy\n\
\ jsonData:\n handleGrafanaManagedAlerts: false\n implementation: prometheus"
kind: ConfigMap kind: ConfigMap
metadata: metadata:
annotations: annotations:
@@ -23,4 +18,3 @@ metadata:
release: kube-prometheus-stack release: kube-prometheus-stack
name: kube-prometheus-stack-grafana-datasource name: kube-prometheus-stack-grafana-datasource
namespace: monitoring namespace: monitoring
@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
annotations: annotations:
deployment.kubernetes.io/revision: '2' deployment.kubernetes.io/revision: '16'
meta.helm.sh/release-name: kube-prometheus-stack meta.helm.sh/release-name: kube-prometheus-stack
meta.helm.sh/release-namespace: monitoring meta.helm.sh/release-namespace: monitoring
labels: labels:
@@ -31,9 +31,8 @@ spec:
annotations: annotations:
checksum/config: b835787868e1c1e3616db22add4a94b4f3a7b8ccedf24d3e48c323334a2b023c checksum/config: b835787868e1c1e3616db22add4a94b4f3a7b8ccedf24d3e48c323334a2b023c
checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24 checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24
checksum/secret: bed677784356b2af7fb0d87455db21f077853059b594101a4f6532bfbd962a7f
kubectl.kubernetes.io/default-container: grafana kubectl.kubernetes.io/default-container: grafana
kubectl.kubernetes.io/restartedAt: '2026-04-09T07:16:07Z' kubectl.kubernetes.io/restartedAt: '2026-07-22T08:00:01Z'
labels: labels:
app.kubernetes.io/instance: kube-prometheus-stack app.kubernetes.io/instance: kube-prometheus-stack
app.kubernetes.io/name: grafana app.kubernetes.io/name: grafana
@@ -59,12 +58,12 @@ spec:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
key: admin-user key: admin-user
name: kube-prometheus-stack-grafana name: grafana-admin
- name: REQ_PASSWORD - name: REQ_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
key: admin-password key: admin-password
name: kube-prometheus-stack-grafana name: grafana-admin
- name: REQ_URL - name: REQ_URL
value: http://localhost:3000/api/admin/provisioning/dashboards/reload value: http://localhost:3000/api/admin/provisioning/dashboards/reload
- name: REQ_METHOD - name: REQ_METHOD
@@ -100,12 +99,12 @@ spec:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
key: admin-user key: admin-user
name: kube-prometheus-stack-grafana name: grafana-admin
- name: REQ_PASSWORD - name: REQ_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
key: admin-password key: admin-password
name: kube-prometheus-stack-grafana name: grafana-admin
- name: REQ_URL - name: REQ_URL
value: http://localhost:3000/api/admin/provisioning/datasources/reload value: http://localhost:3000/api/admin/provisioning/datasources/reload
- name: REQ_METHOD - name: REQ_METHOD
@@ -136,12 +135,12 @@ spec:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
key: admin-user key: admin-user
name: kube-prometheus-stack-grafana name: grafana-admin
- name: GF_SECURITY_ADMIN_PASSWORD - name: GF_SECURITY_ADMIN_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
key: admin-password key: admin-password
name: kube-prometheus-stack-grafana name: grafana-admin
- name: GF_PATHS_DATA - name: GF_PATHS_DATA
value: /var/lib/grafana/ value: /var/lib/grafana/
- name: GF_PATHS_LOGS - name: GF_PATHS_LOGS
@@ -155,13 +154,13 @@ spec:
- name: TELEGRAM_BOT_TOKEN - name: TELEGRAM_BOT_TOKEN
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: grafana-telegram-infisical
key: TELEGRAM_BOT_TOKEN key: TELEGRAM_BOT_TOKEN
name: grafana-telegram-infisical
- name: TELEGRAM_CHAT_ID - name: TELEGRAM_CHAT_ID
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: grafana-telegram-infisical
key: TELEGRAM_CHAT_ID key: TELEGRAM_CHAT_ID
name: grafana-telegram-infisical
image: docker.io/grafana/grafana:12.4.2 image: docker.io/grafana/grafana:12.4.2
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
@@ -212,6 +211,8 @@ spec:
- mountPath: /etc/grafana/grafana.ini - mountPath: /etc/grafana/grafana.ini
name: config name: config
subPath: grafana.ini subPath: grafana.ini
- mountPath: /etc/grafana/provisioning/alerting
name: grafana-alerting
- mountPath: /var/lib/grafana - mountPath: /var/lib/grafana
name: storage name: storage
- mountPath: /var/lib/grafana-search - mountPath: /var/lib/grafana-search
@@ -223,8 +224,6 @@ spec:
subPath: provider.yaml subPath: provider.yaml
- mountPath: /etc/grafana/provisioning/datasources - mountPath: /etc/grafana/provisioning/datasources
name: sc-datasources-volume name: sc-datasources-volume
- mountPath: /etc/grafana/provisioning/alerting
name: grafana-alerting
dnsPolicy: ClusterFirst dnsPolicy: ClusterFirst
enableServiceLinks: true enableServiceLinks: true
initContainers: initContainers:
@@ -269,6 +268,10 @@ spec:
defaultMode: 420 defaultMode: 420
name: kube-prometheus-stack-grafana name: kube-prometheus-stack-grafana
name: config name: config
- configMap:
defaultMode: 420
name: grafana-alerting
name: grafana-alerting
- name: storage - name: storage
persistentVolumeClaim: persistentVolumeClaim:
claimName: kube-prometheus-stack-grafana claimName: kube-prometheus-stack-grafana
@@ -282,8 +285,3 @@ spec:
name: sc-dashboard-provider name: sc-dashboard-provider
- emptyDir: {} - emptyDir: {}
name: sc-datasources-volume name: sc-datasources-volume
- configMap:
defaultMode: 420
name: grafana-alerting
name: grafana-alerting
@@ -23,6 +23,19 @@
# como acceso de emergencia. Leerla: # como acceso de emergencia. Leerla:
# kubectl get secret grafana-admin -n monitoring \ # kubectl get secret grafana-admin -n monitoring \
# -o jsonpath='{.data.admin-password}' | base64 -d; echo # -o jsonpath='{.data.admin-password}' | base64 -d; echo
# rev 5 (2026-07-22): fuera la datasource Alertmanager. OJO: NO la apaga
# alertmanager.enabled=false — el chart la provisiona igual, apuntando a un
# servicio que no existe (error 500 al consultarla). El interruptor real es
# grafana.sidecar.datasources.alertmanager.enabled. Y quitarla del fichero de
# provisioning NO la borra de grafana.db: hay que provisionar el borrado con
# una directiva deleteDatasources de un solo uso (se hizo y se retiró).
# rev 6 (2026-07-22): grafana.envValueFrom. Mismo caso que rev 3, encontrado al
# auditar el Deployment contra el render: TELEGRAM_BOT_TOKEN y TELEGRAM_CHAT_ID
# estaban puestas A MANO y el chart no las generaba. El contact point de
# alerting usa ${TELEGRAM_BOT_TOKEN}: reconstruir el release desde cero habría
# dejado las alertas de Telegram mudas. Se declaran aquí sin tocar nada vivo.
# (CHAT_ID hoy no lo usa nadie —el chatid del contact point va literal— pero se
# deja para que el render coincida exactamente con lo desplegado.)
alertmanager: alertmanager:
enabled: false enabled: false
defaultRules: defaultRules:
@@ -34,6 +47,15 @@ defaultRules:
grafana: grafana:
admin: admin:
existingSecret: grafana-admin existingSecret: grafana-admin
envValueFrom:
TELEGRAM_BOT_TOKEN:
secretKeyRef:
key: TELEGRAM_BOT_TOKEN
name: grafana-telegram-infisical
TELEGRAM_CHAT_ID:
secretKeyRef:
key: TELEGRAM_CHAT_ID
name: grafana-telegram-infisical
extraConfigmapMounts: extraConfigmapMounts:
- configMap: grafana-alerting - configMap: grafana-alerting
mountPath: /etc/grafana/provisioning/alerting mountPath: /etc/grafana/provisioning/alerting
@@ -57,6 +79,10 @@ grafana:
enabled: true enabled: true
size: 5Gi size: 5Gi
storageClassName: local-path storageClassName: local-path
sidecar:
datasources:
alertmanager:
enabled: false
kubeControllerManager: kubeControllerManager:
enabled: false enabled: false
kubeProxy: kubeProxy: