Skip to content

feat: exponer /metrics del OWC para scraping (PodMonitor)#82

Open
az-adhoc wants to merge 1 commit into
mainfrom
feat/owc-metrics-scrape
Open

feat: exponer /metrics del OWC para scraping (PodMonitor)#82
az-adhoc wants to merge 1 commit into
mainfrom
feat/owc-metrics-scrape

Conversation

@az-adhoc

Copy link
Copy Markdown
Contributor

Qué

Expone el endpoint /metrics del adhoc-wakeup-controller para que Prometheus lo scrapee. Es la pieza de chart (Fase 6) que acompaña a la instrumentación del controller en ingadhoc/devops-ops-tools#24, según la spec wakeup-controller-metrics.md (tarea #69684).

Cambios (charts/adhoc-wakeup-controller)

  • deployment: containerPort metrics (9081) + env METRICS_PORT.
  • values: metricsPort: 9081 + bloque metrics.podMonitor (enabled / interval / additionalLabels).
  • templates/podmonitor.yaml (nuevo): PodMonitor gated por metrics.podMonitor.enabled.
  • Chart.yaml: 0.3.20.4.0.

Seguridad del default

podMonitor.enabled=false por default a propósito:

  • Requiere una imagen del OWC que sirva /metrics (feat/owc-metrics en adelante) y el CRD PodMonitor del prometheus-operator.
  • Con la imagen actual de stable nada escucha en 9081, así que crear un PodMonitor scrapearía un puerto cerrado. Los cambios al Deployment (containerPort + env) son inocuos con la imagen vieja.
  • Se habilita explícito para el canary (--set metrics.podMonitor.enabled=true) y, cuando la imagen con métricas se promueva a stable, se flipea el default + se bumpea appVersion.

Test plan

  • helm lint: OK
  • helm template default → 0 PodMonitor (gated off); Deployment con containerPort 9081 + METRICS_PORT.
  • helm template --set metrics.podMonitor.enabled=true → PodMonitor renderiza con additionalLabels, selector correcto, port: metrics, path: /metrics.
  • pre-commit (yamllint + helm validate): OK

Siguiente

Habilita el canary para validar las métricas end-to-end (build de imagen feat/owc-metricshelm install del controller canary con dominio aislado + podMonitor.enabled=true).

Agrega el puerto de métricas (9081) al Deployment del adhoc-wakeup-controller
y un PodMonitor opcional para que Prometheus scrapee el endpoint /metrics que
expone la nueva instrumentación del controller.

- deployment: containerPort `metrics` (9081) + env METRICS_PORT.
- values: metricsPort + bloque metrics.podMonitor (enabled/interval/additionalLabels).
- templates/podmonitor.yaml: PodMonitor gated por metrics.podMonitor.enabled.

podMonitor.enabled=false por default: requiere una imagen del OWC que sirva
/metrics (feat/owc-metrics en adelante) y el CRD PodMonitor del operator.
Se habilita explícito para el canary y al promover la imagen con métricas a
stable. Los cambios al Deployment son inocuos con la imagen actual (nada
escucha en 9081 todavía).

Instrumentación: ingadhoc/devops-ops-tools#24
Spec: ingadhoc/devops-project specs/10_draft/wakeup-controller-metrics.md (#69684)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant