Skip to content

chore: remove SSH handshake secret residuals and fix agent memory#1403

Merged
TaylorMutch merged 2 commits into
NVIDIA:mainfrom
maxamillion:rpm_ssh_secret_cleanup
May 15, 2026
Merged

chore: remove SSH handshake secret residuals and fix agent memory#1403
TaylorMutch merged 2 commits into
NVIDIA:mainfrom
maxamillion:rpm_ssh_secret_cleanup

Conversation

@maxamillion
Copy link
Copy Markdown
Collaborator

Summary

Removes three stale artifacts left behind by PR #1274 (removal of OPENSHELL_SSH_HANDSHAKE_SECRET), then corrects a set of inaccurate notes in the arch-doc-writer agent memory uncovered during the audit.

Related Issue

Refs OS-174.

Changes

Artifact removal:

  • openshell.spec: stale comment claiming init-gateway-env.sh generates an SSH handshake secret
  • e2e/with-podman-gateway.sh: dead podman secret rm openshell-handshake-<id> line — that secret is never created since refactor!(auth): drop SSH handshake secret #1274

Agent memory corrections (.claude/agent-memory/arch-doc-writer/MEMORY.md):

  • ssh_tunnel.rs no longer exists; replaced by ssh_sessions.rs
  • Object types list was missing service_endpoint and provider_profile
  • Pre-exec chain now includes harden_child_process() and uses the two-phase linux::prepare()/enforce() pattern on Linux
  • CLI SSH function list had nonexistent sandbox_rsync; corrected to actual exported functions
  • ExecSandbox is in grpc/sandbox.rs (not grpc.rs) and operates over a supervisor relay DuplexStream
  • resolve_ssh_gateway() moved to openshell-core/src/forward.rs
  • SSH transport note rewritten: NSSH1 is an OCSF-only label in examples/tests (not a live protocol preface); actual path is ForwardTcpDuplexStreamRelayStream → Unix socket; access gated by CreateSshSession token; TLS follows endpoint scheme (https:// = mTLS, http:// = plaintext; Podman driver does not yet inject mTLS client materials)
  • CLI flag note was self-contradictory (--openshell-endpoint NOT --openshell-endpoint); corrected to --gateway-endpoint with resolution priority chain

Testing

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

Removes three artifacts left behind by the NVIDIA#1274 removal of
OPENSHELL_SSH_HANDSHAKE_SECRET, then corrects a sweep of stale and
inaccurate notes in .claude/agent-memory/arch-doc-writer/MEMORY.md
that were discovered during the audit.

Artifact removal (Refs OS-174):
- openshell.spec: stale comment claiming init-gateway-env.sh generates
  an SSH handshake secret
- e2e/with-podman-gateway.sh: dead podman secret rm for
  openshell-handshake-<id>, which is never created since NVIDIA#1274

Agent memory corrections:
- ssh_tunnel.rs no longer exists; replaced by ssh_sessions.rs
- Object types list was missing service_endpoint and provider_profile
- Pre-exec chain now includes harden_child_process() and uses the
  linux::prepare()/enforce() two-phase pattern on Linux
- CLI SSH function list had nonexistent sandbox_rsync; corrected to
  actual exported functions
- ExecSandbox is in grpc/sandbox.rs (not grpc.rs) and operates over
  a supervisor relay DuplexStream, not a direct TCP connection
- resolve_ssh_gateway() moved to openshell-core/src/forward.rs
- SSH transport note rewrote: NSSH1 is an OCSF-only label (not a live
  protocol preface); actual path is ForwardTcp -> DuplexStream ->
  RelayStream -> Unix socket; access gated by CreateSshSession token;
  TLS follows endpoint scheme (https:// = mTLS, http:// = plaintext;
  Podman driver does not yet inject mTLS client materials)
- CLI flag note was self-contradictory; corrected to --gateway-endpoint
  with resolution priority chain
@maxamillion maxamillion requested review from a team, derekwaynecarr and mrunalp as code owners May 15, 2026 16:03
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 15, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@TaylorMutch
Copy link
Copy Markdown
Collaborator

Thanks @maxamillion ; I had missed some of this. Thanks for cleaning this up

TaylorMutch
TaylorMutch previously approved these changes May 15, 2026
@maxamillion
Copy link
Copy Markdown
Collaborator Author

@TaylorMutch happy to! I was excited to see your original change and realized there were a couple artifacts left beyond so I thought I'd give it a try at cleaning them up

@TaylorMutch TaylorMutch added the test:e2e Requires end-to-end coverage label May 15, 2026
@github-actions
Copy link
Copy Markdown

Label test:e2e applied, but pull-request/1403 is at {"messa while the PR head is e65720f. A maintainer needs to comment /ok to test e65720f4f1f103f1095d90a6790f9c9a09dd31e7 to refresh the mirror. Once the mirror catches up, re-run Branch E2E Checks from the Actions tab.

@TaylorMutch
Copy link
Copy Markdown
Collaborator

/ok to test e65720f

Three nested if blocks in connect_local_container_engine() were
flagged by clippy after NVIDIA#1370. Collapse to single if-let chains
using && as suggested.
@TaylorMutch
Copy link
Copy Markdown
Collaborator

/ok to test de77b99

@TaylorMutch TaylorMutch merged commit f672f75 into NVIDIA:main May 15, 2026
35 of 37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:e2e Requires end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants