Skip to content

Commit f77e464

Browse files
committed
Fallback insights env from Azure during deploy
1 parent d3435d6 commit f77e464

2 files changed

Lines changed: 54 additions & 6 deletions

File tree

.github/workflows/azd-deploy.yml

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1487,6 +1487,7 @@ jobs:
14871487
azd env set RS_KEY "$TFSTATE_KEY"
14881488
14891489
- name: Initialize Terraform backend for environment refresh
1490+
continue-on-error: true
14901491
env:
14911492
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
14921493
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
@@ -1542,6 +1543,7 @@ jobs:
15421543
fi
15431544
15441545
- name: Refresh deployment environment outputs
1546+
continue-on-error: true
15451547
run: azd env refresh -e "$AZURE_ENV_NAME" --no-prompt
15461548

15471549
- name: Build and deploy service image
@@ -1771,13 +1773,58 @@ jobs:
17711773
17721774
echo "DEPLOY_SKIPPED=false" >> "$GITHUB_ENV"
17731775
1774-
eval "$(azd env get-values -e "$AZURE_ENV_NAME" --no-prompt | sed -E 's/^([^=]+)=(.*)$/export \1=\2/')"
1776+
eval "$(azd env get-values -e "$AZURE_ENV_NAME" --no-prompt | sed -E 's/^([^=]+)=(.*)$/export \1=\2/' || true)"
17751777
1776-
required_shared_env=(
1777-
COSMOS_ENDPOINT
1778-
COSMOS_DATABASE
1779-
PROJECT_ENDPOINT
1780-
)
1778+
RG_NAME="tutor-${AZURE_ENV_NAME}"
1779+
cosmos_account_name=""
1780+
1781+
if [ -z "${COSMOS_ENDPOINT:-}" ] || [ -z "${COSMOS_DATABASE:-}" ]; then
1782+
cosmos_account_name="$(az cosmosdb list --resource-group "$RG_NAME" --query '[0].name' -o tsv 2>/dev/null || true)"
1783+
fi
1784+
1785+
if [ -n "$cosmos_account_name" ]; then
1786+
if [ -z "${COSMOS_ENDPOINT:-}" ]; then
1787+
COSMOS_ENDPOINT="$(az cosmosdb show --resource-group "$RG_NAME" --name "$cosmos_account_name" --query documentEndpoint -o tsv 2>/dev/null || true)"
1788+
fi
1789+
if [ -z "${COSMOS_DATABASE:-}" ]; then
1790+
COSMOS_DATABASE="$(az cosmosdb sql database list --resource-group "$RG_NAME" --account-name "$cosmos_account_name" --query '[0].name' -o tsv 2>/dev/null || true)"
1791+
fi
1792+
fi
1793+
1794+
: "${COSMOS_AVATAR_CASE_TABLE:=avatar_case}"
1795+
: "${COSMOS_CONFIGURATION_TABLE:=configuration}"
1796+
: "${COSMOS_STUDENT_TABLE:=students}"
1797+
: "${COSMOS_PROFESSOR_TABLE:=professors}"
1798+
: "${COSMOS_COURSE_TABLE:=courses}"
1799+
: "${COSMOS_CLASS_TABLE:=classes}"
1800+
: "${COSMOS_GROUP_TABLE:=groups}"
1801+
: "${COSMOS_ESSAY_TABLE:=essays}"
1802+
: "${COSMOS_RESOURCE_TABLE:=resources}"
1803+
: "${COSMOS_ASSEMBLY_TABLE:=assemblies}"
1804+
: "${COSMOS_QUESTION_TABLE:=questions}"
1805+
: "${COSMOS_ANSWER_TABLE:=answers}"
1806+
: "${COSMOS_GRADER_TABLE:=graders}"
1807+
: "${COSMOS_UPSKILLING_TABLE:=upskilling_plans}"
1808+
: "${COSMOS_INSIGHTS_REPORT_TABLE:=insights_reports}"
1809+
: "${COSMOS_INSIGHTS_FEEDBACK_TABLE:=insights_feedback}"
1810+
1811+
case "$SERVICE" in
1812+
insights)
1813+
required_shared_env=(
1814+
COSMOS_ENDPOINT
1815+
COSMOS_DATABASE
1816+
COSMOS_INSIGHTS_REPORT_TABLE
1817+
COSMOS_INSIGHTS_FEEDBACK_TABLE
1818+
)
1819+
;;
1820+
*)
1821+
required_shared_env=(
1822+
COSMOS_ENDPOINT
1823+
COSMOS_DATABASE
1824+
PROJECT_ENDPOINT
1825+
)
1826+
;;
1827+
esac
17811828
17821829
missing_required_env=()
17831830
for env_name in "${required_shared_env[@]}"; do

apps/insights/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ When enabled, callers must be allowlisted supervisors and requests are constrain
3838
- Cosmos DB (Azure)
3939
- Falls back to in-memory storage when Cosmos configuration is absent in a dev environment
4040
- Production-style rollout still depends on the GitHub Actions backend deployment workflow
41+
- Push-triggered backend deploys are the fastest safe way to refresh only this service in 108dev
4142

4243
## Running Locally
4344

0 commit comments

Comments
 (0)