The ServiceMonitor at flux/vin-decoder/servicemonitor.yaml references port
by name ('http'), but the Service had anonymous port 80 -> 3000 and the
container had no named port. Prometheus ServiceMonitor port matching requires
the port name to match between the Service and the ServiceMonitor spec.
Adds:
- name: http to the containerPort (port 3000)
- name: http to the Service port (port 80 -> targetPort 3000)
This allows the kube-prometheus-stack ServiceMonitor to correctly scrape
/metrics from vin-decoder pods.
Closesleeworks-agents/api-company#174
- flux/monitoring/prometheusrule-apis.yaml: extend all 5 SLO alert
rules to include vin-decoder in the job regex filter
- flux/monitoring/grafana-dashboard-apis.yaml: update all PromQL
expressions to include vin-decoder in the api regex filter;
update dashboard description
- flux/monitoring/vin-decoder-dashboard.yaml: new dedicated Grafana
dashboard for VIN Decoder showing request rate by route, 5xx error
rate, P50/P95/P99 latency by route, and data freshness gauge
- flux/monitoring/kustomization.yaml: add vin-decoder-dashboard.yaml
- flux/vin-decoder/servicemonitor.yaml: Prometheus ServiceMonitor
for auto-discovery of /metrics on the vin-decoder service
- flux/vin-decoder/kustomization.yaml: add servicemonitor.yaml
Closesleeworks-agents/api-company#129
Create flux/vin-decoder/ with namespace, HelmRelease, ExternalSecret, and
kustomization files mirroring the existing API Flux manifest structure.
Register vin-decoder in the root flux/kustomization.yaml so Flux picks it up.
Image automation is handled by existing flux/image-automation/ manifests
(ImageRepository and ImagePolicy for vin-decoder already present).
kustomize build flux/ passes with no errors.
Closesleeworks-agents/api-company#140