Skip to content

feat(self-managed): wire observability infrastructure stack - #480

Merged
borao merged 1 commit into
mainfrom
feat/observability-infrastructure
Jul 28, 2026
Merged

feat(self-managed): wire observability infrastructure stack#480
borao merged 1 commit into
mainfrom
feat/observability-infrastructure

Conversation

@borao

@borao borao commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

TL;DR

Wire the self-managed stack to install the shared observability infrastructure before self-managed observability services. This enables the infrastructure needed by always-on self-managed control-plane observability and turns on state-metrics.

Additional Details (optional for docs, build, test, refactor, ci, chore, style, and revert PRs)

  • Adds helmfile.d/00-observability-infrastructure.yaml.gotmpl to delegate self-managed observability infrastructure installation to deploy/stacks/observability.
  • Enables the existing standalone observability components from self-managed values:
    • Prometheus Operator CRDs
    • OpenTelemetry Operator
    • control-plane collector
    • VictoriaMetrics
    • default control-plane monitors
  • Keeps BYOO and NVCA collector behavior owned by the standalone observability stack and default-off there.
  • Leaves function-autoscaler wiring for a follow-up change.

For the Reviewer

Please focus on the Helmfile boundary:

  • deploy/stacks/self-managed/helmfile.d/00-observability-infrastructure.yaml.gotmpl
  • deploy/stacks/self-managed/environments/base.yaml

For QA (optional for docs, build, test, refactor, ci, chore, style, and revert PRs)

Validation performed:

  • HELMFILE_ENV=base helmfile -f helmfile.d/00-observability-infrastructure.yaml.gotmpl --environment default build
  • HELMFILE_ENV=base helmfile --environment default --selector release-group=observability --allow-no-matching-release build
  • /tmp/chartproof/dist/chartproof run --chart deploy/stacks/observability/charts/nvcf-otel-collector --budget standard --progress-mode ci --kubeconform=false
  • /tmp/chartproof/dist/chartproof run --chart deploy/stacks/observability/charts/nvcf-default-monitors --budget standard --progress-mode ci --kubeconform=false
  • git diff --check

Issues

Relates to #15

Checklist

  • I am familiar with the Contributing Guidelines.
  • I have signed off my commits for Developer Certificate of Origin (DCO) compliance.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Summary by CodeRabbit

  • New Features

    • Added configurable observability infrastructure for self-managed deployments.
    • Supports installing observability components, using existing infrastructure, or disabling observability entirely.
    • Enabled state metrics reporting by default.
    • Adds Prometheus, OpenTelemetry, a control-plane collector, VictoriaMetrics, and default control-plane monitors.
  • Documentation

    • Updated observability guidance to clarify the supported consumption model for the self-managed scaffold.

@borao
borao requested a review from a team as a code owner July 27, 2026 20:06
@borao
borao requested a review from kristinapathak July 27, 2026 20:06
@coderabbitai

coderabbitai Bot commented Jul 27, 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: a6613285-f3b9-4b79-90c3-ebacd28f0ef4

📥 Commits

Reviewing files that changed from the base of the PR and between 8db2207 and a666b39.

📒 Files selected for processing (3)
  • deploy/stacks/observability/README.md
  • deploy/stacks/self-managed/environments/base.yaml
  • deploy/stacks/self-managed/helmfile.d/00-observability-infrastructure.yaml.gotmpl
🚧 Files skipped from review as they are similar to previous changes (3)
  • deploy/stacks/observability/README.md
  • deploy/stacks/self-managed/helmfile.d/00-observability-infrastructure.yaml.gotmpl
  • deploy/stacks/self-managed/environments/base.yaml

📝 Walkthrough

Walkthrough

The self-managed base environment now enables shared observability infrastructure and state metrics. A Helmfile template loads environment values, validates observability modes, conditionally includes the observability Helmfile, and propagates configuration. The observability README updates its deployment-consumption description.

Changes

Observability infrastructure wiring

Layer / File(s) Summary
Observability defaults and metrics configuration
deploy/stacks/self-managed/environments/base.yaml
Enables observability infrastructure components in install mode and turns on state metrics.
Conditional observability Helmfile routing
deploy/stacks/self-managed/helmfile.d/00-observability-infrastructure.yaml.gotmpl, deploy/stacks/observability/README.md
Loads environment values, validates observability modes, conditionally includes the downstream Helmfile, propagates selected values, and updates the documented deployment model.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: kristinapathak

Sequence Diagram(s)

sequenceDiagram
  participant BaseEnvironment as self-managed base.yaml
  participant InfrastructureTemplate as 00-observability-infrastructure.yaml.gotmpl
  participant ObservabilityHelmfile as 01-observability.yaml.gotmpl
  BaseEnvironment->>InfrastructureTemplate: Load observability mode and values
  InfrastructureTemplate->>InfrastructureTemplate: Validate mode
  InfrastructureTemplate->>ObservabilityHelmfile: Pass global and observability YAML when mode is not disabled
Loading
🚥 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 follows Conventional Commits and accurately describes the primary change: wiring observability infrastructure for self-managed deployments.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/observability-infrastructure

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

@bright-poku bright-poku left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Signed-off-by: Bora Oztekin <boztekin@nvidia.com>
@borao
borao force-pushed the feat/observability-infrastructure branch from 8db2207 to a666b39 Compare July 27, 2026 21:04
@borao
borao added this pull request to the merge queue Jul 28, 2026
Merged via the queue into main with commit 04cf325 Jul 28, 2026
15 checks passed
@borao
borao deleted the feat/observability-infrastructure branch July 28, 2026 17:45
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.

3 participants