Repository navigation
feat(components): 3p custom wrapper reconciliation and coordinate injection - #583
VLukiantsev wants to merge 0 commit into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for reconciling third-party custom wrappers (COMPONENT_TYPE_CUSTOM_3P_WRAPPER) by implementing a new BridgeProber that combines status detection and health probing. It also adds corresponding reconciliation logic, environment variable population, and comprehensive unit tests. The review feedback focuses on defensive programming, suggesting nil checks on status detection and health probe results to prevent potential nil pointer dereference panics, and highlights a hardcoded timeout that overrides user configuration.
0dc5901 to
20da945
Compare
b20bedc to
445b7b5
Compare
7596ff9 to
fa6ee15
Compare
12c6418 to
48ffb57
Compare
fa6ee15 to
b23fa40
Compare
48ffb57 to
d8b1d8f
Compare
b23fa40 to
8a4b7f9
Compare
d8b1d8f to
379d6ea
Compare
8a4b7f9 to
b8a12e8
Compare
1337502 to
fad2b65
Compare
b8a12e8 to
d318819
Compare
fad2b65 to
a7f627b
Compare
89b4103 to
8c26820
Compare
4d8c841 to
2fca052
Compare
8c26820 to
16ba51f
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for reconciling third-party (3P) wrappers in the xmc-bridge service by adding a BridgeProber for status detection and health probing, implementing 3P wrapper reconciliation logic, and parsing wrapper reference options. The review feedback highlights three key issues: first, overwriting the observed generation with the target resource's generation violates Kubernetes API conventions; second, ParseWrapperRefOptions should support both camelCase and snake_case keys to prevent parsing failures; and third, the reconciler should distinguish between a missing CRD and a missing resource instance instead of hardcoding 'CRDNotFound'.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for reconciling third-party wrappers (COMPONENT_TYPE_CUSTOM_3P_WRAPPER) in the bridge reconciler. It adds the BridgeProber to combine status detection and health probing, parses wrapper reference options from the custom resource spec, and populates access environment variables upon successful reconciliation. The review feedback highlights two important issues: first, when status detection fails, the reconciler should update the resource conditions to preserve observability and prevent existing conditions from being wiped out; second, the ProbeHealth signature should be updated to accept a default namespace to correctly resolve namespace-scoped third-party resources when the namespace is omitted in the spec.
dd10524 to
683cf41
Compare
2e605cc to
474dc29
Compare
683cf41 to
454e69e
Compare
474dc29 to
1b2405c
Compare
454e69e to
1918657
Compare
979cb2f to
4c09372
Compare
46afdf1 to
96b7cae
Compare
4c09372 to
5d3323c
Compare
96b7cae to
4daed72
Compare
5d3323c to
2d3fe5d
Compare
4daed72 to
abf57fb
Compare
2d3fe5d to
b7a5eba
Compare
abf57fb to
9bcb583
Compare
b7a5eba to
e9ae72a
Compare
9bcb583 to
8f4c135
Compare
e9ae72a to
6884a5a
Compare
8f4c135 to
b9952f5
Compare
6884a5a to
feb8c4f
Compare
b9952f5 to
ad5d860
Compare
feb8c4f to
1d95d2f
Compare
ad5d860 to
82bb8bc
Compare
1d95d2f to
3b05b66
Compare
82bb8bc to
4bac60e
Compare
4bac60e to
8c64264
Compare
1409391 to
944de33
Compare
8c64264 to
821d029
Compare
944de33 to
86bdb5a
Compare
821d029 to
9164552
Compare
86bdb5a to
f9c29f0
Compare
9164552 to
787f2d6
Compare
f9c29f0 to
d4296d4
Compare
|
Closing PR #583 as its reconciliation flow, coordinate parsing, and active health probing logic have been vertically consolidated into PR #581 (Passive CRD Status Detection & Reconciler Wiring) and PR #582 (Active Network Health Probing & Access Coordinate Publishing) to eliminate dead code across intermediate PRs. |
Summary
Implements third-party wrapper reconciliation, active status synchronization, access coordinate publishing, and daemon prober wiring for the XMC GitOps Bridge subsystem (
pkg/components/bridge,cmd/xmc_bridge).Motivation & Context
Completes the 3P CRD integration in the GitOps Bridge controller, allowing external Kubernetes operators and CRDs (e.g., Ray, ClickHouse, Kueue) to be managed declaratively as XMC Components with dynamic status detection, health verification, and access routing.
Key Changes
pkg/components/bridge/reconciler.go: Implementsreconcile3PWrapper,verifyEndpointHealth,handle3PReadyStatus,handle3PUnreadyStatus,populateAccessEnvVars,BridgeProber, andParseWrapperRefOptions.pkg/components/bridge/reconciler_test.go: Comprehensive unit and scenario tests for 3P wrapper reconciliation and prober composition.cmd/xmc_bridge/main.go: Instantiates and wiresBridgeProberwith dynamic client and network health prober.Verification & Testing
bazel test //pkg/components/... //cmd/xmc_bridge/...TAG=agy
CONV=e193ad6b-8b84-49bd-b734-9ebe92b1d7c5