scaleway/compute-instance v2.0.0
Summary
scaleway/compute-instance's profile input drops "rclone" as a distinct value. "pigeon-cli" now absorbs everything "rclone" used to do:
- Installs
rcloneandneovimvia cloud-initpackages:(previously only underprofile = "rclone"). - Writes
/root/.config/rclone/rclone.conffromvar.buckets(previously only underprofile = "rclone"). - Still runs the
pigeon-clibootstrap script inruncmdon first boot, unchanged.
"docker" is untouched. buckets' validation gate moves from profile == "rclone" to profile == "pigeon-cli". The profile default changes from "rclone" to "pigeon-cli" — the closest equivalent to preserving "omit profile, get rclone+neovim+bucket config," since "pigeon-cli" is now a strict superset of the old default's behavior.
Why: no live caller used profile = "rclone" or relied on the old default (confirmed via a repo-wide grep before making this change), but a real in-progress leaf (workloads/pigeon-cli/terraform/sort/macbook-scratch) already needs profile = "pigeon-cli" and a non-empty buckets list at the same time — a combination the prior version rejected outright. This unblocks it.
Full rationale in ADR-0099.
Breaking change: profile = "rclone" is no longer a valid value (rejected by the input's own validation block). Existing callers using "docker" or "pigeon-cli" are unaffected except that "pigeon-cli" now also installs rclone/neovim and accepts buckets. As with every prior cloud-init content change to this module (ADR-0084's force-replace lifecycle), any existing instance is replaced on its next apply.
Test plan
-
terraform fmt -checkclean -
terraform init -backend=false && terraform validateclean -
Rendered the cloud-init
localsblock standalone (no provider needed) for both remaining profiles:dockeroutput is byte-identical to before;pigeon-cliwith a samplebucketsentry now renders therclone/neovimpackages, the populatedwrite_filesblock, and the unchanged bootstrapruncmdline -
Exercised the real module's own validation via
terraform plan:profile = "rclone"rejected (invalid enum value),profile = "docker"+ non-emptybucketsrejected (updated error message),profile = "pigeon-cli"+ non-emptybucketsplans cleanly
🤖 Generated with Claude Code