Skip to content

Commit 02aac77

Browse files
authored
Merge pull request #35 from thisisqubika/feature/constants-removal
Remove Hardcoded Values and Make Codebase Client-Agnostic
2 parents dff5042 + cb4abff commit 02aac77

15 files changed

Lines changed: 2091 additions & 98 deletions

File tree

.github/workflows/databricks-asset-bundle-deploy.yml

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,32 @@ jobs:
5050

5151
- name: Validate bundle
5252
run: |
53-
databricks bundle validate
53+
databricks bundle validate -t dev \
54+
--var="cluster_id=${{ secrets.DATABRICKS_CLUSTER_ID }}" \
55+
--var="catalog_name=${{ secrets.UC_CATALOG }}" \
56+
--var="devs_group=${{ secrets.DEVS_GROUP }}"
5457
5558
- name: Deploy bundle
5659
run: |
57-
databricks bundle deploy -t dev
58-
databricks bundle run databricks_job_executor_app -t dev
59-
databricks bundle summary
60-
databricks bundle resources
60+
databricks bundle deploy -t dev \
61+
--var="cluster_id=${{ secrets.DATABRICKS_CLUSTER_ID }}" \
62+
--var="catalog_name=${{ secrets.UC_CATALOG }}" \
63+
--var="devs_group=${{ secrets.DEVS_GROUP }}"
64+
65+
- name: Run job executor app
66+
run: |
67+
databricks bundle run databricks_job_executor_app -t dev \
68+
--var="cluster_id=${{ secrets.DATABRICKS_CLUSTER_ID }}" \
69+
--var="catalog_name=${{ secrets.UC_CATALOG }}" \
70+
--var="devs_group=${{ secrets.DEVS_GROUP }}"
71+
72+
- name: Show bundle info
73+
run: |
74+
databricks bundle summary -t dev \
75+
--var="cluster_id=${{ secrets.DATABRICKS_CLUSTER_ID }}" \
76+
--var="catalog_name=${{ secrets.UC_CATALOG }}" \
77+
--var="devs_group=${{ secrets.DEVS_GROUP }}"
78+
databricks bundle resources -t dev \
79+
--var="cluster_id=${{ secrets.DATABRICKS_CLUSTER_ID }}" \
80+
--var="catalog_name=${{ secrets.UC_CATALOG }}" \
81+
--var="devs_group=${{ secrets.DEVS_GROUP }}"

README.md

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,20 +98,65 @@ For detailed instructions on configuring Snowflake credentials, see [CONFIGURATI
9898
cp env.example .env
9999
```
100100

101-
2. Edit `.env` with your Snowflake credentials:
101+
2. Edit `.env` with your credentials:
102102
```env
103103
SNOWFLAKE_ACCOUNT=your_account_identifier
104104
SNOWFLAKE_USER=your_username
105105
SNOWFLAKE_PASSWORD=your_password
106-
SNOWFLAKE_DATABASE=DATA_MIGRATION_DB
107-
SNOWFLAKE_SCHEMA=DATA_MIGRATION_SCHEMA
108-
SNOWFLAKE_WAREHOUSE=COMPUTE_WH # Optional
109-
SNOWFLAKE_ROLE=SYSADMIN # Optional
110-
SNOWFLAKE_REGION=us-east-1 # Optional
106+
SNOWFLAKE_DATABASE=your_database # Required
107+
SNOWFLAKE_SCHEMA=your_schema # Required
108+
SNOWFLAKE_WAREHOUSE=COMPUTE_WH # Optional
109+
SNOWFLAKE_ROLE=SYSADMIN # Optional
110+
111+
# Unity Catalog - Required
112+
UC_CATALOG=your_catalog_name
113+
UC_SCHEMA=migration_accelerator
111114
```
112115

113116
3. The `.env` file is already in `.gitignore` to protect your credentials
114117

118+
### Databricks Deployment
119+
120+
To run on Databricks, configure the following:
121+
122+
#### Databricks Secrets
123+
124+
Create a secrets scope and add credentials:
125+
126+
```bash
127+
databricks secrets create-scope migration-accelerator
128+
databricks secrets put-secret migration-accelerator SNOWFLAKE_ACCOUNT
129+
databricks secrets put-secret migration-accelerator SNOWFLAKE_USER
130+
databricks secrets put-secret migration-accelerator SNOWFLAKE_PASSWORD
131+
databricks secrets put-secret migration-accelerator DATABRICKS_HOST
132+
databricks secrets put-secret migration-accelerator DATABRICKS_CLIENT_ID
133+
databricks secrets put-secret migration-accelerator DATABRICKS_CLIENT_SECRET
134+
```
135+
136+
#### Cluster Environment Variables
137+
138+
Set in **Cluster → Advanced Options → Spark → Environment Variables**:
139+
140+
```bash
141+
UC_CATALOG=your_catalog_name
142+
UC_SCHEMA=migration_accelerator
143+
SNOWFLAKE_DATABASE=your_database
144+
SNOWFLAKE_SCHEMA=your_schema
145+
```
146+
147+
#### GitHub Secrets (for CI/CD)
148+
149+
| Secret | Description |
150+
|--------|-------------|
151+
| `DATABRICKS_HOST` | Workspace URL |
152+
| `DATABRICKS_CLIENT_ID` | OAuth M2M client ID |
153+
| `DATABRICKS_CLIENT_SECRET` | OAuth M2M client secret |
154+
| `DATABRICKS_CLUSTER_ID` | Cluster ID for jobs |
155+
| `UC_CATALOG` | Unity Catalog name |
156+
| `DEVS_GROUP` | Group name for permissions |
157+
158+
> **Note:** The `DEVS_GROUP` (e.g., `migration-accelerator-devs`) must exist in Databricks before deployment. Create it in **Admin Console → Groups → Create Group**.
159+
115160
## Run Locally (translation job)
116161

117162

databricks_job_executor/streamlit_app/components/ui/initializers.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ def initialize_job_state():
6262

6363
def initialize_environment_state(db_env: dict):
6464
"""Initialize environment-related state."""
65-
if 'databricks_env' not in st.session_state:
66-
st.session_state.databricks_env = db_env
65+
st.session_state.databricks_env = db_env
6766

6867

6968
def initialize_session_state(db_env: dict):

0 commit comments

Comments
 (0)