fix(staging): gzip cloud-init user_data; mktemp templates that work on macOS #31
Loading…
Reference in a new issue
No description provided.
Delete branch "jfraeys/fix/cloud-init-gzip"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two fixes found by running ./setup --workspace linode-staging under SOPS (P2).
cloud-init exceeded Linode's 16384-byte decoded limit and failed every staging
provision (template 11.9 KB -> ~4.5 KB gzipped). metadata is already in
ignore_changes on both instance resources, so existing nodes are not replaced.
cloud-init decompresses gzip user_data natively.
Xs. BSD/macOS mktemp then creates a literal file, so every run after the first
got an empty path and the ephemeral Tailscale key mint failed
("cat: : No such file or directory"). Xs now last, 7 places.
Verified on a staging run: provision, cloud-init, web/services validation, the
Tailscale key mint and the apt step passed; all "secret is missing" role checks
passed with the SOPS vault. The run still stops at staging-environment limits
(no real DNS/TLS for Authelia/ACME, no app deployed on web), which are not
covered here.
🤖 Generated with Claude Code
BSD mktemp doesn't substitute XXXXXX when a suffix follows, so it created a literal staging_tailscale_key.XXXXXX.err and every later run failed with an empty path ("cat: : No such file"), aborting the ephemeral Tailscale key mint. Drop the .log/.err suffixes in all seven templates. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>