Poorva21
Contributor II

@siva_pusarla , 

Try to convert env_setup into repo-based code and control behavior via environment

Instead of a workspace notebook, use a Python module in the repo and drive environment differences using:

Job parameters

Branches (dev / test / prod)

Secrets (workspace-specific)

Example repo structure

repo/

├── common_utils/

 |       └── env_setup.py

└── app.py
Example:
env_setup.py

from databricks.sdk.runtime import dbutils

def load_env(env):
if env == "dev":
return {
"catalog": "dev_catalog",
"password": dbutils.secrets.get("app-secrets", "db-password")
}
if env == "test":
return {
"catalog": "test_catalog",
"password": dbutils.secrets.get("app-secrets", "db-password")
}
if env == "prod":
return {
"catalog": "prod_catalog",
"password": dbutils.secrets.get("app-secrets", "db-password")
}

app.py

from common_utils.env_setup import load_env
from databricks.sdk.runtime import dbutils

env = dbutils.widgets.get("env")
config = load_env(env)

print(f"Running in {env}, catalog = {config['catalog']}")