Encode intent/decision/plan workflow for Snowflake platform delivery so engagements share a durable recipe instead of one-off LLM chats. Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|---|---|---|
| .. | ||
| CHECKLIST.md | ||
| README.md | ||
How To Land Sky Lattice in a Customer Environment
This guide is for operators bringing Sky Lattice to a new customer Snowflake account.
Prerequisites
- Customer Snowflake account (or ability to create one)
- Customer git host (GitHub/GitLab) or agreement that you host the customer project
- Place to store secrets (CI secrets / Vault)
- Optional: Cursor for skill-based UX
Steps
-
Bootstrap automation identity (one-time, manual)
AsACCOUNTADMIN, create a Terraform/service user with key-pair auth and roles sufficient for platform objects (typically a dedicated automation role; avoid day-to-day ACCOUNTADMIN after bootstrap). -
Store secrets
Put the private key and account identifiers in the customer’s secret store / CI secrets. Never commit keys. -
Create the customer project
On your operator machine:platformctl init <customer> --mode greenfield # or brownfield platformctl wizard --path customers/<customer> platformctl validate --path customers/<customer> platformctl plan --path customers/<customer> -
Push to customer git
Pushcustomers/<customer>/to their repository (or your managed repo per contract). -
Wire CI
The template workflow under.github/workflows/terraform.ymlis a starting point. Add credentials, remote TF state backend, and realterraform plan/applygates. -
First apply
Run through CI orplatformctl applyonce credentials and provider resources are wired. -
Hand off
Point customer admins at recipes: add domain, grant patterns, drift. Approvers only need to read Terraform/plan summaries.
Expected results
- Customer repo holds intent + decisions + terraform
- CI can plan changes via PRs
- Blueprint remains pinned by version; full blueprint source stays with you unless air-gapped vendoring is required
Troubleshooting
- No intent.yaml — run from the customer project or pass
--path - Policy errors on overrides — add
platformctl decision addand linkdecision_id - terraform missing — fine for v0 graph apply; install Terraform when enabling live provider apply
Related
- Bring-up checklist
- Recipes under
docs/recipes/