ssh-config sync: emit a ProxyJump for single-VM (no sentinel) installs
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 70/100
Research direction
Start in internal/sshconfig/generate.go and reproduce ssh-config sync --http --server against the empty-ssh_host case; read section 4.2 of docs/DEPLOYMENT-GUIDE.md for the existing host-jump setup. Done means the generated Host block connects from a laptop and a unit test pins the empty-ssh_host output.
Written by the indexing model from the issue text.
Description
Problem
On a fresh single-VM install (no sentinel, no --ssh-host), containarium ssh-config sync --http --server http://<vm>:8080 run from a laptop writes the box's private Incus bridge IP as HostName (internal/sshconfig/generate.go), so ssh <box> from the laptop cannot connect. The host jump account that create makes only works with a hand-written ProxyJump (docs/DEPLOYMENT-GUIDE.md section 4.2); ssh-config sync never writes one.
Proposed
In direct mode (daemon reports an empty ssh_host), have ssh-config sync emit a ProxyJump through the host so ssh <box> works from a laptop, or fail with a clear message pointing at --ssh-host / a sentinel.
Acceptance criteria:
- Against a single-VM install with no sentinel,
ssh-config sync --http --server ...on a laptop produces an entry that connects. - Unit test pins the generated
Hostblock for the empty-ssh_hostcase.
Found while rewriting the Quick start (#2244). The README will label the remote variant as needing a sentinel or --ssh-host until this lands.
- Dominant language
- Go
- Stars
- 296
- Forks
- 38
- Avg merge
- 7h 20m
- Merged PRs (30d)
- 683
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from FootprintAI/Containarium
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
FootprintAI/Containarium#2491 ·
Maintainers usually reply within 1 day
-
epic sprint
Difficulty 5/5 Over a week Newbie friendliness 5/100
FootprintAI/Containarium#3524 · 1 comment ·
Maintainers usually reply within 1 day
-
model:sonnet phase-2-optimize runtime:claude security size:M
Difficulty 3/5 1-2 days Newbie friendliness 45/100
FootprintAI/Containarium#3523 ·
Maintainers usually reply within 1 day
-
model:opus needs-verification phase-2-optimize runtime:claude security size:M
Difficulty 3/5 1-2 days Newbie friendliness 45/100
FootprintAI/Containarium#3522 ·
Maintainers usually reply within 1 day
-
model:sonnet phase-2-optimize runtime:claude security size:S
Difficulty 3/5 1-2 days Newbie friendliness 35/100
FootprintAI/Containarium#3521 ·
Maintainers usually reply within 1 day
All issues in FootprintAI/Containarium
Similar issues
-
area:sampler tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
jmbarzee/temporal-architect#302 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
riverqueue/river#1576 ·
Maintainers usually reply within 1 day
-
NFS StorageProvider renders a missing nfsSubDir as "<no value>"Possibly taken @ldming claimed this today. Openkind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
apecloud/kubeblocks#11067 ·
Maintainers usually reply within 1 day
-
area:ui bug priority:low
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
RTX payload type is not found when the RTX fmtp line has rtx-timePossibly taken @RaphaelFakhri claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day