Skip to content

fix(helm): render blackbox Probes into global.namespace#28

Open
dmathur0 wants to merge 1 commit into
mainfrom
davesh/fix-probe-namespace
Open

fix(helm): render blackbox Probes into global.namespace#28
dmathur0 wants to merge 1 commit into
mainfrom
davesh/fix-probe-namespace

Conversation

@dmathur0

@dmathur0 dmathur0 commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

The Probe templates in deploy/helm/templates/monitoring.yaml set namespace: {{ .Values.namespace }}, but that key is unset — the namespace lives at .Values.global.namespace. As a result every blackbox Probe CR rendered with an empty metadata.namespace, relying on the apply-time namespace fallback (helm -n / ArgoCD destination) to place it.

The PodMonitor templates in the same file already use the local $namespace alias ({{- $namespace := .Values.global.namespace }}). This change aligns the 8 Probe blocks with that, so Probes render into the chart namespace explicitly and consistently with PodMonitors.

This affects every env with monitoring.probes.enabled: true (e.g. pdx01, and the in-flight sjc4 migration).

Why it matters

  • Removes reliance on implicit apply-time namespace defaulting for namespaced CRs.
  • Makes Probe placement deterministic and identical to PodMonitors (both global.namespace).
  • Keeps the OBSERVABILITY=true integration test (test_probe_labels.py, which looks for Probe CRs in config_manager_namespace) robust.

Test plan

  • helm template ... --values values-ci.yaml --values values-observability.yaml → all 8 Probes render with namespace: nv-config-manager-ci (was empty) and retain staticConfig.labels.include_in_slo.
  • No remaining .Values.namespace references in monitoring.yaml.
  • kind integration job with observability enabled (CI).

Summary by CodeRabbit

  • Bug Fixes
    • Fixed monitoring probe configuration to use the correct namespace settings across all system components, ensuring consistent deployment and monitoring behavior.

The Probe templates in monitoring.yaml used `.Values.namespace`, which is
unset (the namespace lives at `.Values.global.namespace`), so every Probe CR
rendered with an empty `metadata.namespace`. PodMonitors in the same file
already use the local `$namespace` (= `.Values.global.namespace`); align the
Probes with that so they land in the chart namespace explicitly instead of
relying on the apply-time (helm -n / ArgoCD destination) namespace fallback.
@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e5a74449-836a-4142-9873-66183f184751

📥 Commits

Reviewing files that changed from the base of the PR and between 48546c6 and 5aa2855.

📒 Files selected for processing (1)
  • deploy/helm/templates/monitoring.yaml

📝 Walkthrough

Walkthrough

The PR updates deploy/helm/templates/monitoring.yaml to consistently resolve the namespace for all Prometheus Blackbox Exporter Probe resources from a global chart namespace configuration instead of individual values. This affects eight distinct probe resources across render, networking, config-store, and temporal components.

Changes

Prometheus Probe namespace consolidation

Layer / File(s) Summary
Blackbox Exporter Probe namespace update
deploy/helm/templates/monitoring.yaml
All eight Blackbox Exporter Probe resources (render, network ZTP, network DHCP, config-store, temporal API, temporal UI, UI, nautobot) now set metadata.namespace to $namespace (from .Values.global.namespace) instead of .Values.namespace.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested reviewers

  • polarweasel
  • zsblevins
  • spidercensus
  • ryanheffernan
  • susanhooks
  • jojung1

Poem

🐰 Eight probes now share one namespace home,
No scattered values left to roam,
From global settings, clean and clear,
Monitoring steady, all drawing near! 🎯

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: fixing Helm templates to render Prometheus Blackbox Exporter Probe resources into the global.namespace instead of an unset namespace value.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch davesh/fix-probe-namespace

Comment @coderabbitai help to get the list of available commands and usage tips.

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