Skip to content

HYPERFLEET-1363 - feat: enable Grafana dashboard provisioning and align monitoring values - #78

Open
Ruclo wants to merge 1 commit into
openshift-hyperfleet:mainfrom
Ruclo:HYPERFLEET-1363
Open

HYPERFLEET-1363 - feat: enable Grafana dashboard provisioning and align monitoring values#78
Ruclo wants to merge 1 commit into
openshift-hyperfleet:mainfrom
Ruclo:HYPERFLEET-1363

Conversation

@Ruclo

@Ruclo Ruclo commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Why

Part of HYPERFLEET-1363 — align helmfile values with the unified monitoring: section across component charts and enable Grafana sidecar dashboard discovery.

Note: This PR must merge together with the adapter PR (openshift-hyperfleet/hyperfleet-adapter#268) and API PR (openshift-hyperfleet/hyperfleet-api#326). Sentinel PR (openshift-hyperfleet/hyperfleet-sentinel#241) can merge independently.

Changes

  • Move serviceMonitor.enabled under monitoring.serviceMonitor in adapter and API base values
  • Add monitoring.dashboard.enabled: true for all components when OBSERVABILITY_ENABLED=true
  • Enable sidecar.dashboards.searchNamespace: ALL in kube-prometheus-stack for cross-namespace dashboard discovery

Test plan

  • Deploy with OBSERVABILITY_ENABLED=true — dashboards appear in Grafana automatically
  • ServiceMonitors and PrometheusRules still created correctly

@openshift-ci
openshift-ci Bot requested review from Mischulee and ma-hill August 5, 2026 11:59
@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign aredenba-rh for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
📝 Walkthrough

Summary by CodeRabbit

  • New Features
    • Enhanced observability configuration with service monitors, Prometheus rules, and dashboards.
    • Enabled dashboards for adapter, API, and Sentinel components.
    • Configured Grafana to automatically discover dashboards across all namespaces.
    • Consolidated tracing and OTLP settings under the monitoring configuration for supported components.

Walkthrough

Adapter, API, and Sentinel now group observability and tracing settings under monitoring. Observability enables service monitors, Prometheus rules, and dashboards. Tracing retains the OTLP endpoint under monitoring.tracing. Grafana enables dashboard sidecar discovery across all namespaces.

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

Suggested reviewers: mischulee, ma-hill

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies Grafana dashboard provisioning and monitoring value alignment, which are the main changes.
Description check ✅ Passed The description directly explains the monitoring alignment, dashboard discovery, related dependencies, and test plan.
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.
Sec-02: Secrets In Log Output ✅ Passed The PR changes only four Helm templates; added lines contain no slog, log, logr, zap, or fmt.Print* calls, and no secret-bearing log fields or interpolations were found.
No Hardcoded Secrets ✅ Passed PASS: The four-file patch adds no secret literals, long base64 values, or credential URLs; pre-existing guest:guest defaults are unchanged. CWE-798 is not triggered.
No Weak Cryptography ✅ Passed PASS — The commit changes only monitoring Helm templates and contains no banned primitives, ECB, custom crypto, or secret comparisons; CWE-327 and CWE-208 are not triggered.
No Injection Vectors ✅ Passed The commit changes only four Helm Go templates; added lines contain no SQL construction, exec.Command, template.HTML, yaml.Unmarshal, or fmt.Sprintf query sink, and repository searches found no pro...
No Privileged Containers ✅ Passed The PR only changes monitoring values and Grafana dashboard discovery. The added lines and tracked Kubernetes, Helm, and Dockerfile content contain none of the prohibited privilege settings.
No Pii Or Sensitive Data In Logs ✅ Passed The patch adds only Helm values and template conditionals. It adds no slog, logr, zap, log, or fmt.Print logging statements and exposes no PII or request/response data in logs.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@helmfile/values/base-api.yaml.gotmpl`:
- Around line 4-10: Align the monitoring values with implemented chart
resources: add the missing dashboard template for the API chart and
PrometheusRule template for the Adapter chart, or remove their unsupported
contract keys. Keep ServiceMonitor enabled across all charts, and ensure
dashboard resources use the existing kube-prometheus-stack label convention.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 2926a138-590d-4463-b278-2823b6445f24

📥 Commits

Reviewing files that changed from the base of the PR and between 0a453ee and d566681.

📒 Files selected for processing (4)
  • helmfile/values/base-adapter.yaml.gotmpl
  • helmfile/values/base-api.yaml.gotmpl
  • helmfile/values/base-kube-prometheus-stack.yaml.gotmpl
  • helmfile/values/base-sentinel.yaml.gotmpl
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual) → reviewed against open PR #326 HYPERFLEET-1363 instead of the default branch
  • openshift-hyperfleet/hyperfleet-sentinel (manual) → reviewed against open PR #241 HYPERFLEET-1363 instead of the default branch
  • openshift-hyperfleet/hyperfleet-adapter (manual) → reviewed against open PR #268 HYPERFLEET-1363 instead of the default branch
  • openshift-hyperfleet/hyperfleet-broker (manual)

Comment thread helmfile/values/base-api.yaml.gotmpl
…ring section

Update helmfile base values to match the unified monitoring: section
across component charts.

- Move serviceMonitor toggles under monitoring section in adapter and API values
- Add monitoring.dashboard.enabled toggle for all components
- Enable Grafana sidecar cross-namespace dashboard discovery
@Ruclo
Ruclo force-pushed the HYPERFLEET-1363 branch from 4811cbb to 334bb20 Compare August 7, 2026 11:52

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@helmfile/values/base-adapter.yaml.gotmpl`:
- Around line 3-5: Require tracing to depend on observability in the
$obs/$tracing configuration logic: update
helmfile/values/base-adapter.yaml.gotmpl lines 3-5,
helmfile/values/base-api.yaml.gotmpl lines 3-5, and
helmfile/values/base-sentinel.yaml.gotmpl lines 3-5 so TRACING_ENABLED only
enables $tracing when $obs is true, preventing tracing resources from rendering
without observability.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 1bea518f-30b9-40a6-88cc-fac2fc8408a9

📥 Commits

Reviewing files that changed from the base of the PR and between 4811cbb and 334bb20.

📒 Files selected for processing (3)
  • helmfile/values/base-adapter.yaml.gotmpl
  • helmfile/values/base-api.yaml.gotmpl
  • helmfile/values/base-sentinel.yaml.gotmpl
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual) → reviewed against open PR #326 HYPERFLEET-1363 instead of the default branch
  • openshift-hyperfleet/hyperfleet-sentinel (manual) → reviewed against open PR #241 HYPERFLEET-1363 instead of the default branch
  • openshift-hyperfleet/hyperfleet-adapter (manual) → reviewed against open PR #268 HYPERFLEET-1363 instead of the default branch
  • openshift-hyperfleet/hyperfleet-broker (manual)

Comment thread helmfile/values/base-adapter.yaml.gotmpl
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