Skip to content

Conversation

ramsinghtmdc
Copy link
Contributor

What this PR does

This PR updates the Capsule Helm chart ServiceMonitor template to support multiple endpoints instead of a single .endpoint.

Why

Currently, the chart only allows defining one .endpoint, which prevents using Prometheus blackbox-exporter probes or scraping additional targets like /healthz and /readyz.

For example, the following configuration in values.yaml does not render correctly today:

serviceMonitor: enabled: true endpoints: - interval: "15s" relabelings: - targetLabel: instance_name replacement: "demo" - port: http interval: 10s scrapeTimeout: 5s path: /probe scheme: http params: module: [http_2xx] target: [http://capsule-controller-manager-metrics-service.capsule-system.svc.cluster.local:10080/healthz] relabelings: - targetLabel: probe_type replacement: "livez"

How

Replaced .endpoint with .endpoints in the ServiceMonitor template.

Added a range loop to render each endpoint with support for:

  • port

  • interval

  • path

  • scheme

  • scrapeTimeout

  • params

  • metricRelabelings

  • relabelings

Ensured backward compatibility by allowing a single-item array in .endpoints.

Testing

  • Verified helm template works with:

    • A single endpoint
    • Multiple endpoints including blackbox-exporter configs
  • Confirmed rendered ServiceMonitor CRD validates against monitoring.coreos.com/v1.

Example Rendered Output

spec: endpoints: - interval: 15s relabelings: - targetLabel: instance_name replacement: demo - port: http interval: 10s scrapeTimeout: 5s path: /probe scheme: http params: module: - http_2xx target: - http://capsule-controller-manager-metrics-service.capsule-system.svc.cluster.local:10080/healthz relabelings: - targetLabel: probe_type replacement: livez

Checklist

  • Chart template updated

  • values.yaml updated with endpoints examples

  • CHANGELOG entry added

  • Tested with Prometheus Operator

Thanks!!

Copy link

This pull request has been marked as stale because it has been inactive for more than 30 days. Please update this pull request or it will be automatically closed in 30 days.

@github-actions github-actions bot added the Stale label Oct 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant