34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
|
|
# Wizard catalog ↔ intent schema (deep dive)
|
||
|
|
|
||
|
|
This documents the mapping locked for blueprint `0.1.0`.
|
||
|
|
|
||
|
|
## Intent fields covered by greenfield catalog
|
||
|
|
|
||
|
|
| Question id | Intent path / effect | Schema field |
|
||
|
|
|---|---|---|
|
||
|
|
| customer | `customer` | required string |
|
||
|
|
| env_strategy | `env_strategy` | enum |
|
||
|
|
| environments | `environments` | array of env enums |
|
||
|
|
| domains | `domains[]` | array of domain objects |
|
||
|
|
| domain_access | sets `domains[].access_profile` | enum standard/restricted |
|
||
|
|
| warehouse_profile | `warehouses.profile` | enum |
|
||
|
|
| identity_sso | `identity.sso` | enum |
|
||
|
|
| prod_curated_exceptions | `overrides[]` + decision file | overrides require decision_id |
|
||
|
|
|
||
|
|
## Brownfield extras
|
||
|
|
|
||
|
|
| Question id | Effect |
|
||
|
|
|---|---|
|
||
|
|
| adopt_domains | `domains[]` to manage now |
|
||
|
|
| keep_legacy_roles | `unmanaged[]` kind=role + decision |
|
||
|
|
| naming_conflicts | `unmanaged[]` kind=database + decision |
|
||
|
|
|
||
|
|
## Gaps / follow-ups
|
||
|
|
|
||
|
|
- Per-zone customization beyond default zone list
|
||
|
|
- Account-per-env provider alias wiring in Terraform
|
||
|
|
- Live Snowflake INFORMATION_SCHEMA discover connector
|
||
|
|
- JSON Schema `default` on nested domain zones not enforced by jsonschema without extending validator
|
||
|
|
|
||
|
|
Wizard `mapping.yaml` helpers mirror these mutations in `wizard_cmd.py`.
|