feat(deploy): replace Traefik with Edge and Node Proxy - #56
Open
WenYuLuo wants to merge 2 commits into
Open
Conversation
Configure Edge and Node Proxy through the Go CLI, expose their Helm service and readiness settings, and discover the gateway for SDK exports. Keep deployment supervisors alive while the CLI performs ordered cleanup. Translate the shared image stop signal for the control plane and forward node termination through Bash with mixed service cleanup. Add regression coverage for signal forwarding, cleanup waiting, and exit-code propagation. Signed-off-by: robbluo <luo1442@gmail.com>
Make the Edge ingress the default for standalone, Helm and cloud profiles, and remove the Traefik deployment, routing and image configuration. Package the matching Core and data-plane binaries while preserving the RRT and SDK command protocol. Update sandboxd to main for its Start response IP. Serve gateway metadata and optional Grafana routes through Edge, resolve internal SDK ports from the gateway listeners, and update CI and deployment documentation for the single-container standalone topology. Signed-off-by: robbluo <luo1442@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Replace the Traefik ingress with Edge and Node Proxy in the default standalone, Helm and Terraform deployments. Standalone now starts one all-in-one container; the Go CLI starts Edge beside Frontend and a Node Proxy on each runtime node. Remove the Traefik chart resources, image/configuration inputs, provider setup and CI dependency.
Package checksum-pinned Core and data-plane source from YuanRong
2b54c26885c6, including the process scripts and Node Proxy address registration. Keep RRT and the sandbox SDK on0.10.2rc2to preserve their command protocol. Advance sandboxd to mainb5d25eede1729, which includes the sandbox IP returned from Start.Expose HTTP/WS and HTTPS/WSS through the Edge Service with configurable TLS, IAM validation and CIDRs. Support retaining an existing LoadBalancer identity during migration. Route
/internal-statsand optional/grafanathrough Edge; use the advertised listener ports for SDK internal URLs. Update the environment helper, cloud profiles and deployment documentation.The entrypoint and node Bash supervisor forward termination and wait for the CLI.
KillMode=mixedlets the supervisor drive shutdown, while sandboxd retains its separate service and ordering dependency.Validation
openyuanrong-sandbox==0.10.2rc2; Ruff and mypy passed.Validation boundary
Standalone validation uses a prepared all-in-one base overlaid with the selected Core, rebuilt RRT root filesystem, data-plane binaries, sandboxd and deployment scripts. The data-plane build used the available Linux compile image override. TLS routing checks used the deployment certificate with verification disabled. A complete clean all-in-one build and ARM runtime validation have not been rerun locally.
The full graceful-shutdown contract also requires the Go CLI signal-wait and
deploy.shshutdown-order fixes maintained outside this AKernel PR. Earlier cluster shutdown measurements used those runtime fixes; they do not validate every final default deployment setting.