sky-lattice/blueprint/wizard/catalog.greenfield.yaml

77 lines
2.3 KiB
YAML
Raw Permalink Normal View History

# Greenfield wizard — Snowflake vocabulary questions mapped to intent paths.
version: 1
mode: greenfield
questions:
- id: customer
prompt: "What is the customer slug? (lowercase, e.g. acme)"
intent_path: customer
type: string
required: true
- id: env_strategy
prompt: "How should environments be isolated?"
intent_path: env_strategy
type: choice
choices:
- value: database_per_env
label: "Databases per environment in one account (default)"
- value: account_per_env
label: "Separate Snowflake account per environment"
default: database_per_env
- id: environments
prompt: "Which environments do you need? (comma-separated: dev,test,prod)"
intent_path: environments
type: list
default: [dev, test, prod]
item_enum: [dev, test, prod, sandbox]
- id: domains
prompt: "List business domains / data products (comma-separated, e.g. sales,finance,ops)"
intent_path: domains
type: domain_list
required: true
default_access_profile: standard
- id: domain_access
prompt: "Any domain that needs restricted access? (comma-separated names, or none)"
type: restricted_domains
default: none
maps_to: domains[].access_profile
- id: warehouse_profile
prompt: "Warehouse profile?"
intent_path: warehouses.profile
type: choice
choices:
- value: standard_cost_saver
label: "Cost saver (X-SMALL, aggressive auto-suspend)"
- value: performance
label: "Performance (MEDIUM)"
default: standard_cost_saver
- id: identity_sso
prompt: "SSO status?"
intent_path: identity.sso
type: choice
choices:
- value: none
label: "No SSO (service users / local only)"
- value: planned
label: "SSO planned later"
- value: okta
label: "Okta now"
- value: azure_ad
label: "Azure AD now"
- value: other
label: "Other IdP now"
default: planned
- id: prod_curated_exceptions
prompt: "Any domain that needs prod curated read early (against restricted defaults)? (comma-separated or none)"
type: override_with_decision
override_path_template: "domains.{name}.prod_curated_read"
decision_required: true
decision_prompt: "Why is prod curated read allowed early for {name}? (stored as a decision)"
default: none