Skip to content

fix: automatically forward SSH agents for bind up and rebuild - #61

Merged
wcgomes merged 1 commit into
mainfrom
patch/automatic-ssh-forwarding-up
Oct 22, 2026
Merged

wcgomes merged 1 commit into
mainfrom
patch/automatic-ssh-forwarding-up

Conversation

@wcgomes

@wcgomes wcgomes commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • Automatically request one create-time --ssh only for fresh bind up and explicit bind rebuild when a local fetch or push remote uses SSH and the invocation's SSH_AUTH_SOCK resolves to a Unix socket. Discovery is bounded and host-local; socket metadata does not prove agent liveness, keys, or authentication.
  • HTTPS-only/local-only workspaces do not automatically expose the agent. Missing sockets warn without failing bring-up. Preserve explicit runArgs --ssh, existing clone/volume behavior, HTTP(S) credentials, config hashes and workspace volumes; never copy keys or query the agent.
  • Reuse/start never reconfigure forwarding or recreate containers; eligible unmarked legacy containers receive conditional rebuild --name guidance. Keep environment selection consistent and redact automatic-create socket diagnostics.
  • Include the requested pending README simplification and wiki broker/guardian architecture notes, two realized core requirements (S01–S09), and the three-document 20261022-automatic-ssh-forwarding-up archive. Preserve the existing README badge.

Verification

Existing retained evidence was inspected; no tests or runtime operations were rerun for this Git/PR task.

  • 1213 synthetic tests passed, zero failures/skips; 18 live integration cases excluded.
  • 10 focused SSH groups passed, including remote-helper exclusion and synthetic environment/socket boundaries.
  • Debug and release adevcontainer product builds passed. Bare release all-product build has the documented testability limitation; preexisting warnings remain.
  • Independent re-review APPROVE is recorded in the archived tasks after the remote-helper correction.
  • Staged/working-tree git diff --check passed. Audited all 20 staged files and scanned for high-confidence secrets; no newly introduced secret patterns. Four broad whole-file assignment matches were unchanged synthetic test fixtures. Ignored builds, logs, caches, generated assets and recovery backups were not staged.
  • No real SSH authentication was validated. Socket metadata and synthetic tests are not proof of successful real forwarding/authentication.

Execution incident and limits

An earlier test invocation accidentally omitted the synthetic selector. It ran to completion despite unverified SIGTERM attempts: seven real fixtures and image pulls occurred. Those fixture containers and runner are no longer active; targeted cleanup removed exactly four attributed test volumes and one UUID-derived image. Shared images, download/build caches and the shared stopped builder were preserved because no pre-incident runtime baseline proves exclusive provenance or prior absence. Full restoration is not asserted.

The mounts/ports fixture exposed preexisting host ~/.kube read-only. Its contents were not inspected, and absence of reads was not verified; there is no logged evidence establishing key reads or host writes. This PR does not assert absence of access or speculate about exfiltration. Complete inventory, timestamps, evidence boundaries, cleanup provenance and preserved resources are recorded in tasks.md.

Share bind up/rebuild SSH eligibility, preserve explicit forwarding and existing-container settings, and add synthetic policy and lifecycle coverage.

Include pending Git credential documentation, broker/guardian notes, realized requirements, and the archived verification and incident record.
@wcgomes
wcgomes merged commit a0566ec into main Oct 22, 2026
2 checks passed
@wcgomes
wcgomes deleted the patch/automatic-ssh-forwarding-up branch October 22, 2026 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant