BoilerWorks
| 6f83112… | anonymous | 1 | # Configuration |
| 6f83112… | anonymous | 2 | |
| 6f83112… | anonymous | 3 | ## boilerworks.yaml |
| 6f83112… | anonymous | 4 | |
| 6f83112… | anonymous | 5 | The manifest file that drives `boilerworks init`. Created by `boilerworks setup`, or write it by hand. |
| 6f83112… | anonymous | 6 | |
| 6f83112… | anonymous | 7 | ```yaml |
| 6f83112… | anonymous | 8 | project: my-app |
| 6f83112… | anonymous | 9 | family: django-nextjs |
| 6f83112… | anonymous | 10 | size: full |
| 6f83112… | anonymous | 11 | topology: standard |
| 6f83112… | anonymous | 12 | cloud: aws |
| 6f83112… | anonymous | 13 | ops: true |
| 6f83112… | anonymous | 14 | region: us-east-1 |
| 6f83112… | anonymous | 15 | domain: myapp.com |
| 6f83112… | anonymous | 16 | mobile: false |
| 6f83112… | anonymous | 17 | web_presence: false |
| 6f83112… | anonymous | 18 | compliance: |
| 6f83112… | anonymous | 19 | - soc2 |
| 6f83112… | anonymous | 20 | services: |
| 6f83112… | anonymous | 21 | email: ses |
| 6f83112… | anonymous | 22 | storage: null |
| 6f83112… | anonymous | 23 | search: null |
| 6f83112… | anonymous | 24 | cache: redis |
| 6f83112… | anonymous | 25 | data: |
| 6f83112… | anonymous | 26 | database: postgres |
| 6f83112… | anonymous | 27 | migrations: true |
| 6f83112… | anonymous | 28 | seed_data: true |
| 6f83112… | anonymous | 29 | testing: |
| 6f83112… | anonymous | 30 | e2e: playwright |
| 6f83112… | anonymous | 31 | unit: true |
| 6f83112… | anonymous | 32 | integration: true |
| 6f83112… | anonymous | 33 | template_versions: {} |
| 6f83112… | anonymous | 34 | ``` |
| 6f83112… | anonymous | 35 | |
| 6f83112… | anonymous | 36 | ## Fields |
| 6f83112… | anonymous | 37 | |
| 6f83112… | anonymous | 38 | | Field | Type | Description | |
| 6f83112… | anonymous | 39 | |-------|------|-------------| |
| 6f83112… | anonymous | 40 | | `project` | string | Slug — lowercase, letters/digits/hyphens | |
| 6f83112… | anonymous | 41 | | `family` | string | Template name from `boilerworks list` | |
| 6f83112… | anonymous | 42 | | `size` | `full` \| `micro` \| `edge` | Template size | |
| 6f83112… | anonymous | 43 | | `topology` | `standard` \| `omni` \| `api-only` | Project structure | |
| 6f83112… | anonymous | 44 | | `cloud` | `aws` \| `gcp` \| `azure` \| null | Cloud provider for infra | |
| 6f83112… | anonymous | 45 | | `ops` | bool | Include boilerworks-opscode | |
| 6f83112… | anonymous | 46 | | `region` | string | Cloud region | |
| 6f83112… | anonymous | 47 | | `domain` | string | App domain | |
| 6f83112… | anonymous | 48 | | `mobile` | bool | Include mobile template (Full only) | |
| 6f83112… | anonymous | 49 | | `web_presence` | bool | Include marketing site (Full only) | |
| 6f83112… | anonymous | 50 | | `compliance` | list | `soc2`, `hipaa`, `pci-dss`, `gdpr` | |
| 6f83112… | anonymous | 51 | |
| 6f83112… | anonymous | 52 | ## Topologies |
| 6f83112… | anonymous | 53 | |
| 6f83112… | anonymous | 54 | **Standard** (default) — separate directories: |
| 6f83112… | anonymous | 55 | ``` |
| 6f83112… | anonymous | 56 | my-app/ ← app repo (git init'd) |
| 6f83112… | anonymous | 57 | my-app-ops/ ← Terraform repo (git init'd, if ops=true) |
| 6f83112… | anonymous | 58 | ``` |
| 6f83112… | anonymous | 59 | |
| 6f83112… | anonymous | 60 | **Omni** — single repo: |
| 6f83112… | anonymous | 61 | ``` |
| 6f83112… | anonymous | 62 | my-app/ |
| 6f83112… | anonymous | 63 | ...app files... |
| 6f83112… | anonymous | 64 | ops/ ← Terraform lives here |
| 6f83112… | anonymous | 65 | ``` |
| 6f83112… | anonymous | 66 | |
| 6f83112… | anonymous | 67 | **API-only** — no frontend: |
| 6f83112… | anonymous | 68 | ``` |
| 6f83112… | anonymous | 69 | my-app/ ← backend only |
| 6f83112… | anonymous | 70 | ``` |
| 6f83112… | anonymous | 71 | |
| 6f83112… | anonymous | 72 | ## annotated example |
| 6f83112… | anonymous | 73 | |
| 6f83112… | anonymous | 74 | See [`boilerworks.yaml.example`](https://github.com/ConflictHQ/boilerworks/blob/main/boilerworks.yaml.example) in the repo for a fully annotated manifest with all fields and their defaults. |