- Rename Go module switchboard-core → armature (155+ files) - Rename Docker image → gobha/armature - Rename K8s resources, secrets, deployments - Rename Prometheus metrics switchboard_* → armature_* - Rename env vars SWITCHBOARD_ADMIN_* → ARMATURE_ADMIN_* - Rename DB names switchboard_core* → armature* - Update all frontend branding, notification templates, docs - Update CI scripts, e2e tests, Keycloak realm, nginx conf - Rename scripts/switchboard-ca.sh → scripts/armature-ca.sh - Rename k8s/switchboard.yaml → k8s/armature.yaml - Rename chart alerting/dashboard files - Fix: DockerHub push uses env: binding for secret injection - Helm chart updated (name, labels, template functions, dashboard, alerting) - Replace favicon/icon assets with Armature brand No functional changes. Pure mechanical rename + CI fix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
62 lines
2.1 KiB
YAML
62 lines
2.1 KiB
YAML
{{- if .Values.monitoring.prometheusRule.enabled }}
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: PrometheusRule
|
|
metadata:
|
|
name: {{ include "armature.fullname" . }}-alerts
|
|
labels:
|
|
{{- include "armature.labels" . | nindent 4 }}
|
|
{{- with .Values.monitoring.prometheusRule.labels }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
groups:
|
|
- name: armature.rules
|
|
rules:
|
|
- alert: ArmaturePodRestart
|
|
expr: increase(kube_pod_container_status_restarts_total{container="backend"}[1h]) > 0
|
|
for: 0m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Armature backend pod restarted (possible OOM)"
|
|
- alert: ArmatureProviderDown
|
|
expr: armature_provider_status > 2
|
|
for: 5m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "Provider {{`{{ $labels.provider_config_id }}`}} is down"
|
|
- alert: ArmatureDBPoolExhaustion
|
|
expr: armature_db_in_use_connections / armature_db_open_connections > 0.8
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "DB connection pool >80% utilized"
|
|
- alert: ArmatureHighErrorRate
|
|
expr: |
|
|
sum(rate(armature_http_requests_total{status=~"5.."}[5m]))
|
|
/ sum(rate(armature_http_requests_total[5m])) > 0.05
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "HTTP 5xx error rate exceeds 5%"
|
|
- alert: ArmatureTaskFailureRate
|
|
expr: |
|
|
rate(armature_task_executions_total{status="error"}[15m])
|
|
/ rate(armature_task_executions_total[15m]) > 0.25
|
|
for: 10m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Task failure rate exceeds 25%"
|
|
- alert: ArmatureNoCompletions
|
|
expr: sum(rate(armature_completions_total[10m])) == 0
|
|
for: 15m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "No completions processed in 15 minutes"
|
|
{{- end }}
|