Skip to content

ADR-0023: OpenTofu for AWS, now

Status: Accepted Date: 2026-10-12 Deciders: Alex Nodeland

Amends ADR-0001: Terraform no longer comes later. Records RFC-0004's H1 and H13.

Context

ADR-0001 made Compose the first deployment format, and said Kubernetes (Helm) and Terraform come later, from the same service configuration. RFC-0004 brings two hosting recipes into stackr's v0.1: a single host, on Compose, and AWS. The AWS recipe needs infrastructure as code now.

Decision

  • OpenTofu, now, for AWS: the modules and roots in packages/stackr/deploy/aws/, as RFC-0004 designs them. OpenTofu is Terraform's open fork, under the MPL; Terraform itself is under a business source licence.
  • Helm and Kubernetes still come later, from the same thin images the AWS recipe runs.
  • Compose stays the first format: development, the single host, and the AWS recipe's state host all run it.

Options considered

Option For Against
OpenTofu now (chosen) An open licence; the AWS provider and modules Terraform uses A tool and a toolchain plugin more
Terraform now The upstream A business source licence
Helm first Clusters Still needs the VPC, RDS and S3 created some other way

Consequences

  • Easier: an application from the template has a path to AWS that CI tests.
  • Harder: stackr keeps OpenTofu's modules current beside compose.yaml.