Infrastructure-as-code for managing ieeetamu.org using OpenTofu and the Cloudflare provider.
- Nix (recommended) or OpenTofu/Terraform installed manually
git clone <repo-url>
cd infraWith Nix (recommended):
direnv allowThis loads the Nix shell and environment variables automatically.
Copy the example files and fill in your values:
cp .env.example .env
cp terraform.tfvars.example terraform.tfvarstofu init
tofu plan
tofu apply| Command | Description |
|---|---|
tofu init |
Initialize backend and providers |
tofu plan |
Preview changes |
tofu apply |
Apply changes |
tofu fmt |
Format files |
tofu validate |
Validate configuration |
main.tf— Backend and provider configurationvariables.tf— Input variable definitionsdns-*.tf— DNS record definitions grouped by purpose.env.example/terraform.tfvars.example— Credential templatesshell.nix/.envrc— Nix and direnv configuration
State is stored remotely in Cloudflare R2 using the S3-compatible backend. Credentials are loaded via .env.