BoilerWorks

boilerworks / docs / cli / bootstrap.md
Source Blame History 58 lines
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)

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button