Skip to content

Tags: smweber/devvm

Tags

v0.1.7

Toggle v0.1.7's commit message
bootstrap: create the dev user on root-only remote-managed hosts

A fresh cloud VM (e.g. Hetzner) is reachable only as root, but the
remote-managed path assumed the ssh login user was already an
unprivileged dev user with NOPASSWD sudo — only smol ever created one.
So the bootstrap-hook, key seeding, and repos all landed in /root, and
harden failed its authorized_keys fail-safe (or, had it passed, would
have written PermitRootLogin no + AllowUsers root: a lockout).

bootstrap now runs EnsureDevUser first on remote-managed: if the login
is root, create dev (home + bash + NOPASSWD sudoers, mirroring the smol
prereqs), install sudo if missing, copy root's authorized_keys to dev,
and rewrite the conf's ssh_host to dev@… so this run and everything
after connects as dev. Harden pins AllowUsers to the actual connection
user (getent for the home dir) and refuses to run as root.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

v0.1.6

Toggle v0.1.6's commit message
status: add --plain machine-readable listing

Emit one tab-separated 'name<TAB>backend<TAB>state' row per machine, with no
headers or grouping, so scripts can enumerate machines (e.g. every running
smol VM) without scraping the human-formatted table. Reuses gatherRows, so it
reflects the same derived states as the normal view.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

v0.1.5

Toggle v0.1.5's commit message
v0.1.5

smol shell/hostname fixes, disk config, conf minimalism, status redesign,
create wizard, jj-colocated repo clones; remove the vnc command.

v0.1.4

Toggle v0.1.4's commit message
build.sh: disable VCS stamping so guest agents are byte-reproducible …

…in CI

v0.1.3

Toggle v0.1.3's commit message
Pin exact build toolchain in .go-version; lower go.mod to a floor

v0.1.2

Toggle v0.1.2's commit message
cleanup: genericize test fixtures and README publishing section

v0.1.1

Toggle v0.1.1's commit message
cli: group repos/ports/keys into subcommands; add 'repos add' with clone

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.1.0

Toggle v0.1.0's commit message
Add release.sh: cross-compile host binaries for GitHub releases

So bootstrap can install devvm without a Go toolchain (darwin/linux ×
arm64/amd64). Each binary embeds the linux guest agents and is self-contained.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>