Repository navigation
Expand file tree
/
Copy pathapp.yaml.template
More file actions
139 lines (118 loc) · 5.49 KB
/
Copy pathapp.yaml.template
File metadata and controls
139 lines (118 loc) · 5.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# =============================================================================
# Databricks App Configuration (TEMPLATE)
# =============================================================================
# Generated by: vibe2value configure
# Source: app.yaml.template
#
# This file is auto-generated. Edit user-config.yaml instead, then run:
# ./vibe2value configure
# =============================================================================
name: __APP_NAME__
description: "AI-Powered Development Workflow - Vibe Coding Workshop"
# Entry point
command:
- "python"
- "app.py"
# =============================================================================
# Environment Variables
# =============================================================================
env:
# Runtime
- name: PYTHONUNBUFFERED
value: "1"
- name: PORT
value: "8000"
# LLM Model endpoint
- name: DATABRICKS_SERVING_ENDPOINT
value: "__SERVING_ENDPOINT__"
# Coaching model time budget in seconds, read per call by
# services/coaching.py; matches the code default; set to override.
- name: VIBE_COACH_BUDGET_S
value: "20"
# Coaching-only serving endpoint, read per call by services/coaching.py;
# unset = DATABRICKS_SERVING_ENDPOINT. The app service principal needs
# CAN_QUERY on it.
- name: VIBE_COACH_ENDPOINT
value: "databricks-claude-sonnet-5-5"
# Optional stronger model for Ideate's impact sizing and business case.
# Blank uses DATABRICKS_SERVING_ENDPOINT.
- name: IDEATE_ANALYSIS_ENDPOINT
value: "__IDEATE_ANALYSIS_ENDPOINT__"
# Insights add-ons turned on for everyone: comma list of ontology, alerts, app_view, copilot (or "all").
# Blank keeps Insights to the Genie space and dashboard; testers can use ?recipes=all.
- name: INSIGHTS_BUILD_RECIPES
value: ""
# Genie Ontology (Beta) for NEW Genie Accelerator sessions, web and MCP; read
# per call. Set "false" when the workspace has no Genie One Pages. Stored
# sessions keep their own setting.
- name: VIBE_DEFAULT_GENIE_ONTOLOGY
value: "true"
# MCP step-prompt prefetch (D-160): start the next step's prompt generation
# when a step becomes current, so vibe_complete_step returns it without the
# wait. Read per call; unset = on. "false" (or 0/off/no) = render on complete.
- name: VIBE_STEP_PROMPT_PREFETCH
value: "true"
# MCP strict owner: a Genie Code request that carries no user identity (no
# x-forwarded-email from the Apps proxy) cannot open a session someone owns.
# Read per call; unset = on. "false" (or 0/off/no) = the old behaviour, only
# for a workspace whose proxy sends no identity header.
- name: VIBE_MCP_STRICT_OWNER
value: "true"
# ---------------------------------------------------------------------------
# Lakebase PostgreSQL Configuration
# ---------------------------------------------------------------------------
# LAKEBASE_HOST: The PostgreSQL endpoint hostname.
# - Provisioned mode: hostname of the provisioned database instance
# (e.g., "my-instance.cloud.databricks.com")
# - Autoscaling mode: auto-discovered endpoint hostname
# (e.g., "ep-xxxx-yyyy.database.us-east-1.cloud.databricks.com")
# Set automatically by deploy.sh after Lakebase infrastructure is created.
- name: LAKEBASE_HOST
value: "__LAKEBASE_HOST__"
- name: LAKEBASE_DATABASE
value: "databricks_postgres"
- name: LAKEBASE_SCHEMA
value: "__LAKEBASE_SCHEMA__"
- name: LAKEBASE_PORT
value: "5432"
# NOTE: LAKEBASE_USER is NOT set here. When running on Databricks Apps,
# the app's service principal identity is used automatically.
# - Autoscaling mode: uses DATABRICKS_CLIENT_ID (injected by platform)
# - Provisioned mode: uses PGUSER (injected via resource link in Step 4c)
# Hardcoding a user email here causes auth failures.
# ENDPOINT_NAME: Lakebase Autoscaling endpoint resource path.
# Format: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}
# When set, the app uses Autoscaling mode with OAuth token rotation
# via the Databricks SDK (databricks-sdk generate_database_credential).
# When empty, the app falls back to Provisioned mode using PGPASSWORD
# injected by the Lakebase resource link.
- name: ENDPOINT_NAME
value: "__ENDPOINT_NAME__"
# Lakebase mode: "autoscaling" (default) or "provisioned"
- name: LAKEBASE_MODE
value: "__LAKEBASE_MODE__"
# Toggle Lakebase (set to "false" for YAML fallback)
- name: USE_LAKEBASE
value: "true"
# ---------------------------------------------------------------------------
# MCP (Model Context Protocol) mount
# ---------------------------------------------------------------------------
# When "true", the FastMCP server is mounted at /mcp so Genie Code (and other
# MCP clients) can drive the interactive workshop track. app.py treats an
# unset value as off; this template turns it on. See docs/specs/mcp_design/.
# Read by app.py (MCP_MOUNT_ENABLED).
- name: MCP_MOUNT_ENABLED
value: "true"
# Cross-origin allowlist for CORS. Genie Code's browser connects from the
# workspace origin (…cloud.databricks.com / …azuredatabricks.net) to this
# app's /mcp (…databricksapps.com) — a cross-origin, credentialed request.
# That origin must be allowlisted or the "Add MCP server" save fails with a
# CORS preflight error. Set from the deploy workspace host.
- name: ALLOWED_ORIGINS
value: "__WORKSPACE_HOST__"
# Health check endpoint
health_check:
path: /health
interval_seconds: 30
timeout_seconds: 10
failure_threshold: 3