Skip to content

Commit 4f07562

Browse files
authored
Merge pull request #2 from databricks-solutions/create-genie-sz
feat: agentic Genie Space creation with conversational agent
2 parents 04c68f3 + 481bc6e commit 4f07562

49 files changed

Lines changed: 9983 additions & 347 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.databricksignore

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,20 @@ README.md
5151
.venv/
5252
venv/
5353

54-
# MLflow local runs
54+
# MLflow local runs and database
5555
mlruns/
56+
mlflow.db
57+
58+
# Other non-runtime files
59+
*.md
60+
!backend/references/schema.md
61+
CODEOWNERS.txt
62+
LICENSE.md
63+
NOTICE.md
64+
SECURITY.md
65+
notebooks/
66+
scripts/
67+
sql/
68+
.databricks/
69+
.gitleaksignore
70+
.gitignore

.env.example

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@ GENIE_TARGET_DIRECTORY=
4242
# =============================================================================
4343
LAKEBASE_HOST=
4444
LAKEBASE_PORT=5432
45-
LAKEBASE_DATABASE=genie_workbench
46-
LAKEBASE_USER=postgres
47-
LAKEBASE_PASSWORD=
45+
LAKEBASE_DATABASE=databricks_postgres
46+
# Instance name — enables auto credential generation via Databricks SDK
47+
LAKEBASE_INSTANCE_NAME=
48+
# Override with static creds if needed (otherwise SDK generates them):
49+
# LAKEBASE_USER=your-email@company.com
50+
# LAKEBASE_PASSWORD=
4851

4952
# =============================================================================
5053
# Local dev auth

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ __pycache__/
2020
.Python
2121
build/
2222
develop-eggs/
23-
# NOTE: dist/ is NOT ignored because frontend/dist/ needs to be deployed
23+
# frontend/dist/ is ignored in git (build artifact) but NOT in .databricksignore
24+
# so it still gets synced to the workspace for deployment.
25+
frontend/dist/
2426
# The .databricksignore file controls what gets synced to Databricks Apps
2527
downloads/
2628
eggs/
@@ -209,13 +211,14 @@ sketch
209211

210212
**/uv.lock
211213
**/mlruns/
214+
mlflow.db
212215
**/.vite/
213216
**/.databricks
214217
**/.claude
215218
**/.env.local
216219

217220
# Frontend build artifacts (Vite)
218-
# NOTE: frontend/dist/ is NOT ignored - it must be deployed to Databricks Apps
221+
# frontend/dist/ is deployed via databricks sync (not git)
219222
**/dist-ssr/
220223

221224
# Frontend debug logs

.gitleaksignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# False positives from Vite-bundled React build artifacts (minified JS)
2+
dba8a46670f71554d7c6f85b8156c6ff8b927154:frontend/dist/assets/index-DfyblZUj.js:vault-service-token:8
3+
dba8a46670f71554d7c6f85b8156c6ff8b927154:frontend/dist/assets/index-BEGK0X5-.js:vault-service-token:8
4+
faff5e63c36691d4cd42c63cdd9c47c7a6e0fc71:frontend/dist/assets/index-BEGK0X5-.js:vault-service-token:8
5+
faff5e63c36691d4cd42c63cdd9c47c7a6e0fc71:frontend/dist/assets/index-Dkgq7VUt.js:vault-service-token:8
6+
fa428d65a8d509b4b544de096ccbcff4ef4a3d1a:frontend/dist/assets/index-Dkgq7VUt.js:vault-service-token:8

app.yaml

Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ env:
2929
- name: MLFLOW_REGISTRY_URI
3030
value: "databricks-uc"
3131
- name: MLFLOW_EXPERIMENT_ID
32-
value: "" # OPTIONAL: Set to your MLflow experiment ID to enable tracing
32+
value: "2624606869914616"
3333

3434
# ---------------------------------------------------------------------------
3535
# LLM Model
@@ -38,17 +38,20 @@ env:
3838
value: "databricks-claude-sonnet-4-6"
3939

4040
# ---------------------------------------------------------------------------
41-
# SQL Warehouse (required for GenieIQ benchmark execution)
41+
# SQL Warehouse — pulled from the app resource named "sql-warehouse".
42+
# Configure the warehouse resource in the Databricks Apps UI.
43+
# Falls back to auto-detect if empty.
4244
# ---------------------------------------------------------------------------
4345
- name: SQL_WAREHOUSE_ID
44-
value: "" # Required: your SQL warehouse ID
46+
valueFrom: sql-warehouse
4547

4648
# ---------------------------------------------------------------------------
47-
# Genie Space target directory (required for creating new Genie Spaces)
48-
# e.g. /Workspace/Users/you@company.com/
49+
# Genie Space target directory (where new spaces are created)
50+
# Defaults to /Shared/ which is writable by most service principals.
51+
# Override to a specific folder if needed (e.g. /Workspace/Shared/Analytics/).
4952
# ---------------------------------------------------------------------------
5053
- name: GENIE_TARGET_DIRECTORY
51-
value: ""
54+
value: "/Shared/"
5255

5356
# ---------------------------------------------------------------------------
5457
# Local dev auth (only used when running outside Databricks Apps)
@@ -57,43 +60,17 @@ env:
5760
value: ""
5861

5962
# ---------------------------------------------------------------------------
60-
# Lakebase PostgreSQL connection
61-
# These values are injected automatically by the Lakebase resource binding
62-
# defined in the `resources` section below. Do not set them manually here.
63+
# Lakebase PostgreSQL — credentials auto-generated via Databricks SDK (SP)
64+
# Grant the app's service principal CAN MANAGE on the Lakebase instance.
6365
# ---------------------------------------------------------------------------
6466
- name: LAKEBASE_HOST
65-
valueFrom:
66-
secretRef: lakebase-connection
67-
key: host
67+
value: "" # e.g. instance-XXXX.database.cloud.databricks.com
6868
- name: LAKEBASE_PORT
69-
valueFrom:
70-
secretRef: lakebase-connection
71-
key: port
69+
value: "5432"
7270
- name: LAKEBASE_DATABASE
73-
valueFrom:
74-
secretRef: lakebase-connection
75-
key: database
76-
- name: LAKEBASE_USER
77-
valueFrom:
78-
secretRef: lakebase-connection
79-
key: user
80-
- name: LAKEBASE_PASSWORD
81-
valueFrom:
82-
secretRef: lakebase-connection
83-
key: password
84-
85-
# ---------------------------------------------------------------------------
86-
# Lakebase resource binding
87-
# Provisions a Lakebase PostgreSQL instance and injects connection credentials
88-
# as the secret reference "lakebase-connection" used by the env vars above.
89-
# Run sql/setup_lakebase.sql once after first deploy to create the schema.
90-
# ---------------------------------------------------------------------------
91-
resources:
92-
- name: lakebase-connection
93-
description: "PostgreSQL connection for Genie Workbench scan result persistence"
94-
resource_type: "database"
95-
config:
96-
type: postgresql
71+
value: "databricks_postgres"
72+
- name: LAKEBASE_INSTANCE_NAME
73+
value: "" # e.g. genie-workbench-sz
9774

9875
# ---------------------------------------------------------------------------
9976
# Service Principal authorization

0 commit comments

Comments
 (0)