Skip to content

Add credential vault support#1009

Merged
hittyt merged 23 commits into
mainfrom
pr-955-credential-vault
Jun 11, 2026
Merged

Add credential vault support#1009
hittyt merged 23 commits into
mainfrom
pr-955-credential-vault

Conversation

@jwx0925

@jwx0925 jwx0925 commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add Credential Vault support for Python SDK/server/Kubernetes sandbox credential injection paths.
  • Add Python E2E coverage for multiple auth types against a local test server.
  • Add a targeted Real E2E workflow dispatch option for Credential Vault validation.

Validation

Notes

  • The first full manual Real E2E run also passed the new Credential Vault job, but unrelated existing jobs hit runner disk/build issues. The targeted dispatch keeps this new E2E independently runnable while preserving normal PR/push behavior for full runs.

Comment thread tests/python/tests/test_credential_vault_e2e.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py
@jwx0925 jwx0925 changed the title Add credential vault support and auth e2e Add credential vault support Jun 9, 2026
@jwx0925

jwx0925 commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8ec6cc7dc5

ℹ️ 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".

Comment thread server/opensandbox_server/services/docker/docker_service.py Outdated
Comment thread server/opensandbox_server/services/k8s/egress_helper.py Outdated
Comment thread components/egress/policy_server.go Outdated
Comment thread components/egress/policy_server.go Outdated
Comment thread components/egress/policy_server.go
Comment thread specs/egress-api.yaml
Comment thread server/opensandbox_server/services/docker/networking.py
Comment thread components/egress/mitmscripts/system.py Outdated
Comment thread components/egress/policy_server.go Outdated
Comment thread tests/python/tests/test_credential_vault_e2e.py Fixed
@jwx0925 jwx0925 marked this pull request as ready for review June 10, 2026 04:12

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 32e15d7cc9

ℹ️ 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".

Comment thread server/opensandbox_server/services/k8s/egress_helper.py
Comment thread specs/sandbox-lifecycle.yml
Comment thread server/opensandbox_server/services/docker/docker_service.py Outdated
Comment thread components/egress/pkg/credentialvault/vault.go
@hittyt hittyt added feature New feature or request sdks labels Jun 10, 2026
Comment thread tests/python/tests/test_credential_vault_e2e.py Fixed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 049af322a8

ℹ️ 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".

Comment thread server/opensandbox_server/services/k8s/egress_helper.py Outdated
Comment thread components/egress/pkg/credentialvault/vault.go
Comment thread components/egress/policy_server.go Outdated
Comment thread components/egress/mitmscripts/system.py
Comment thread .github/workflows/real-e2e.yml Outdated
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Dismissed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
@ninan-nn

Copy link
Copy Markdown
Collaborator

Question on the CA trust ownership: should this new server-side setup be intentionally separate from the existing execd bootstrap path?

From the current code, there are now two mechanisms that can affect sandbox MITM CA trust:

  • components/execd/bootstrap.sh has the older path gated by OPENSANDBOX_EGRESS_MITMPROXY_TRANSPARENT: it waits for /opt/opensandbox/mitmproxy-ca-cert.pem, installs system/NSS trust, and prepares Node/Python/OpenSSL envs with a merged CA bundle where possible.
  • This PR adds a server-runtime path: Docker/Kubernetes share /etc/opensandbox/mitmproxy-ca-cert.pem from the egress sidecar and inject SSL_CERT_FILE / REQUESTS_CA_BUNDLE / CURL_CA_BUNDLE / GIT_SSL_CAINFO / NODE_EXTRA_CA_CERTS into the sandbox container.

Can we clarify whether these two paths are meant to coexist, and what the split of responsibility is? They currently differ in path, trigger env, wait/readiness behavior, and system/NSS/merged-bundle handling. If the server-runtime path is the desired direction for Credential Vault, it would help to document that split or retire/update the bootstrap path so the CA trust behavior does not drift over time.

Comment thread specs/egress-api.yaml Outdated
Comment thread components/egress/pkg/constants/configuration.go Outdated
Comment thread components/egress/pkg/constants/configuration.go
Comment thread components/egress/pkg/credentialvault/active_socket.go
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1f5e4d7a56

ℹ️ 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".

Comment thread components/egress/mitmscripts/system.py Outdated
Comment thread sdks/sandbox/python/src/opensandbox/adapters/egress_adapter.py Outdated
Comment thread components/egress/pkg/credentialvault/vault.go
Comment thread server/opensandbox_server/services/docker/docker_service.py Outdated
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py Fixed
@jwx0925 jwx0925 force-pushed the pr-955-credential-vault branch from 4998142 to 199f908 Compare June 11, 2026 08:06

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 199f90812f

ℹ️ 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".

Comment thread scripts/ci-docker-cleanup.sh Outdated
Comment thread .github/workflows/real-e2e.yml Outdated
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
Comment thread sdks/sandbox/python/src/opensandbox/sync/services/egress.py Fixed
@Pangjiping Pangjiping self-requested a review June 11, 2026 08:45

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b0ccda4ce1

ℹ️ 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".

Comment thread server/opensandbox_server/services/docker/networking.py
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py
Comment thread sdks/sandbox/python/src/opensandbox/services/egress.py

@Pangjiping Pangjiping left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9e9ae27fc8

ℹ️ 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".

Comment thread components/egress/mitmscripts/system.py

@hittyt hittyt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@hittyt hittyt merged commit 0ecfb73 into main Jun 11, 2026
35 checks passed
@Pangjiping Pangjiping deleted the pr-955-credential-vault branch June 11, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants