BoilerWorks
| 6f83112… | anonymous | 1 | # boilerworks bootstrap |
| 6f83112… | anonymous | 2 | |
| 6f83112… | anonymous | 3 | Run Terraform infrastructure layers. Requires a generated ops directory (from `boilerworks init` with `ops: true`). |
| 6f83112… | anonymous | 4 | |
| 6f83112… | anonymous | 5 | ```bash |
| 6f83112… | anonymous | 6 | boilerworks bootstrap |
| 6f83112… | anonymous | 7 | boilerworks bootstrap --dry-run |
| 6f83112… | anonymous | 8 | ``` |
| 6f83112… | anonymous | 9 | |
| 6f83112… | anonymous | 10 | !!! warning "v2 feature" |
| 6f83112… | anonymous | 11 | `bootstrap` is a v2 CLI feature. The ops Terraform files are fully functional — run them directly with `./run.sh` in the ops directory. The CLI wrapper is coming in v0.2. |
| 6f83112… | anonymous | 12 | |
| 6f83112… | anonymous | 13 | ## Manual bootstrap (v1) |
| 6f83112… | anonymous | 14 | |
| 6f83112… | anonymous | 15 | Until the CLI wrapper lands, use `run.sh` directly: |
| 6f83112… | anonymous | 16 | |
| 6f83112… | anonymous | 17 | ```bash |
| 6f83112… | anonymous | 18 | cd my-app-ops # or my-app/ops for omni topology |
| 6f83112… | anonymous | 19 | |
| 6f83112… | anonymous | 20 | # Edit cloud config |
| 6f83112… | anonymous | 21 | vim aws/config.env # set PROJECT, AWS_REGION |
| 6f83112… | anonymous | 22 | |
| 6f83112… | anonymous | 23 | # Bootstrap state backend (S3 + DynamoDB) |
| 6f83112… | anonymous | 24 | ./run.sh bootstrap aws dev |
| 6f83112… | anonymous | 25 | |
| 6f83112… | anonymous | 26 | # Plan and apply |
| 6f83112… | anonymous | 27 | ./run.sh plan aws dev |
| 6f83112… | anonymous | 28 | ./run.sh apply aws dev |
| 6f83112… | anonymous | 29 | ``` |
| 6f83112… | anonymous | 30 | |
| 6f83112… | anonymous | 31 | ## run.sh commands |
| 6f83112… | anonymous | 32 | |
| 6f83112… | anonymous | 33 | | Command | Description | |
| 6f83112… | anonymous | 34 | |---------|-------------| |
| 6f83112… | anonymous | 35 | | `./run.sh init aws dev` | `terraform init` for AWS dev | |
| 6f83112… | anonymous | 36 | | `./run.sh plan aws dev` | `terraform plan` | |
| 6f83112… | anonymous | 37 | | `./run.sh apply aws dev` | `terraform apply` | |
| 6f83112… | anonymous | 38 | | `./run.sh destroy aws dev` | `terraform destroy` | |
| 6f83112… | anonymous | 39 | | `./run.sh fmt` | Format all `.tf` files | |
| 6f83112… | anonymous | 40 | | `./run.sh validate` | Validate all Terraform directories | |
| 6f83112… | anonymous | 41 | | `./run.sh bootstrap aws dev` | Create state backend + init | |
| 6f83112… | anonymous | 42 | |
| 6f83112… | anonymous | 43 | ## What gets created |
| 6f83112… | anonymous | 44 | |
| 6f83112… | anonymous | 45 | Running `./run.sh apply aws dev` provisions: |
| 6f83112… | anonymous | 46 | |
| 6f83112… | anonymous | 47 | - VPC (3 AZs, public/private/database/cache subnets) |
| 6f83112… | anonymous | 48 | - ECS Fargate cluster + service |
| 6f83112… | anonymous | 49 | - RDS PostgreSQL 16 |
| 6f83112… | anonymous | 50 | - ElastiCache Redis 7 |
| 6f83112… | anonymous | 51 | - Application Load Balancer (HTTPS) |
| 6f83112… | anonymous | 52 | - Route53 hosted zone + A record |
| 6f83112… | anonymous | 53 | - ACM wildcard TLS certificate |
| 6f83112… | anonymous | 54 | - S3 file storage bucket |
| 6f83112… | anonymous | 55 | - Secrets Manager (db creds, app secrets) |
| 6f83112… | anonymous | 56 | - CloudWatch log groups + alarms |
| 6f83112… | anonymous | 57 | - IAM roles (ECS task execution, CI/CD) |
| 6f83112… | anonymous | 58 | - Security groups (ALB → ECS → RDS/Redis) |