@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']}")