forked from heavy-duty/rig
An empty, comments-only or whitespace-only users file is not a parse error, so it walked straight through the requirement #51 built: pre-flight passed, apply converged nothing, and the box came up root-only — the exact outcome --no-users exists to make explicit, reached by the flag added to guarantee the opposite. `--users ./empty` and `--no-users` produced the identical box and only one of them said so. Catch the zero-user parse in bootstrap's pre-flight, where the file is already parsed for validation and before apt, the hostname change, or a spent pre-auth key. The refusal names --no-users: the root-only box is reachable, it just has to be asked for out loud. Deliberately narrow. This is bootstrap's contract, not the parser's and not apply's: zero users is a legal file, and a standalone `rig users apply` against an emptied file is a real de-provisioning operation that must stay possible. Negative-grep tests pin both. Closes #57 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cli.sh | ||
| db-integration.sh | ||
| labels-reconcile.sh | ||
| release.sh | ||