Add cloud executor registration to exec-server#19575
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
|
I have read the CLA Document and I hereby sign the CLA |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1869c17b83
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- anomalyco/opencode#24465: ecosystem table row (merge-as-is) - openai/codex#19575: cloud-executor first milestone (merge-after-nits) - BerriAI/litellm#26533: MCP semantic filter suffix-match (merge-after-nits)
| } | ||
|
|
||
| sleep(backoff).await; | ||
| backoff = (backoff * 2).min(Duration::from_secs(30)); |
There was a problem hiding this comment.
If possible, avoid inlining the retry logic here and use a retry policy + wrapped function
There was a problem hiding this comment.
That said, I could see the divergence here being different enough to warrant a separate path, so not a blocker for now
|
|
||
| /// Register an exec-server with cloud environments and serve requests over the | ||
| /// returned rendezvous websocket. | ||
| pub async fn run_cloud_executor( |
There was a problem hiding this comment.
It would be nice if this and the existing main were collapsed - the main difference is the connection setup, but otherwise request handling from thereafter is the same. Eventually we would want to have shared signal handling, or other setup
bcebd89 to
c1d9533
Compare
281f31b to
fb4a992
Compare
Summary
This PR adds the first
codex-rsmilestone for remote-exec e2e: a localcodex exec-servercan now register itself withcodex-cloud-environmentsand attach to the returned rendezvous websocket.At a high level,
codex exec-server --cloud ...now:codex-cloud-environmentsWhat Changed
--cloud,--cloud-base-url,--cloud-environment-id, and--cloud-nametocodex exec-serverexec-server/src/cloud.rsmodule that handles:401/403ConnectionProcessor/ExecServerHandlerpath so cloud mode serves the same exec/filesystem RPC surface as local websocket modeTesting
Manual e2e test that fully goes through exec server flow with our codex cloud agent as orchestrator