Repository navigation
Conversation
Enable `dashboard_service` to discover `Component/bigquery` Custom Resources when `enable_components=true` and dynamically swap the cached BigQuery `DataEngine` on readiness probes whenever resolved table coordinates change. - Add `pkg/bigquery/componentconfig` (`Source`, `ResolveOptions`, `OptionsFingerprint`) resolving `status.access.envVars` (`PROJECT_ID`, `DATASET`, `TABLE`) -> `spec.parameters` (`projectId`, `dataset`, `table`) -> static environment fallback. - Wire `NewDynamicEngineProvider` and `isBigQueryExpected` in `cmd/dashboard_service` to rebuild the BigQuery engine on fingerprint changes without pod restarts. - Update `docs/architecture/components.md` (`2.4 Dashboard Service`) to document BigQuery support alongside ClickHouse. TAG=agy CONV=0fafd02b-f3b1-4563-a73d-49ec0845afbd Change-Id: I54548185a4277eb006923b50097ae5a2fce98f24
There was a problem hiding this comment.
Code Review
This pull request introduces dynamic BigQuery configuration resolution for the dashboard service by reading from a Kubernetes Component Custom Resource (CR) or falling back to static environment variables. It adds a new componentconfig package under pkg/bigquery to handle option resolution and fingerprinting, integrates this dynamic resolver into the dashboard service initialization, and updates the corresponding tests and architectural documentation. There are no review comments to address, and the implementation looks solid.
…ery-component-reload Change-Id: I27c6c3e75881d8a5270703d1405470ffaccc298a
…ard-bigquery-component-reload Sync downstream stack branch with upstream stack ancestry. TAG=agy CONV=0fafd02b-f3b1-4563-a73d-49ec0845afbd Change-Id: I7e5c67492169a9e3fae98f052cf14b88079ebdc3
There was a problem hiding this comment.
🤖 Incremental PR Approval
Clean rebase detected with zero semantic patch lines changed.
Preserving prior approval by @andrzejfudro on commit ef690c0.
…ard-bigquery-component-reload Change-Id: I9d292465acb3179285e87591fd2214005f128600
There was a problem hiding this comment.
🤖 Incremental PR Approval
Clean rebase detected with zero semantic patch lines changed.
Preserving prior approval by @andrzejfudro on commit ef690c0.
…ard-bigquery-component-reload Change-Id: I086a5766984f6d668cd3b1495ba4cd304325d300
There was a problem hiding this comment.
🤖 Incremental PR Approval
Clean rebase detected with zero semantic patch lines changed.
Preserving prior approval by @andrzejfudro on commit ef690c0.
Summary
Adds
pkg/bigquery/componentconfigand wires dynamicComponent/bigqueryCustom Resource discovery and live configuration hot-reload intocmd/dashboard_service, updatingdocs/architecture/components.md.Motivation & Context
Deployments running with the XMC Component Management System (
enable_components=true) manage infrastructure endpoints via KubernetesComponentCustom Resources (xmc.dev/v1alpha1) rather than static pod environment variables alone. SupportingComponent/bigquerywith SHA-256 coordinate fingerprinting allowsdashboard_serviceto discover BigQuery coordinates dynamically and swap its cachedDataEngineon/readyzprobes without restarting pods, matchingpkg/clickhouse/componentconfig.Key Changes
pkg/bigquery/componentconfig(Source,ResolveOptions,OptionsFingerprint) resolvingComponent/bigquerycoordinates with precedencestatus.access.envVars(PROJECT_ID,DATASET,TABLE) ->spec.parameters(projectId,dataset,table) -> static environment / fallback defaults.cmd/dashboard_serviceBigQuery initialization todataengine.NewDynamicEngineProviderwithbuildBigQueryResolverandisBigQueryExpectedCR inspection.docs/architecture/components.md(### 2.4 Dashboard Service) to documentpkg/bigqueryalongsidepkg/clickhouse.Assumptions
Component/bigqueryexposes uppercasePROJECT_ID,DATASET, andTABLEkeys understatus.access.envVarsand camelCaseprojectId,dataset, andtablekeys underspec.parameters— chosen to matchpkg/components/bridge/wrapper_reconciler.go(camelToUpperSnake) andpkg/clickhouse/componentconfig— Phase 3'sdeploy/profiles/stable-2026a/components/bigqueryprofile will use these exact parameter names.Verification & Testing
bazel test --build_tests_only --runs_per_test=10 //pkg/bigquery/... //cmd/dashboard_service/...,bazel coverage --build_tests_only --combined_report=lcov //pkg/bigquery/... //cmd/dashboard_service/...,./.githooks/pre-commitpkg/bigquery/componentconfig/resolver.go100.0% statement coverage, plus liveComponent/bigqueryhot-reload verification incmd/dashboard_service/main_test.go); pre-commit hooks and affected test suite pass.Related Issues / Bugs
N/A
TAG=agy
CONV=0fafd02b-f3b1-4563-a73d-49ec0845afbd