Skip to content

Commit 99ea134

Browse files
committed
Some environment fixes
1 parent 5ae7f33 commit 99ea134

8 files changed

+17
-5
lines changed

scripts/setup_postgres_database.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ if (-not $?) {
55
}
66
$POSTGRES_USERNAME = (azd env get-value POSTGRES_USERNAME)
77
$POSTGRES_DATABASE = (azd env get-value POSTGRES_DATABASE)
8+
$AZURE_TENANT_ID = (azd env get-value AZURE_TENANT_ID)
89

910
if ([string]::IsNullOrEmpty($POSTGRES_HOST) -or [string]::IsNullOrEmpty($POSTGRES_USERNAME) -or [string]::IsNullOrEmpty($POSTGRES_DATABASE)) {
1011
Write-Host "Can't find POSTGRES_HOST, POSTGRES_USERNAME, and POSTGRES_DATABASE environment variables. Make sure you run azd up first."
1112
exit 1
1213
}
1314

14-
python ./src/backend/fastapi_app/setup_postgres_database.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE
15+
python ./src/backend/fastapi_app/setup_postgres_database.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE --sslmode require --tenant-id $AZURE_TENANT_ID

scripts/setup_postgres_database.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ if [ $? -ne 0 ]; then
55
fi
66
POSTGRES_USERNAME=$(azd env get-value POSTGRES_USERNAME)
77
POSTGRES_DATABASE=$(azd env get-value POSTGRES_DATABASE)
8+
AZURE_TENANT_ID=$(azd env get-value AZURE_TENANT_ID)
89

910
. ./scripts/load_python_env.sh
1011

11-
.venv/bin/python ./src/backend/fastapi_app/setup_postgres_database.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE
12+
.venv/bin/python ./src/backend/fastapi_app/setup_postgres_database.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE --sslmode require --tenant-id $AZURE_TENANT_ID

scripts/setup_postgres_seeddata.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ if (-not $?) {
55
}
66
$POSTGRES_USERNAME = (azd env get-value POSTGRES_USERNAME)
77
$POSTGRES_DATABASE = (azd env get-value POSTGRES_DATABASE)
8+
$AZURE_TENANT_ID = (azd env get-value AZURE_TENANT_ID)
89

910
if ([string]::IsNullOrEmpty($POSTGRES_HOST) -or [string]::IsNullOrEmpty($POSTGRES_USERNAME) -or [string]::IsNullOrEmpty($POSTGRES_DATABASE)) {
1011
Write-Host "Can't find POSTGRES_HOST, POSTGRES_USERNAME, and POSTGRES_DATABASE environment variables. Make sure you run azd up first."
1112
exit 1
1213
}
1314

14-
python ./src/backend/fastapi_app/setup_postgres_seeddata.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE
15+
python ./src/backend/fastapi_app/setup_postgres_seeddata.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE --sslmode require --tenant-id $AZURE_TENANT_ID

scripts/setup_postgres_seeddata.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ if [ $? -ne 0 ]; then
55
fi
66
POSTGRES_USERNAME=$(azd env get-value POSTGRES_USERNAME)
77
POSTGRES_DATABASE=$(azd env get-value POSTGRES_DATABASE)
8+
AZURE_TENANT_ID=$(azd env get-value AZURE_TENANT_ID)
89

910
. ./scripts/load_python_env.sh
1011

11-
.venv/bin/python ./src/backend/fastapi_app/setup_postgres_seeddata.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE
12+
.venv/bin/python ./src/backend/fastapi_app/setup_postgres_seeddata.py --host $POSTGRES_HOST --username $POSTGRES_USERNAME --database $POSTGRES_DATABASE --sslmode require --tenant-id $AZURE_TENANT_ID

src/backend/fastapi_app/postgres_engine.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,12 @@ async def create_postgres_engine_from_env(azure_credential=None) -> AsyncEngine:
6464

6565
async def create_postgres_engine_from_args(args, azure_credential=None) -> AsyncEngine:
6666
if azure_credential is None and args.host.endswith(".database.azure.com"):
67-
azure_credential = AzureDeveloperCliCredential(process_timeout=60)
67+
if tenant_id := args.tenant_id:
68+
logger.info("Authenticating to Azure using Azure Developer CLI Credential for tenant %s", tenant_id)
69+
azure_credential = AzureDeveloperCliCredential(tenant_id=tenant_id, process_timeout=60)
70+
else:
71+
logger.info("Authenticating to Azure using Azure Developer CLI Credential")
72+
azure_credential = AzureDeveloperCliCredential(process_timeout=60)
6873

6974
return await create_postgres_engine(
7075
host=args.host,

src/backend/fastapi_app/setup_postgres_azurerole.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ async def main():
4545
# You must connect to the *postgres* database when assigning roles
4646
parser.add_argument("--database", type=str, help="Postgres database", default="postgres")
4747
parser.add_argument("--sslmode", type=str, help="Postgres SSL mode", default=None)
48+
parser.add_argument("--tenant-id", type=str, help="Azure tenant ID", default=None)
4849
parser.add_argument("--app-identity-name", type=str, help="Azure App Service identity name")
4950

5051
args = parser.parse_args()

src/backend/fastapi_app/setup_postgres_database.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ async def main():
2828
parser.add_argument("--password", type=str, help="Postgres password")
2929
parser.add_argument("--database", type=str, help="Postgres database")
3030
parser.add_argument("--sslmode", type=str, help="Postgres sslmode")
31+
parser.add_argument("--tenant-id", type=str, help="Azure tenant ID", default=None)
3132

3233
# if no args are specified, use environment variables
3334
args = parser.parse_args()

src/backend/fastapi_app/setup_postgres_seeddata.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ async def main():
6262
parser.add_argument("--password", type=str, help="Postgres password")
6363
parser.add_argument("--database", type=str, help="Postgres database")
6464
parser.add_argument("--sslmode", type=str, help="Postgres sslmode")
65+
parser.add_argument("--tenant-id", type=str, help="Azure tenant ID", default=None)
6566

6667
# if no args are specified, use environment variables
6768
args = parser.parse_args()

0 commit comments

Comments
 (0)