49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
|
|
---
|
||
|
|
name: platform-ops
|
||
|
|
description: >-
|
||
|
|
Operate Sky Lattice customer platforms. Use when adding domains, changing RBAC,
|
||
|
|
running wizard/plan/apply/drift, recording decisions, or brownfield adopt for
|
||
|
|
Snowflake platform setup with intent.yaml.
|
||
|
|
---
|
||
|
|
|
||
|
|
# Sky Lattice Platform Ops
|
||
|
|
|
||
|
|
You are driving **Sky Lattice** for a customer project. You do **not** invent ad-hoc Snowflake SQL as the system of record.
|
||
|
|
|
||
|
|
## Required context
|
||
|
|
|
||
|
|
1. Open the **customer repo** as the workspace (contains `intent.yaml`, `decisions/`, `terraform/`).
|
||
|
|
2. Read `intent.yaml` and active files under `decisions/`.
|
||
|
|
3. Prefer invoking `platformctl` over hand-writing HCL/SQL.
|
||
|
|
|
||
|
|
## Workflow
|
||
|
|
|
||
|
|
1. Understand the request in Snowflake terms (domain, env, warehouse, who can read curated).
|
||
|
|
2. If it breaks a blueprint default → create/update a **decision** (`platformctl decision add`).
|
||
|
|
3. Patch `intent.yaml` (or run `platformctl wizard` / `platformctl add`).
|
||
|
|
4. Run `platformctl validate` then `platformctl plan`.
|
||
|
|
5. Show the human summary + plan; **do not apply** until the user explicitly approves.
|
||
|
|
6. On approval: `platformctl apply` or open a PR for customer CI.
|
||
|
|
|
||
|
|
## Forbidden
|
||
|
|
|
||
|
|
- Emitting unaudited `GRANT` / `DROP` scripts as the final artifact
|
||
|
|
- Re-running greenfield `init` on an existing customer to pick up late requirements
|
||
|
|
- Skipping decisions when adding overrides or unmanaged exceptions
|
||
|
|
|
||
|
|
## Commands cheat sheet
|
||
|
|
|
||
|
|
```bash
|
||
|
|
platformctl doctor
|
||
|
|
platformctl wizard --mode greenfield|brownfield|--resume
|
||
|
|
platformctl add domain <name>
|
||
|
|
platformctl validate
|
||
|
|
platformctl plan
|
||
|
|
platformctl apply
|
||
|
|
platformctl drift
|
||
|
|
platformctl discover
|
||
|
|
platformctl decision add --applies-to PATH --rationale "..."
|
||
|
|
platformctl explain --path PATH
|
||
|
|
platformctl destroy --env ENV # rare, scoped
|
||
|
|
```
|