Repository navigation
Docker image + Proxmox LXC install rail - #273
Merged
Merged
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…th tmux and the five harnesses
…il, secret stability)
Co-Authored-By: Claude <noreply@anthropic.com>
…re) served at subshell.sh/proxmox.sh
…eads for curl|bash Co-Authored-By: Claude <noreply@anthropic.com>
…reads for curl|bash
…, docs patch) Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…nd add-a-machine page already exist) Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…document fetch and teardown
…served path, remedy string, docs, and tests follow
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
What
GHCR release image + Proxmox LXC rail, and the update rail that points containerized installs at them.
Dockerfile: packages the signedcli-serverrelease binary on debian:trixie-slim with tmux, Node 22, and the five harness CLIs; first-boot entrypoint runsinitdetached (setsid) and mints a uniqueBETTER_AUTH_SECRETon the/datavolume.docker-compose.yamlrepoints at the GHCR image; the secret is no longer required env.docker-image.yml: oncli-server-v*releases (or dispatch), downloads both linux assets, verifies the minisign manifest signature and digests (scripts/docker-release-verify.ts, refused by name), builds amd64+arm64 on native runners, pushes:<version>, runs the container scenario (scripts/cli-e2e/docker-image.sh), and only then moves:latest(release events only).proxmox-server.sh: host helper (community-scripts convention) - unprivileged Debian 13 LXC with Docker inside, install/update/backup/restore, update = pull + recreate with rollback on a failed health gate; served at subshell.sh/proxmox-server.sh; shellcheck gates it in lint.yml.proxmox-node.sh: the NODE half of the rail - a plain unprivileged LXC (no Docker) that runs the instance's OWN setup-keyed install command inside (pasted once, validated before anything is created, loopback refused in either clause, key never echoed or persisted). Node installs stay per-instance by design; nothing key-less is published.containerizeddeployment fact (SUBSHELL_CONTAINER=1),UPDATE_CONTAINERIZEDrefusal, the same remedy on the restart refusal andcanApply.reasons, andupdate --checkhonesty (json flag + prose). Docs: docker rewrite, new proxmox page (+ "As a node" section), updating pointer, one add-a-machine note.Spec
docs/superpowers/specs/2026-09-28-docker-proxmox-lxc-design.md, plandocs/superpowers/plans/2026-09-28-docker-proxmox-lxc.md(two operator-ruled plan amendments: NodeSource Node 22 + the failed-pull must not strand the running container).Verification
Full
verify-types/lint:check/lint:prose/test/turbo buildgreen;server-update.shscenario clean; the docker scenario green against a branch-built image (version, five harnesses on PATH, containerized--check, secret byte-stable across a recreate). Review ran to zero findings across five rounds (two whole-branch, one whole-rail + closures); the validator matrix (app-rendered forms, carry clause, loopback refusals, junk) is pinned in review evidence.What CI cannot prove here (the merge gates)
docker-image.ymlfirst runs on the nextcli-serverrelease. A dispatch on the current newest (1.5.0) is a sanctioned PARTIAL check: the published binary predates this PR's--checkcode, so the scenario's section 4 only goes green on a post-merge cut. The firstdocker pushmay land the GHCR package private; the workflow warns - flip visibility once at org settings if it fires.proxmox-server.sh install, first-run registration, open a pane,proxmox-server.sh update, expect the pane to end and data to survive.