Operator asked for cloudflared, tailscale, rg, git and gh available by default in the container. git/ca-certificates/ripgrep already landed; this adds the remaining three. Each comes from its vendor's own signed apt repository rather than a curl-to-shell installer, so signature checking and upgrades follow the normal apt path: gh https://cli.github.com/packages tailscale https://pkgs.tailscale.com/stable/debian cloudflared https://pkg.cloudflare.com/cloudflared Why each belongs in the image: gh backs Fusion's gh-cli GitHub auth mode (the auth route instructs operators to run `gh auth login`, impossible without the binary), cloudflared backs the dashboard's remote-access feature whose in-app installer cannot bootstrap itself reliably in a slim container, and tailscale is the private-network option for the same box. Installing tailscale does NOT make tailscaled runnable by itself: the daemon also needs --cap-add NET_ADMIN --device /dev/net/tun at docker run. Shipping the binary is the image's part; granting kernel capabilities stays an explicit operator decision. Commands were validated live in a running container before being written here; the guard test asserts both the repo wiring and the package names so half a change cannot silently ship. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
765 B
765 B
@runfusion/fusion
| @runfusion/fusion |
|---|
| patch |
summary: The Docker image now ships gh, tailscale, and cloudflared alongside git and ripgrep.
category: feature
dev: Runner stage adds the GitHub CLI (backs githubAuthMode: "gh-cli", which the auth route tells operators to set up with gh auth login), cloudflared (backs dashboard remote access, whose in-app installer cannot bootstrap itself reliably in a slim container), and tailscale, each from its vendor's signed apt repository rather than a curl-to-shell installer. Installing tailscale does not make tailscaled runnable on its own — that still needs --cap-add NET_ADMIN --device /dev/net/tun at docker run. Package names and repo URLs are asserted in scripts/tests/dockerfile-workspace-manifests.test.mjs.