Skip to content

ADR 0012: Adopt OpenTofu for Infrastructure Provisioning

Status

Accepted

Context

Bluefly needs an authoritative capability for Infrastructure Provisioning (CAP-IAC-001). The platform defines a strict separation between capabilities and their deployments, where Bluefly provisions capabilities (via IaC modules) rather than manually editing infrastructure or servers.

We must choose a Reference Provider for infrastructure provisioning that aligns with the Bluefly convergence model: high replacement maturity, robust ecosystem, and declarative state management.

Decision

We will adopt OpenTofu (Terraform) as the Reference Provider for Infrastructure Provisioning (CAP-IAC-001).

  • Capability Owner: Bluefly Architecture
  • Decision Owner: Bluefly Architecture
  • Reference Provider: OpenTofu (Terraform)
  • Deployment Provider: Bluefly IaC Modules
  • Commodity Score: 10
  • Differentiation Score: 0 (Bluefly should not build custom infrastructure provisioning engines)
  • Priority: 100 (Immediate Convergence)

Consequences

  • All infrastructure mutations must flow through OpenTofu via declarative module/* packages.
  • Manual SSH modifications (outside of the canonical working authority on Oracle) for infrastructure deployment are strictly prohibited.
  • agent-docker acts as the runtime installer, but the underlying resources are provisioned by OpenTofu.
  • This creates a dependency on OpenTofu for state management (which will interact with Dolt as the Versioned State provider in a subsequent capability rollout).