scaleway/compute-instance v0.1.0
Context
terraform/modules/scaleway/ has project, object-bucket, and iam-policy, but no compute module. digitalocean/droplet is the DigitalOcean analog, but it bundles DigitalOcean-specific machinery (cloud-init, an access-key sub-module, SSH-key data source, Cloudflare DNS alias) not wanted yet. This adds a deliberately minimal wrapper around scaleway_instance_server, using droplet only for structural/naming inspiration.
Decision
- New module
terraform/modules/scaleway/compute-instance:namespace/name/imagerequired,typedefaults toSTARDUST1-S(overridable) — the one deliberate exception to "required fields only," per the user's request. imageis a required module input even though it's an optional resource argument onscaleway_instance_server— the resource only allows skipping it when attaching an existing root volume, a path this module doesn't support yet (same kind of call ADR-0044 made forobject-bucket'sstorage_class).- Outputs are pass-through only (
id,name,public_ips,private_ips) — no invented indexing, since no IP is attached by default. terraform/modules/README.mdgains a row;module-docs.yml's hand-maintainedworking-dir:list gains an entry.module-release.ymlneeds no change — its module discovery and changelog/tagging automation already generalize to any provider root with aversions.tf.- No hand-written
CHANGELOG.md—module-release.ymlcreates one on first merge.
Full ADR: docs/adr/0079-add-scaleway-compute-instance-module.md
Test plan
-
terraform fmt -checkclean. -
terraform init -backend=false && terraform validateclean. -
mise run ciclean.