Skip to content

fix: complete Kubernetes provisioning for Dubbo observability dashboards - #1573

Merged
robocanic merged 1 commit into
apache:developfrom
dodjdnh:fix/observability-kubernetes-provisioning
Sep 30, 2026
Merged

robocanic merged 1 commit into
apache:developfrom
dodjdnh:fix/observability-kubernetes-provisioning

Conversation

@dodjdnh

@dodjdnh dodjdnh commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Complete the provisioning connections among the existing Kubernetes Observability resources: Grafana automatically discovers the six Dubbo dashboards, a Jaeger datasource is provisioned, and Kubernetes Admin is configured with the six corresponding dashboard URLs. This change depends on the Grafana Service DNS fix in D002 PR #1571. That PR has now been merged; D003 has been rebased onto its merged develop commit, so this PR contains only the three D003 files below.

Changes

  • release/kubernetes/monitoring/grafana-deployment.yaml: reuse the existing dashboard mount pattern, adding a volume and volume mount for each of the six Dubbo ConfigMaps under /grafana-dashboard-definitions/0/<dashboard name>. Dashboard JSON, UIDs, variables, and queries are unchanged.
  • release/kubernetes/monitoring/grafana-dashboardDatasources.yaml: retain the existing Prometheus configuration and add name: jaeger, uid: fe670vj54q48wc, type: jaeger, access: proxy, and url: http://jaeger.monitoring.svc:16686. The UID is the datasource value currently saved in the three trace dashboards. Reusing it is a compatibility choice, not restoration of a previously existing formal datasource configuration.
  • release/kubernetes/dubbo-system/dubbo-admin.yaml: add the six console.metricDashboards / console.traceDashboards URLs using http://grafana.monitoring.svc:3000/d/<corresponding dashboard UID>?kiosk=1&theme=light. Preserve the DNS corrected by D002 and the existing ConfigMap → volume → mount → -c loading path.

Validation

The same external static Provisioning Oracle, with unchanged decision logic, reported:

Unfixed baseline:
A1–A6 FAIL; B1 PASS, B2–B4 FAIL; C1–C6 FAIL; OVERALL FAIL

D003 changes:
A1–A6 PASS; B1–B4 PASS; C1–C6 PASS; OVERALL PASS

YAML parsing of the three changed files, kubectl create --dry-run=client --validate=false, and git diff --check passed. A delegated Open Code Review of the three changed files found no clear blocking issue.

Runtime provisioning has not been verified and is not claimed as PASS. No confirmed safe disposable Kubernetes environment was available for that validation. In such an environment, it remains necessary to verify that Grafana loads the six dashboards and the Jaeger datasource automatically, the trace dashboards resolve the datasource variable on first load, and the running Admin reads all six URLs. A static Oracle PASS does not replace these checks.

Dependency

D002 PR #1571 has been squash-merged into apache/dubbo-admin:develop. D003 was rebased onto that merged commit. The PR diff contains only the three D003 files listed above and does not repeat the D002 changes.

Related issue

Fixes #1572

Non-goals

This PR does not include the D002 baseline deployment fixes themselves, Service or Instance Trace query semantics, the OTel Collector, k8sattributes, dashboard JSON rewrites, Log, Trace → Log / Log → Trace / Trace → Metric, or a claim that loading a dashboard proves business-level E2E queries pass.

@sonarqubecloud

Copy link
Copy Markdown

@dodjdnh dodjdnh changed the title fix: provision Dubbo observability dashboards on Kubernetes fix: complete Kubernetes provisioning for Dubbo observability dashboards Sep 28, 2026

@robocanic robocanic 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.

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.

[Bug] Kubernetes Observability does not fully provision Dubbo dashboards, Jaeger datasource, and Admin dashboard URLs

2 participants