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-dockeracts 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).