Repository navigation
chore(deps): OpenShell v0.1.0 upstream contract drift needs a maintainer decision before bumping past v0.0.116 #366
Description
Summary
Tracking the latest upstream release of NVIDIA/OpenShell surfaced contract drift that needs a maintainer decision before HyperShell's gateway/supervisor pins can move past the current v0.0.116 base. Per the update-openshell skill, this is a needs-decision item, not a mechanical tag bump, so no pull request is opened for it.
Version delta
| Track | Version | Notes |
|---|---|---|
| Committed pin (source of truth) | v0.0.116-rhaiv.6 |
deploy/base/control-plane/deployment.yaml, deploy/base/platform-resources/controller.yaml (both agree) |
| Latest deployable midstream image | v0.0.116-rhaiv.15 |
opendatahub-io/openshell tags; same NVIDIA base v0.0.116, patches rhaiv.7..15 are Red Hat downstream fixes |
| Latest NVIDIA upstream release | v0.1.0 (published 2026-09-25) |
NVIDIA/OpenShell; not yet published as a midstream odh-openshell-* image |
Key point: the midstream (the deployable image source the skill uses) has not picked up v0.1.0. Its newest tag is still on the v0.0.116 base. So there is no v0.1.0-based image to pin today; v0.1.0 is upstream-only and represents drift that will arrive in a future rhaiv series on a v0.1.0 base.
Contract drift in v0.1.0 (triaged against the skill's contract surfaces)
v0.1.0 touches multiple contract surfaces the update-openshell skill enumerates:
- Credential storage drivers -
feat(compute): delegate sandbox authentication to drivers(feat(compute): delegate sandbox authentication to drivers NVIDIA/OpenShell#2968). HyperShell selects/validates drivers viaValidateCredentialDriverConfigandspecs/platform/openshell-gateway-credentials.spec.md. Delegating sandbox auth to drivers may change the validated surface. - Gateway/supervisor config schema (TOML) -
feat(server): add sandbox templates(#2833) andfeat(providers): make profiles authoritative(#2962). New/authoritative server config the control plane renders inmanifests/gateway/configmap.yaml/internal/gateway/config.go. - PKI / TLS / ingress -
fix(helm): honor empty clientCaSecretName for HTTPS-only mode(#2235). Interacts with HyperShell's hand-rolled per-tenant PKI + Route/ingress and the sandbox client-TLS provisioning restored in the 0.0.109 run (see skill learnings log). - Deployment topology (Helm) -
feat(helm): split gateway and workspace charts(#2643). HyperShell adopts the upstream Helm chart for gateway deployments (see closed feat(control-plane): adopt upstream OpenShell Helm chart for gateway deployments #194); a chart split may require chart-reference/values changes. - Gateway/supervisor CLI flags & env -
feat(sandbox): add --no-login-shell(#2852),feat(cli): add structured output to list commands(#3067). Control plane sets flags/env. - Middleware / HTTP surface -
feat(middleware): broaden HTTP header mutation authority(#3072). - Breaking-change marker present (
feat!(ci): remove daily minor release automatic workflow, #3008) - ci-only, but confirms this is a minor-version boundary, not a patch.
Decision required
- Adopt path for
v0.1.0: wait foropendatahub-io/openshellto publish av0.1.0-rhaiv.*midstream image, or build via the agent track fromNVIDIA/OpenShell@v0.1.0for pre-release validation? - Config/credential contract: confirm whether "delegate sandbox authentication to drivers" and "sandbox templates" change the rendered
gateway.tomlkeys andValidateCredentialDriverConfig; if so, plan the control-plane code + spec changes. - PKI/TLS + Helm chart split: evaluate
clientCaSecretNameHTTPS-only behavior and the gateway/workspace chart split against HyperShell's current Helm adoption and per-tenant PKI. - Interim mechanical bump: independently of
v0.1.0, the midstream offers a same-base bumpv0.0.116-rhaiv.6->v0.0.116-rhaiv.15(downstream patches only, no NVIDIA base change). Decide whether to take that as a separate mechanicalneeds-reviewPR now.
Verification run
- Resolved current pin from source-of-truth files; both agree on
v0.0.116-rhaiv.6. - Resolved latest midstream tag (
v0.0.116-rhaiv.15) and latest NVIDIA upstream release (v0.1.0, 2026-09-25). - Ran the skill's discovery greps for
odh-openshell-(gateway|supervisor):and the current pin; footprint is internally consistent onrhaiv.6. - Searched open/closed issues and PRs for
v0.1.0,rhaiv,bump/update OpenShell,odh-openshell- no existing item tracks this drift (closest are closed: skill correction docs(tooling): correct update-openshell skill for midstream + agent build tracks #364, Renovate automation [HYPERSHELL-46] Automated PRs to update OpenShell gateway and supervisor images via Renovate #240).
Skill learnings-log entry (recorded here; no PR on this path)
The update-openshell skill's self-reinforcement normally records lessons in the update PR. Because this run opens no PR (contract drift -> issue) and must not modify main directly, the learning is captured here:
v0.1.0 (2026-09-25, needs-decision, no bump): NVIDIA upstream released
v0.1.0(minor bump off thev0.0.116line) with contract-affecting changes (driver-delegated sandbox auth #2968, sandbox templates #2833, authoritative provider profiles #2962, HTTPS-onlyclientCaSecretName#2235, gateway/workspace Helm chart split #2643). The midstream image source (opendatahub-io/openshell) had NOT yet published av0.1.0-based tag - latest wasv0.0.116-rhaiv.15, same base as therhaiv.6pin. Lesson: "latest NVIDIA upstream release" and "latest deployable midstream image" can diverge across a minor-version boundary; when they do, the upstream minor is triage/needs-decision only and is not yet pinnable. Interim same-base mechanical optionrhaiv.6 -> rhaiv.15remained available.
/cc maintainers - filed by the automated Implementer run per the update-openshell skill.
Activity
hypershell-builder commentedon Sep 25, 2026
Independent re-run: same
needs-decisionconclusion, plus additional contract-surface hitsAn automated
update-openshellImplementer re-run (current pinv0.0.116-rhaiv.6, latest NVIDIA upstreamv0.1.0published 2026-09-25, latest deployable midstream stillv0.0.116-rhaiv.15) independently reached the same conclusion recorded here:v0.1.0is upstream-only, not yet pinnable via the midstream image source, and touches contract surfaces that need a maintainer decision. No duplicate issue was opened and no PR was created for this path.Deep triage of the full
v0.0.116...v0.1.0changelog surfaced several breaking (!) and contract-affecting changes not listed in the issue body above. Adding them so the decision has the complete surface:agents.x-k8s.ioAPI version -chore(kubernetes): update Agent Sandbox to v1.0.3(chore(kubernetes): update Agent Sandbox to v1.0.3 NVIDIA/OpenShell#3578). HyperShell hard-codesagents.x-k8s.io/v1beta1(components/control-plane/internal/gateway/sandbox_observation.go:15) and pins agent-sandboxv0.5.6(deploy/kind/infrastructure/kustomization.yaml). A jump to Agent Sandbox v1.0.x very likely moves the served CR API version offv1beta1, which would require changes tosandbox_observation.go,controller-rbac.yaml,control-plane/rbac/clusterrole.yaml, the networkpolicies, and thev1beta1claim inglobal-architecture.spec.md/ibm-cluster/SKILL.md. This is the highest-risk hit and was not called out above.refactor(config): normalize and enforce gateway schema v2(#2814). An enforced schema v2 directly affects thegateway.tomlthe control plane renders (manifests/gateway/configmap.yaml,internal/gateway/config.go); a bump could fail closed if rendered keys do not match v2.refactor(proto)!: use well-known time types(#3113) andfeat(api)!: use sandbox names as canonical RPC references(#3272). Both are breaking proto/API changes; the API server + control plane speak gRPC (components/api-server/proto/).feat(server): support EC and EdDSA keys in OIDC JWKS validation(#2593),fix(auth): harden OIDC trust root retrieval(#3332), andfix(auth): remove legacy sandbox JWT admission(#3562). Re-checkValidateOIDCConfigand sandbox JWT assumptions.fix(bootstrap): emit RFC 5280 extensions on generated gateway PKI(#3286) andfix(policy)!: reject unsupported TLS endpoint values(#3414). Interacts with HyperShell's hand-rolled per-tenant PKI and the sandbox client-TLS restored in the 0.0.109 run.feat(kubernetes): support HA gateway rebalancing(#1868) andfix(helm)!: reduce gateway Secret privileges(#3616) change gateway deployment/RBAC expectations.Net: this reinforces that
v0.1.0is a minor-version boundary with multiple breaking contract changes, not a mechanical bump.Interim mechanical option is still separable
Independent of
v0.1.0, the same-base midstream bumpv0.0.116-rhaiv.6->v0.0.116-rhaiv.15(Red Hat downstream patches only, no NVIDIA base change) remains available as a separate mechanicalneeds-reviewPR if maintainers want the downstream fixes now. This run did not open that PR (out of scope for theneeds-decisionfinding); flagging it here for the decision.Learnings-log note for this run
Filed by the automated Implementer run per the
update-openshellskill; the item was already tracked, so this is a supplement to #366 rather than a new issue.markturansky commentedon Sep 28, 2026
Midstream has v0.1.2-rhaiv.0 as the latest tracking upstream 0.1.2
markturansky commentedon Sep 28, 2026
Resolved in #375. The update to v0.1.2-rhaiv.0 is now open for review. Triggered automatically by Step 0 of the update-openshell skill detecting this human reply.
markturansky commentedon Sep 28, 2026
Reopening so the in-cluster Implementer can pick this up via the new Step 0 logic (PR #374) and open the bump PR as hypershell-builder[bot].
chore(deps): bump OpenShell to v0.1.2-rhaiv.0 (closes #366)
chore(deps): bump OpenShell to v0.1.2-rhaiv.0 (closes #366)
chore(deps): bump OpenShell to v0.1.2-rhaiv.0 (closes #366)
feat(update-openshell): bumps to openshell v0.1.2 (openshift-online#374)
hypershell-builder commentedon Sep 30, 2026
update-openshell re-run: latest midstream is now
v0.1.2-rhaiv.2(current pinv0.1.2-rhaiv.0); the rhaiv.0 -> rhaiv.2 delta crosses contract surfaces and needs a maintainer decisionContext
v0.1.2-rhaiv.0(deploy/base/control-plane/deployment.yaml+controller.yaml,OPENSHELL_VERSION, vendoredcharts/openshell/).v0.1.2-rhaiv.2(opendatahub-io/openshell).v0.1.2(unchanged; no new upstream release notes since rhaiv.0).rhaiv.0 != rhaiv.2means this is an update (a rhaiv patch bump on the same NVIDIA base is still an update). This is not "already current."Why this is
needs-decision, not a mechanical PRThe human direction on this issue approved
v0.1.2-rhaiv.0, which is already committed. rhaiv.1 + rhaiv.2 are not just Red Hat patches: the midstream mergedupstream/mainseveral times, pulling forward 37 commits that touch contract surfaces theupdate-openshellskill enumerates. Going beyond the approved rhaiv.0 needs fresh direction.Contract-surface triage (
v0.1.2-rhaiv.0...v0.1.2-rhaiv.2)proto/openshell.proto): additive only - newSandboxRestartPolicyenum +spec.restart_policy(15); status fieldsrestart_count(14),next_restart_time(15),main_process_started_time(16);reserved 10/"SANDBOX_PHASE_RESTARTING"; EXPERIMENTALProviderProfileFile+ a provider files map. Additive/reserved = backward compatible. HyperShell does not vendor the gateway proto, so no api-server regen is forced. But the skill (Step 3b) mandates a console-dashboard image compatibility check whenever the workspace/sandbox gRPC proto changes; the current console pin (sha-71335e5,sha256:1d363311...) needs re-verification against a rhaiv.2 gateway (symptom of incompatibility is a silent infinite spinner on the Sandboxes tab).deploy/helm .../gateway-config.yaml+values.yaml): new[openshell.gateway.ocsf_log]section (gateway-native OCSF JSONL export, #3264/#3876), default disabled/opt-in;podLifecycle.terminationGracePeriodSecondsdefault5 -> 30; newserver.extraVolumes/extraVolumeMounts. HyperShell renders its owngateway.tomland does not setocsf_log, so nothing breaks by default, but adopting/exposing gateway-native OCSF logging overlaps HyperShell's own observability approach - a maintainer call.agents.x-k8s.ioAPI version: UNCHANGED, stillv1beta1at rhaiv.2 (verified inopenshell-driver-kubernetes). The highest-risk item from the earlier triage (v1beta1 -> v1) did not materialize; HyperShell's hard-codedSandboxGVR(sandbox_observation.go) stays valid.execprobe to atcpSocketprobe on new port5501(CONTROL_HEALTH_PORT) for gateway-created sandbox pods. Internal to the sandbox pod, but confirm HyperShell's renderednetworkpolicy(manifests/gateway/networkpolicy.yaml) does not block kubelet reaching 5501.Decision required
v0.1.2-rhaiv.2(or name a specific tag), given the above are additive/opt-in andv1beta1is unchanged; OR hold at rhaiv.0.On direction, an Implementer run will apply the mechanical sweep (re-vendor
charts/openshell/at the approved tag, cross-check chart RBAC + security-context for Kind, bump the pins across the footprint, rungo build/vet/test+make check) and open aneeds-reviewPR.Separable mechanical option: taking the rhaiv downstream patches is available independently if you want them now.
Verification performed: no code/build change attempted (pins untouched,
mainunmodified). Findings are from theopendatahub-io/openshellrhaiv.0...rhaiv.2 content diff and cross-checks against the HyperShell tree.Learnings-log note for this run (no-PR path; paste into
skills/tooling/update-openshell/SKILL.mdwhen acting on this decision):Filed by the automated
update-openshellImplementer run. The item is already tracked here, so this supplements #366 rather than opening a duplicate. No PR opened;mainand the version pins are unchanged.