Rewrite service readiness check and remove orchestration service #1583
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Replace port-forwarding based service readiness checks with a simpler, more reliable one-shot pod approach. This eliminates the orchestration service RPC entirely and makes readiness checks work consistently for both in-cluster and remote Kubernetes clusters.
Key Changes
1. Service Readiness Check Rewrite
Before:
RawDialServer()
with port-forwarding*.svc.cluster.local
DNS/dev/tcp
deviceAfter:
nc
(netcat) for TCP connectivity tests2. Orchestration Service Removal
Deleted:
orchestration/service/
package (~400 lines)orchestration/proto/
package (~800 lines)CallAreServicesReady()
RPC functionThe
AreServicesReady
RPC was the only remaining orchestration service endpoint. Since we now handle readiness checks directly without RPC, the entire service package is no longer needed.3. Orchestrator Deployment Changes
UseOrchestrator = false
(wastrue
)--use_orchestrator
flag for runtime config controllers4. Security Improvements
cgr.dev/chainguard/busybox:latest
)Implementation Details
The new readiness checker:
nc -z
to test TCP connectivity with retry logic (60 attempts × 500ms = 30s)Testing
go test ./...
)go build ./...
)nsdev prepare local
completes without deploying orchestratornsdev test
runs successfully (service readiness check executes)Benefits
Breaking Changes
None. The orchestration service RPC was already unused - this just removes the dead code.
🤖 Generated with Claude Code