scaleway/compute-instance v4.0.0
A census of every scaleway/compute-instance consumer (live and historical, via git log -S) found exactly one real caller, and it was already working around the module's own redundancy: it hardcoded profile = "pigeon-cli" (profile = "docker" has never been instantiated anywhere), and re-declared the same bucket secret three separate times across buckets, keyring_entries, and environment_variables just to keep their aliases in sync by hand.
This PR:
- Drops the
dockerprofile and theprofilevariable entirely —pigeon-cliprovisioning (rclone/neovim, the bootstrap script, keyring/rclone config, Cockpit/Alloy) is now the module's only, unconditional behavior. - Renames
namespace/nametoname_prefix/name_suffix. - Groups SSH access under a new
user_configobject;ssh_keys(a list) becomesuser_config.ssh_key(a single string) — the only real caller ever passed one key. - Groups
image(now optional, defaulting to"ubuntu_jammy"),type, andcockpitunder a newinstance_configobject. - Collapses
buckets+keyring_entries+environment_variablesinto onekeyringlist. Akind = "bucket"entry now also renders an rclone.conf remote; any entry'ssecret_key(never written intokeyring.tomlitself) now auto-exportsPIGEON_SECRET_<ALIAS>on the instance, replacing the free-formenvironment_variablesmap.
Full rationale and the exact rendering changes: docs/adr/0118-simplify-scaleway-compute-instance-interface.md.
Breaking change — every top-level input except enable_ipv4/enable_ipv6/additional_volume_ids is renamed, regrouped, or removed. A follow-up PR migrates the one real consumer to the new interface and the new tag.
Test plan
-
mise run fmt-check-terraformpasses. -
tofu validatepasses against the rewritten module in isolation. -
After merge: confirm the
v4.0.0tag/GitHub Release and regenerated README Inputs/Outputs tables.