Repository navigation
Conversation
…VIDIA#2178) * feat(cli): add --secret-material-env to provider refresh configure * feat(cli): reject duplicate secret material keys Signed-off-by: Hung Le <[email protected]> --------- Signed-off-by: Hung Le <[email protected]>
…IA#2190) * docs(telemetry): add community telemetry reports page Add telemetry/README.md to publish aggregate usage trends every two weeks, and link to it from the Telemetry section of the main README. First report covers the July 8, 2026 window. Signed-off-by: Kirit Thadaka <[email protected]> * docs(telemetry): note telemetry start date (June 1, 2026) Clarify that all-time figures are cumulative from NVIDIA#1433, so readers know when the all-time counts begin. Signed-off-by: Kirit Thadaka <[email protected]> --------- Signed-off-by: Kirit Thadaka <[email protected]>
Signed-off-by: Adam Miller <[email protected]>
…VIDIA#2197) Add regression coverage for parser differentials in the egress proxy's CONNECT hostname handling and OPA wildcard policy matching. Signed-off-by: Shane Utt <[email protected]>
…2210) * fix(tui): route warning logs to status bar instead of stderr tracing::warn/info/debug calls in the TUI crate write to stderr via the global tracing subscriber. In ratatui's alternate-screen/raw-mode, stderr writes corrupt the terminal layout. Error-state sandboxes amplify this as background gRPC polls fail every 2s tick. Replace all 25 tracing calls with app.status_text assignments for direct-access sites, and Vec<String> accumulation for the spawned start_port_forwards task. Add ForwardWarnings event variant to decouple forward warning delivery from the sandbox name in CreateResult, preventing downstream gRPC lookup failures. Closes NVIDIA#2120 Signed-off-by: Ian Miller <[email protected]> * feat(tui): add ForwardWarnings event variant New event type for non-fatal port-forward warnings during sandbox creation. Keeps warning delivery separate from the sandbox name in CreateResult to avoid corrupting downstream gRPC lookups. Signed-off-by: Ian Miller <[email protected]> * chore(tui): remove tracing dependency Compile-time guard against reintroducing stderr-writing tracing calls in the TUI crate. 14 other crates retain the dependency. Signed-off-by: Ian Miller <[email protected]> --------- Signed-off-by: Ian Miller <[email protected]>
Signed-off-by: Kirit93 <[email protected]>
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.1 to 8.3.2. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@f98e069...11f9893) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: 8.3.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…or OpenShift overrides (NVIDIA#2125) Signed-off-by: ChristianZaccaria <[email protected]>
Signed-off-by: Evan Lezar <[email protected]>
NVIDIA#2070) * fix(core): pin supervisor image tag to gateway version for all drivers The Podman and Kubernetes drivers defaulted the supervisor image to `:latest` via DEFAULT_SUPERVISOR_IMAGE, while the Docker driver already resolved a version-pinned tag. Extract the tag resolution logic into openshell-core so all three drivers use the same OPENSHELL_IMAGE_TAG > IMAGE_TAG > CARGO_PKG_VERSION priority chain. Closes NVIDIA#2068 Signed-off-by: Florent Benoit <[email protected]> * refactor(core): simplify supervisor image tag resolver to slice-based API Remove the Docker driver's wrapper functions and call openshell_core::config::default_supervisor_image() directly. Simplify resolve_supervisor_image_tag to accept &[&str] instead of three separate parameters. Signed-off-by: Florent Benoit <[email protected]> Signed-off-by: Florent Benoit <[email protected]> --------- Signed-off-by: Florent Benoit <[email protected]> Signed-off-by: Florent Benoit <[email protected]>
Signed-off-by: Taylor Mutch <[email protected]>
* feat(kubernetes): add sidecar supervisor topology Add the Kubernetes sidecar supervisor topology, its Helm/Skaffold configuration, topology documentation, and sidecar e2e matrix coverage. Skip root-only sandbox identity rewriting when process enforcement is network-only so the low-permission sidecar process container can start successfully. Signed-off-by: Taylor Mutch <[email protected]> * fix(supervisor): avoid similar process id names Signed-off-by: Taylor Mutch <[email protected]> * fix(supervisor): avoid similar process id names Signed-off-by: Taylor Mutch <[email protected]> * fix(sandbox): avoid similar proxy id names Signed-off-by: Taylor Mutch <[email protected]> * docs(kubernetes): clarify sidecar topology limits Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): keep sidecar process leaf capless Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): refresh sidecar provider env snapshots Signed-off-by: Taylor Mutch <[email protected]> * test(supervisor): align hot-swap identity regression Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): stage sidecar mtls files before proxy chown Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): simplify sidecar supervisor topology Signed-off-by: Taylor Mutch <[email protected]> * chore(helm): reuse sidecar skaffold values Signed-off-by: Taylor Mutch <[email protected]> * fix(supervisor): avoid similar iptables helper names Signed-off-by: Taylor Mutch <[email protected]> * fix(e2e): harden kube gateway wrapper setup Signed-off-by: Taylor Mutch <[email protected]> * fix(supervisor): avoid nft batch rollback on OCP Run nftables setup as individual commands so optional conntrack and log expressions can fail without rolling back required table, chain, and reject rules. Signed-off-by: Seth Jennings <[email protected]> Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): preserve process identity in sidecar topology Render sidecar pods with a shared process namespace, keep binary-aware network policy enabled, and move Kubernetes sidecar settings under the nested sidecar config table. Also apply unprivileged Landlock/seccomp setup in NetworkOnly supervisor mode so sidecar topology keeps sandbox child hardening without privileged process setup. Signed-off-by: Taylor Mutch <[email protected]> * refactor(kubernetes): replace sidecar snapshots with control socket Coordinate sidecar policy and provider bootstrap over a local Unix socket so the process leaf no longer reads policy/provider snapshot files. Report entrypoint startup through the control channel and keep gateway credentials confined to the network sidecar. Signed-off-by: Taylor Mutch <[email protected]> * feat(kubernetes): support relaxed sidecar network identity Signed-off-by: Taylor Mutch <[email protected]> * fix(sandbox): satisfy sidecar clippy lint Signed-off-by: Taylor Mutch <[email protected]> * refactor(kubernetes): standardize topology naming Signed-off-by: Taylor Mutch <[email protected]> * fix(sandbox): satisfy linux clippy timeout import Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): support kata sidecar on ipv4 pods Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): satisfy linux clippy for sidecar fallback Signed-off-by: Taylor Mutch <[email protected]> * chore(kubernetes): remove stale supervisor topology references Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): enable sidecar binary policy inspection Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): harden sidecar control boundary Signed-off-by: Taylor Mutch <[email protected]> * fix(kubernetes): couple sidecar supervisor lifecycles Signed-off-by: Taylor Mutch <[email protected]> --------- Signed-off-by: Taylor Mutch <[email protected]> Signed-off-by: Seth Jennings <[email protected]> Co-authored-by: Seth Jennings <[email protected]>
* feat(kubernetes): support PVC subPath driver config Signed-off-by: mjamiv <[email protected]> * test(kubernetes): cover writable PVC driver config Signed-off-by: mjamiv <[email protected]> * fix(kubernetes): address PVC subPath review feedback Signed-off-by: mjamiv <[email protected]> * fix(kubernetes): address PVC config review follow-up Signed-off-by: mjamiv <[email protected]> * fix(kubernetes): address PVC review follow-ups --------- Signed-off-by: mjamiv <[email protected]>
Parent brainstorm (01) defines the layered measurement approach for evaluating Agent Sandbox warm pooling on OpenShift. Child documents cover cluster setup (02), measurements (03), and results synthesis (04). Assisted-By: 🤖 Claude Code
Assisted-By: 🤖 Claude Code Signed-off-by: Roland Huß <[email protected]>
Assisted-By: 🤖 Claude Code Signed-off-by: Roland Huß <[email protected]>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
rhuss
marked this pull request as ready for review
July 11, 2026 10:28
rhuss
marked this pull request as draft
July 11, 2026 10:29
Add a Go SDK that provides typed clients for the OpenShell gateway and edge APIs. The SDK wraps the gRPC transport layer and exposes idiomatic Go types with functional option configuration. Includes: - Gateway and Edge API clients with full CRUD operations - In-memory fakes for testing (matching real client validation) - OIDC authentication with automatic token refresh - Proto generation automation (mise task + CI check) - Fern documentation (getting-started, architecture, auth, errors) Resolves: NVIDIA#2044 Assisted-By: 🤖 Claude Code Signed-off-by: Roland Huß <[email protected]>
Owner
Author
|
Closing to recreate with clean diff after rebasing on updated main. |
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.
Summary
Add a Go SDK that provides typed clients for the OpenShell gateway and edge APIs. The SDK wraps the gRPC transport layer and exposes idiomatic Go types with functional option configuration.
This PR addresses #2044.
Features
File Tree
Development Methodology
This SDK was developed using spec-driven development. Design specifications are available in a follow-up PR (#6) for transparency and review.
Testing
testify(assert/require)//go:build integrationBuild & CI
The Go CI job mirrors the existing Rust and Python jobs:
Examples
The interactive TUI example (
oshell) has been extracted to a separate repository: rhuss/openshell-examples. This keeps the upstream SDK library-only.