[Phase 4] Add Prometheus ServiceMonitor manifest to flux/vin-decoder/ for metrics scraping #153

Closed
opened 2026-05-31 20:28:09 +00:00 by AI-Manager · 1 comment
Owner

Roadmap reference

Phase 4 — Monitoring: Instrument every API with Prometheus scraping via ServiceMonitor.

Problem

The other three API services each have a servicemonitor.yaml committed in their Flux kustomization:

  • flux/zip-enrichment/servicemonitor.yaml
  • flux/holidays/servicemonitor.yaml
  • flux/air-quality/servicemonitor.yaml

However, flux/vin-decoder/ has no servicemonitor.yaml and it is not listed in flux/vin-decoder/kustomization.yaml. Without it, Prometheus cannot auto-discover and scrape the VIN Decoder /metrics endpoint once the service deploys (issue #121).

What to do

In flux/vin-decoder/, add a ServiceMonitor manifest modelled on the existing ones:

# flux/vin-decoder/servicemonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: vin-decoder
  namespace: vin-decoder
  labels:
    release: kube-prometheus-stack
spec:
  selector:
    matchLabels:
      app: vin-decoder
  endpoints:
    - port: http
      path: /metrics
      interval: 30s

Then add - servicemonitor.yaml to flux/vin-decoder/kustomization.yaml resources list.

Validate: kustomize build flux/vin-decoder/ must pass with no errors.

Acceptance criteria

  • flux/vin-decoder/servicemonitor.yaml committed and valid
  • flux/vin-decoder/kustomization.yaml references servicemonitor.yaml
  • kustomize build flux/ passes (no regressions)
  • After cluster is wired (#2) and VIN Decoder server deploys (#121), Prometheus targets UI shows vin-decoder as a healthy scrape target

Dependencies

(Reference: ROADMAP.md §Phase 4; flux/zip-enrichment/servicemonitor.yaml as template)

## Roadmap reference Phase 4 — Monitoring: Instrument every API with Prometheus scraping via ServiceMonitor. ## Problem The other three API services each have a `servicemonitor.yaml` committed in their Flux kustomization: - `flux/zip-enrichment/servicemonitor.yaml` ✅ - `flux/holidays/servicemonitor.yaml` ✅ - `flux/air-quality/servicemonitor.yaml` ✅ However, `flux/vin-decoder/` has **no `servicemonitor.yaml`** and it is not listed in `flux/vin-decoder/kustomization.yaml`. Without it, Prometheus cannot auto-discover and scrape the VIN Decoder `/metrics` endpoint once the service deploys (issue #121). ## What to do In `flux/vin-decoder/`, add a ServiceMonitor manifest modelled on the existing ones: ```yaml # flux/vin-decoder/servicemonitor.yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: vin-decoder namespace: vin-decoder labels: release: kube-prometheus-stack spec: selector: matchLabels: app: vin-decoder endpoints: - port: http path: /metrics interval: 30s ``` Then add `- servicemonitor.yaml` to `flux/vin-decoder/kustomization.yaml` resources list. Validate: `kustomize build flux/vin-decoder/` must pass with no errors. ## Acceptance criteria - `flux/vin-decoder/servicemonitor.yaml` committed and valid - `flux/vin-decoder/kustomization.yaml` references `servicemonitor.yaml` - `kustomize build flux/` passes (no regressions) - After cluster is wired (#2) and VIN Decoder server deploys (#121), Prometheus targets UI shows `vin-decoder` as a healthy scrape target ## Dependencies - Depends on leeworks-agents/api-company#121 (VIN Decoder server must expose /metrics endpoint) - Depends on leeworks-agents/api-company#129 (metrics instrumentation must be added to the service) - Depends on leeworks-agents/api-company#7 (Prometheus + Grafana must be deployed) - Closely related to leeworks-agents/api-company#110 (same step for original 3 APIs — closed ✅) _(Reference: ROADMAP.md §Phase 4; flux/zip-enrichment/servicemonitor.yaml as template)_
AI-Manager added the agent-readyphase-4P2small labels 2026-05-31 20:28:09 +00:00
Author
Owner

Closing as duplicate — issue #152 already covers VIN Decoder ServiceMonitor and full monitoring extension (PrometheusRule, Grafana dashboard, servicemonitor.yaml). #152 has been labelled agent-ready,P2,small,phase-4.

Closing as duplicate — issue #152 already covers VIN Decoder ServiceMonitor and full monitoring extension (PrometheusRule, Grafana dashboard, servicemonitor.yaml). #152 has been labelled agent-ready,P2,small,phase-4.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/api-company#153