diff --git a/.github/workflows/deploy-orchestrator.yml b/.github/workflows/deploy-orchestrator.yml index 998886f20..bf9a9c93f 100644 --- a/.github/workflows/deploy-orchestrator.yml +++ b/.github/workflows/deploy-orchestrator.yml @@ -46,7 +46,7 @@ on: description: 'Trigger type (workflow_dispatch, pull_request, schedule)' required: true type: string - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: description: 'Log Analytics Workspace ID (Optional)' required: false default: '' @@ -87,7 +87,7 @@ jobs: EXP: ${{ inputs.EXP }} existing_webapp_url: ${{ inputs.existing_webapp_url }} run_e2e_tests: ${{ inputs.run_e2e_tests }} - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} cleanup_resources: ${{ inputs.cleanup_resources }} AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} diff --git a/.github/workflows/deploy-v2.yml b/.github/workflows/deploy-v2.yml index d571c85cc..1003d3082 100644 --- a/.github/workflows/deploy-v2.yml +++ b/.github/workflows/deploy-v2.yml @@ -64,7 +64,7 @@ on: - 'GoldenPath-Testing' - 'Smoke-Testing' - 'None' - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: description: 'Log Analytics Workspace ID (Optional)' required: false default: '' @@ -130,7 +130,7 @@ jobs: exp: ${{ steps.validate.outputs.exp }} cleanup_resources: ${{ steps.validate.outputs.cleanup_resources }} run_e2e_tests: ${{ steps.validate.outputs.run_e2e_tests }} - azure_env_log_analytics_workspace_id: ${{ steps.validate.outputs.azure_env_log_analytics_workspace_id }} + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ steps.validate.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} azure_search_use_integrated_vectorization: ${{ steps.validate.outputs.azure_search_use_integrated_vectorization }} azure_search_use_semantic_search: ${{ steps.validate.outputs.azure_search_use_semantic_search }} use_advanced_image_processing: ${{ steps.validate.outputs.use_advanced_image_processing }} @@ -148,7 +148,7 @@ jobs: INPUT_EXP: ${{ github.event.inputs.EXP }} INPUT_CLEANUP_RESOURCES: ${{ github.event.inputs.cleanup_resources }} INPUT_RUN_E2E_TESTS: ${{ github.event.inputs.run_e2e_tests }} - INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} INPUT_AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ github.event.inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} INPUT_AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ github.event.inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} INPUT_USE_ADVANCED_IMAGE_PROCESSING: ${{ github.event.inputs.USE_ADVANCED_IMAGE_PROCESSING }} @@ -246,19 +246,19 @@ jobs: echo "✅ run_e2e_tests: '$TEST_OPTION' is valid" fi - # Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format) - if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then - if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then - echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:" + # Validate AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID (optional, Azure Resource ID format) + if [[ -n "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then + if [[ ! "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then + echo "❌ ERROR: AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID is invalid. Must be a valid Azure Resource ID format:" echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}" - echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'" - VALIDATION_ERRORS="${VALIDATION_ERRORS}| AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID | (invalid value) | Must be a valid Azure Resource ID format |\n" + echo " Got: '$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID'" + VALIDATION_ERRORS="${VALIDATION_ERRORS}| AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID | (invalid value) | Must be a valid Azure Resource ID format |\n" VALIDATION_FAILED=true else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Valid Resource ID format" fi else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Not provided (optional)" fi # Validate AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION (boolean string) @@ -364,7 +364,7 @@ jobs: echo "exp=$EXP_ENABLED" >> $GITHUB_OUTPUT echo "cleanup_resources=$CLEANUP_RESOURCES" >> $GITHUB_OUTPUT echo "run_e2e_tests=$TEST_OPTION" >> $GITHUB_OUTPUT - echo "azure_env_log_analytics_workspace_id=$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" >> $GITHUB_OUTPUT + echo "AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID=$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" >> $GITHUB_OUTPUT echo "azure_search_use_integrated_vectorization=$INTEGRATED_VECTORIZATION" >> $GITHUB_OUTPUT echo "azure_search_use_semantic_search=$SEMANTIC_SEARCH" >> $GITHUB_OUTPUT echo "use_advanced_image_processing=$ADVANCED_IMAGE_PROCESSING" >> $GITHUB_OUTPUT @@ -381,7 +381,7 @@ jobs: EXP: ${{ needs.validate-inputs.outputs.exp == 'true' }} cleanup_resources: ${{ github.event_name != 'workflow_dispatch' || needs.validate-inputs.outputs.cleanup_resources == 'true' }} run_e2e_tests: ${{ needs.validate-inputs.outputs.run_e2e_tests || 'GoldenPath-Testing' }} - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ needs.validate-inputs.outputs.azure_env_log_analytics_workspace_id || '' }} + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ needs.validate-inputs.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID || '' }} existing_webapp_url: ${{ needs.validate-inputs.outputs.existing_webapp_url || '' }} existing_admin_app_url: ${{ needs.validate-inputs.outputs.existing_admin_app_url || '' }} trigger_type: ${{ github.event_name }} diff --git a/.github/workflows/job-deploy-linux.yml b/.github/workflows/job-deploy-linux.yml index f4686cbac..6df7942d3 100644 --- a/.github/workflows/job-deploy-linux.yml +++ b/.github/workflows/job-deploy-linux.yml @@ -25,7 +25,7 @@ on: required: false type: string default: 'false' - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: required: false type: string AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: @@ -91,7 +91,7 @@ jobs: INPUT_IMAGE_TAG: ${{ inputs.IMAGE_TAG }} INPUT_EXP: ${{ inputs.EXP }} INPUT_WAF_ENABLED: ${{ inputs.WAF_ENABLED }} - INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} INPUT_AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} INPUT_AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} INPUT_USE_ADVANCED_IMAGE_PROCESSING: ${{ inputs.USE_ADVANCED_IMAGE_PROCESSING }} @@ -174,18 +174,18 @@ jobs: echo "✅ WAF_ENABLED: '$INPUT_WAF_ENABLED' is valid" fi - # Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format) - if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then - if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then - echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:" + # Validate AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID (optional, Azure Resource ID format) + if [[ -n "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then + if [[ ! "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then + echo "❌ ERROR: AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID is invalid. Must be a valid Azure Resource ID format:" echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}" - echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'" + echo " Got: '$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID'" VALIDATION_FAILED=true else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Valid Resource ID format" fi else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Not provided (optional)" fi # Validate AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION (boolean string) @@ -280,13 +280,13 @@ jobs: INPUT_AZURE_ENV_OPENAI_LOCATION: ${{ inputs.AZURE_ENV_OPENAI_LOCATION }} INPUT_RESOURCE_GROUP_NAME: ${{ inputs.RESOURCE_GROUP_NAME }} INPUT_EXP: ${{ inputs.EXP }} - INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} INPUT_AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} INPUT_AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} INPUT_USE_ADVANCED_IMAGE_PROCESSING: ${{ inputs.USE_ADVANCED_IMAGE_PROCESSING }} INPUT_DATABASE_TYPE: ${{ inputs.DATABASE_TYPE }} - EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} - SECRET_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} + SECRET_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} run: | set -e @@ -306,17 +306,17 @@ jobs: echo "✅ EXP ENABLED - Setting EXP parameters..." # Set EXP variables dynamically - if [[ -n "$EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then - EXP_LOG_ANALYTICS_ID="$EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" + if [[ -n "$EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then + EXP_LOG_ANALYTICS_ID="$EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" else - EXP_LOG_ANALYTICS_ID="$SECRET_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" + EXP_LOG_ANALYTICS_ID="$SECRET_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" fi - echo "AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: $EXP_LOG_ANALYTICS_ID" - azd env set AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID="$EXP_LOG_ANALYTICS_ID" + echo "AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: $EXP_LOG_ANALYTICS_ID" + azd env set AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID="$EXP_LOG_ANALYTICS_ID" else echo "❌ EXP DISABLED - Skipping EXP parameters" - if [[ -n "$EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then + if [[ -n "$EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then echo "⚠️ Warning: EXP parameter values provided but EXP is disabled. These values will be ignored." fi fi diff --git a/.github/workflows/job-deploy-windows.yml b/.github/workflows/job-deploy-windows.yml index 21982aff5..6502d3337 100644 --- a/.github/workflows/job-deploy-windows.yml +++ b/.github/workflows/job-deploy-windows.yml @@ -25,7 +25,7 @@ on: required: false type: string default: 'false' - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: required: false type: string AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: @@ -91,7 +91,7 @@ jobs: INPUT_IMAGE_TAG: ${{ inputs.IMAGE_TAG }} INPUT_EXP: ${{ inputs.EXP }} INPUT_WAF_ENABLED: ${{ inputs.WAF_ENABLED }} - INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} INPUT_AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} INPUT_AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} INPUT_USE_ADVANCED_IMAGE_PROCESSING: ${{ inputs.USE_ADVANCED_IMAGE_PROCESSING }} @@ -174,18 +174,18 @@ jobs: echo "✅ WAF_ENABLED: '$INPUT_WAF_ENABLED' is valid" fi - # Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format) - if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then - if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then - echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:" + # Validate AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID (optional, Azure Resource ID format) + if [[ -n "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then + if [[ ! "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then + echo "❌ ERROR: AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID is invalid. Must be a valid Azure Resource ID format:" echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}" - echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'" + echo " Got: '$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID'" VALIDATION_FAILED=true else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Valid Resource ID format" fi else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Not provided (optional)" fi # Validate AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION (boolean string) @@ -281,13 +281,13 @@ jobs: INPUT_AZURE_ENV_OPENAI_LOCATION: ${{ inputs.AZURE_ENV_OPENAI_LOCATION }} INPUT_RESOURCE_GROUP_NAME: ${{ inputs.RESOURCE_GROUP_NAME }} INPUT_EXP: ${{ inputs.EXP }} - INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} INPUT_AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} INPUT_AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} INPUT_USE_ADVANCED_IMAGE_PROCESSING: ${{ inputs.USE_ADVANCED_IMAGE_PROCESSING }} INPUT_DATABASE_TYPE: ${{ inputs.DATABASE_TYPE }} - EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} - SECRET_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} + SECRET_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} run: | $ErrorActionPreference = "Stop" @@ -307,17 +307,17 @@ jobs: Write-Host "✅ EXP ENABLED - Setting EXP parameters..." # Set EXP variables dynamically - if (-not [string]::IsNullOrEmpty($env:EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID)) { - $ExpLogAnalyticsId = $env:EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID + if (-not [string]::IsNullOrEmpty($env:EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID)) { + $ExpLogAnalyticsId = $env:EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID } else { - $ExpLogAnalyticsId = $env:SECRET_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID + $ExpLogAnalyticsId = $env:SECRET_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID } - Write-Host "AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: $ExpLogAnalyticsId" - azd env set AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID="$ExpLogAnalyticsId" + Write-Host "AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: $ExpLogAnalyticsId" + azd env set AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID="$ExpLogAnalyticsId" } else { Write-Host "❌ EXP DISABLED - Skipping EXP parameters" - if (-not [string]::IsNullOrEmpty($env:EVENT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID)) { + if (-not [string]::IsNullOrEmpty($env:EVENT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID)) { Write-Host "⚠️ Warning: EXP parameter values provided but EXP is disabled. These values will be ignored." } } diff --git a/.github/workflows/job-deploy.yml b/.github/workflows/job-deploy.yml index c3177219b..7f2c7da89 100644 --- a/.github/workflows/job-deploy.yml +++ b/.github/workflows/job-deploy.yml @@ -26,7 +26,7 @@ on: required: false default: false type: boolean - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: description: 'Log Analytics Workspace ID (Optional)' required: false default: '' @@ -139,7 +139,7 @@ jobs: INPUT_EXP: ${{ inputs.EXP }} INPUT_CLEANUP_RESOURCES: ${{ inputs.cleanup_resources }} INPUT_RUN_E2E_TESTS: ${{ inputs.run_e2e_tests }} - INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} INPUT_RG_TAGS: ${{ env.RG_TAGS }} INPUT_EXISTING_WEBAPP_URL: ${{ inputs.existing_webapp_url }} INPUT_AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} @@ -213,18 +213,18 @@ jobs: echo "✅ run_e2e_tests: Not provided (will use default 'GoldenPath-Testing')" fi - # Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format) - if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then - if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then - echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:" + # Validate AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID (optional, Azure Resource ID format) + if [[ -n "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then + if [[ ! "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then + echo "❌ ERROR: AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID is invalid. Must be a valid Azure Resource ID format:" echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}" - echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'" + echo " Got: '$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID'" VALIDATION_FAILED=true else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Valid Resource ID format" fi else - echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)" + echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Not provided (optional)" fi # Validate AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION (boolean string) @@ -530,7 +530,7 @@ jobs: IMAGE_TAG: ${{ needs.azure-setup.outputs.IMAGE_TAG }} EXP: ${{ inputs.EXP || 'false' }} WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }} - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} USE_ADVANCED_IMAGE_PROCESSING: ${{ inputs.USE_ADVANCED_IMAGE_PROCESSING }} @@ -550,7 +550,7 @@ jobs: IMAGE_TAG: ${{ needs.azure-setup.outputs.IMAGE_TAG }} EXP: ${{ inputs.EXP || 'false' }} WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }} - AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }} + AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }} AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION: ${{ inputs.AZURE_SEARCH_USE_INTEGRATED_VECTORIZATION }} AZURE_SEARCH_USE_SEMANTIC_SEARCH: ${{ inputs.AZURE_SEARCH_USE_SEMANTIC_SEARCH }} USE_ADVANCED_IMAGE_PROCESSING: ${{ inputs.USE_ADVANCED_IMAGE_PROCESSING }} diff --git a/README.md b/README.md index afbe74aeb..cdc093666 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,7 @@ Select either "PostgreSQL" or "Cosmos DB": 2. Follow steps in [Set Up Authentication in Azure App Service](./docs/azure_app_service_auth_setup.md) to add app authentication to your web app running on Azure App Service **Note**: The default configuration deploys an OpenAI Model "gpt-4.1" with version 2025-04-14. However, not all -locations support this version. If you're deploying to a location that doesn't support version 2024-05-13, you'll need to +locations support this version. If you're deploying to a location that doesn't support version 2025-04-14, you'll need to switch to a lower version. To find out which versions are supported in different regions, visit the [GPT-4.1 Model Availability](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models?tabs=global-standard%2Cstandard-chat-completions#global-standard-model-availability) page. diff --git a/docs/TroubleShootingSteps.md b/docs/TroubleShootingSteps.md index fbf577320..49df81506 100644 --- a/docs/TroubleShootingSteps.md +++ b/docs/TroubleShootingSteps.md @@ -82,7 +82,7 @@ Use these as quick reference guides to unblock your deployments. | Issue/Error Code | Description | Steps to Resolve | |-----------------|-------------|------------------| -| **LocationNotAvailableForResourceType** | Resource type not supported in selected region | This error occurs when you attempt to deploy a resource to a region that does not support that specific resource type or SKU.

**Resolution:**
| +| **LocationNotAvailableForResourceType** | Resource type not supported in selected region | This error occurs when you attempt to deploy a resource to a region that does not support that specific resource type or SKU.

**Resolution:**
| | **InvalidResourceLocation** | Cannot change region for already deployed resources | This error occurs when you attempt to modify the location/region of a resource that has already been deployed. Azure resources **cannot change regions** after creation.

**Resolution:**

⚠️ **Important:** Backup critical data before deleting resources.

**Reference:** [Move Azure resources across regions](https://learn.microsoft.com/en-us/azure/resource-mover/overview) | | **ServiceUnavailable/ResourceNotFound** | Service unavailable or restricted in selected region | | | **ResourceOperationFailure/
ProvisioningDisabled** | Resource provisioning restricted or disabled in region | | diff --git a/docs/conversation_flow_options.md b/docs/conversation_flow_options.md index c8bdd2b84..cd199c78e 100644 --- a/docs/conversation_flow_options.md +++ b/docs/conversation_flow_options.md @@ -30,4 +30,4 @@ CONVERSATION_FLOW=byod With `CONVERSATION_FLOW` set to "byod", the backend service will mimic the [On Your Data](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/use-your-data) flow. -'On Your Data' enables you to run advanced AI models such as GPT-35-Turbo and GPT-4 on your own enterprise data without needing to train or fine-tune models. You can chat on top of and analyze your data with greater accuracy. You can specify sources to support the responses based on the latest information available in your designated data sources. +'On Your Data' enables you to run advanced AI models such as GPT-4.1 on your own enterprise data without needing to train or fine-tune models. You can chat on top of and analyze your data with greater accuracy. You can specify sources to support the responses based on the latest information available in your designated data sources. diff --git a/docs/model_configuration.md b/docs/model_configuration.md index 7d7f502ec..9ca224980 100644 --- a/docs/model_configuration.md +++ b/docs/model_configuration.md @@ -72,6 +72,6 @@ This document outlines the necessary steps and configurations required for setti - `AZURE_OPENAI_EMBEDDING_MODEL_NAME`: `text-embedding-3-large` - `AZURE_OPENAI_EMBEDDING_MODEL_VERSION`: `1` - `AZURE_SEARCH_DIMENSIONS`: `3072` - - `AZURE_MAX_TOKENS`: `4096` + - `AZURE_OPENAI_MAX_TOKENS`: `4096` --- diff --git a/docs/re-use-log-analytics.md b/docs/re-use-log-analytics.md index 11e2e7a8b..b96b26ea6 100644 --- a/docs/re-use-log-analytics.md +++ b/docs/re-use-log-analytics.md @@ -23,7 +23,7 @@ Copy Resource ID that is your Workspace ID ### 4. Set the Workspace ID in Your Environment Run the following command in your terminal ```bash -azd env set AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID '' +azd env set AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID '' ``` Replace `` with the value obtained from Step 3. diff --git a/infra/main.bicep b/infra/main.bicep index 820418ebe..f939d101f 100644 --- a/infra/main.bicep +++ b/infra/main.bicep @@ -326,11 +326,11 @@ param vmSize string = 'Standard_D2s_v5' @description('Optional. The user name for the administrator account of the virtual machine. Allows to customize credentials if `enablePrivateNetworking` is set to true.') @secure() -param virtualMachineAdminUsername string = '' +param vmAdminUsername string = '' @description('Optional. The password for the administrator account of the virtual machine. Allows to customize credentials if `enablePrivateNetworking` is set to true.') @secure() -param virtualMachineAdminPassword string = '' +param vmAdminPassword string = '' @description('Optional. Enable/Disable usage telemetry for module.') param enableTelemetry bool = true @@ -341,7 +341,7 @@ var clientKey = '${uniqueString(guid(subscription().id, deployment().name))}${ne var eventGridSystemTopicName = 'evgt-${solutionSuffix}' @description('Optional. Image version tag to use.') -param appversion string = 'latest_waf' // Update GIT deployment branch +param imageTag string = 'latest_waf' // Update GIT deployment branch var registryName = 'cwydcontainerreg' // Update Registry name @@ -380,10 +380,15 @@ param createdBy string = contains(deployer(), 'userPrincipalName') resource resourceGroupTags 'Microsoft.Resources/tags@2025-04-01' = { name: 'default' properties: { - tags: union(existingTags, allTags, { - TemplateName: 'CWYD' - CreatedBy: createdBy - }) + tags: union( + existingTags, + allTags, + { + TemplateName: 'CWYD' + CreatedBy: createdBy + Type: enablePrivateNetworking ? 'WAF' : 'Non-WAF' + } + ) } } @@ -447,8 +452,8 @@ resource avmTelemetry 'Microsoft.Resources/deployments@2024-03-01' = if (enableT // params: { // resourcesName: networkResourceName // logAnalyticsWorkSpaceResourceId: enableMonitoring ? monitoring!.outputs.logAnalyticsWorkspaceId : '' -// vmAdminUsername: empty(virtualMachineAdminUsername) ? 'JumpboxAdminUser' : virtualMachineAdminUsername -// vmAdminPassword: empty(virtualMachineAdminPassword) ? 'JumpboxAdminP@ssw0rd1234!' : virtualMachineAdminPassword +// vmAdminUsername: empty(vmAdminUsername) ? 'JumpboxAdminUser' : vmAdminUsername +// vmAdminPassword: empty(vmAdminPassword) ? 'JumpboxAdminP@ssw0rd1234!' : vmAdminPassword // vmSize: empty(vmSize) ? 'Standard_D2s_v5' : vmSize // location: location // tags: allTags @@ -508,8 +513,8 @@ module jumpboxVM 'br/public:avm/res/compute/virtual-machine:0.15.0' = if (enable name: take(jumpboxVmName, 15) // Shorten VM name to 15 characters to avoid Azure limits vmSize: vmSize ?? 'Standard_D2s_v5' location: location - adminUsername: !empty(virtualMachineAdminUsername) ? virtualMachineAdminUsername : 'JumpboxAdminUser' - adminPassword: !empty(virtualMachineAdminPassword) ? virtualMachineAdminPassword : 'JumpboxAdminP@ssw0rd1234!' + adminUsername: !empty(vmAdminUsername) ? vmAdminUsername : 'JumpboxAdminUser' + adminPassword: !empty(vmAdminPassword) ? vmAdminPassword : 'JumpboxAdminP@ssw0rd1234!' tags: tags zone: 0 imageReference: { @@ -1215,7 +1220,7 @@ module web 'modules/app/web.bicep' = { runtimeName: hostingModel == 'code' ? 'python' : null runtimeVersion: hostingModel == 'code' ? '3.11' : null // docker-specific fields apply only for container-hosted apps - dockerFullImageName: hostingModel == 'container' ? '${registryName}.azurecr.io/rag-webapp:${appversion}' : null + dockerFullImageName: hostingModel == 'container' ? '${registryName}.azurecr.io/rag-webapp:${imageTag}' : null useDocker: hostingModel == 'container' ? true : false allowedOrigins: [] appCommandLine: '' @@ -1324,7 +1329,7 @@ module adminweb 'modules/app/adminweb.bicep' = { runtimeName: hostingModel == 'code' ? 'python' : null runtimeVersion: hostingModel == 'code' ? '3.11' : null // docker-specific fields apply only for container-hosted apps - dockerFullImageName: hostingModel == 'container' ? '${registryName}.azurecr.io/rag-adminwebapp:${appversion}' : null + dockerFullImageName: hostingModel == 'container' ? '${registryName}.azurecr.io/rag-adminwebapp:${imageTag}' : null useDocker: hostingModel == 'container' ? true : false userAssignedIdentityResourceId: managedIdentityModule.outputs.resourceId // App settings @@ -1422,7 +1427,7 @@ module function 'modules/app/function.bicep' = { tags: union(tags, { 'azd-service-name': hostingModel == 'container' ? 'function-docker' : 'function' }) runtimeName: 'python' runtimeVersion: '3.11' - dockerFullImageName: hostingModel == 'container' ? '${registryName}.azurecr.io/rag-backend:${appversion}' : '' + dockerFullImageName: hostingModel == 'container' ? '${registryName}.azurecr.io/rag-backend:${imageTag}' : '' serverFarmResourceId: webServerFarm.outputs.resourceId applicationInsightsName: enableMonitoring ? monitoring!.outputs.applicationInsightsName : '' storageAccountName: storage.outputs.name diff --git a/infra/main.json b/infra/main.json index 8dc5ef7ca..4f2fa4921 100644 --- a/infra/main.json +++ b/infra/main.json @@ -5,8 +5,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "5847968968947118443" + "version": "0.40.2.10011", + "templateHash": "560719295680871082" } }, "parameters": { @@ -530,14 +530,14 @@ "description": "Optional. Size of the Jumpbox Virtual Machine when created. Set to custom value if enablePrivateNetworking is true." } }, - "virtualMachineAdminUsername": { + "vmAdminUsername": { "type": "securestring", "defaultValue": "", "metadata": { "description": "Optional. The user name for the administrator account of the virtual machine. Allows to customize credentials if `enablePrivateNetworking` is set to true." } }, - "virtualMachineAdminPassword": { + "vmAdminPassword": { "type": "securestring", "defaultValue": "", "metadata": { @@ -551,7 +551,7 @@ "description": "Optional. Enable/Disable usage telemetry for module." } }, - "appversion": { + "imageTag": { "type": "string", "defaultValue": "latest_waf", "metadata": { @@ -700,7 +700,7 @@ "apiVersion": "2025-04-01", "name": "default", "properties": { - "tags": "[union(variables('existingTags'), variables('allTags'), createObject('TemplateName', 'CWYD', 'CreatedBy', parameters('createdBy')))]" + "tags": "[union(variables('existingTags'), variables('allTags'), createObject('TemplateName', 'CWYD', 'CreatedBy', parameters('createdBy'), 'Type', if(parameters('enablePrivateNetworking'), 'WAF', 'Non-WAF')))]" } }, "avmTelemetry": { @@ -773,8 +773,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "384243004764392788" + "version": "0.40.2.10011", + "templateHash": "4363669357588029188" } }, "definitions": { @@ -4882,8 +4882,8 @@ "location": { "value": "[parameters('location')]" }, - "adminUsername": "[if(not(empty(parameters('virtualMachineAdminUsername'))), createObject('value', parameters('virtualMachineAdminUsername')), createObject('value', 'JumpboxAdminUser'))]", - "adminPassword": "[if(not(empty(parameters('virtualMachineAdminPassword'))), createObject('value', parameters('virtualMachineAdminPassword')), createObject('value', 'JumpboxAdminP@ssw0rd1234!'))]", + "adminUsername": "[if(not(empty(parameters('vmAdminUsername'))), createObject('value', parameters('vmAdminUsername')), createObject('value', 'JumpboxAdminUser'))]", + "adminPassword": "[if(not(empty(parameters('vmAdminPassword'))), createObject('value', parameters('vmAdminPassword')), createObject('value', 'JumpboxAdminP@ssw0rd1234!'))]", "tags": { "value": "[parameters('tags')]" }, @@ -14130,8 +14130,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "16522626459400994678" + "version": "0.40.2.10011", + "templateHash": "10255842321204960752" }, "name": "Private DNS Zones", "description": "This module deploys a Private DNS zone." @@ -14365,8 +14365,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "11851525189118797157" + "version": "0.40.2.10011", + "templateHash": "10856252929804398893" }, "name": "Private DNS Zone Virtual Network Link", "description": "This module deploys a Private DNS Zone Virtual Network Link." @@ -14577,8 +14577,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "3268139627638994011" + "version": "0.40.2.10011", + "templateHash": "9211547202836289372" }, "name": "Azure Cosmos DB account", "description": "This module deploys an Azure Cosmos DB account. The API used for the account is determined by the child resources that are deployed." @@ -15917,8 +15917,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "7264846420703255600" + "version": "0.40.2.10011", + "templateHash": "6751865305204132875" }, "name": "DocumentDB Database Account SQL Databases", "description": "This module deploys a SQL Database in a CosmosDB Account." @@ -16049,8 +16049,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "124073885262920691" + "version": "0.40.2.10011", + "templateHash": "10949814929922867470" }, "name": "DocumentDB Database Account SQL Database Containers", "description": "This module deploys a SQL Database Container in a CosmosDB Account." @@ -16303,8 +16303,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "16935264052800773961" + "version": "0.40.2.10011", + "templateHash": "13593665980865284441" }, "name": "DocumentDB Database Account SQL Role Definitions.", "description": "This module deploys a SQL Role Definision in a CosmosDB Account." @@ -16440,8 +16440,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "13391456638579008263" + "version": "0.40.2.10011", + "templateHash": "15009424203700037652" }, "name": "DocumentDB Database Account SQL Role Assignments.", "description": "This module deploys a SQL Role Assignment in a CosmosDB Account." @@ -20224,8 +20224,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "12461832127590566376" + "version": "0.40.2.10011", + "templateHash": "2044980228546181718" }, "name": "Key Vaults", "description": "This module deploys a Key Vault." @@ -21239,8 +21239,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "17638768712999286282" + "version": "0.40.2.10011", + "templateHash": "7424172939615504903" }, "name": "Key Vault Secrets", "description": "This module deploys a Key Vault Secret." @@ -22392,8 +22392,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "9897399857943770193" + "version": "0.40.2.10011", + "templateHash": "12203428135310634894" } }, "parameters": { @@ -22611,8 +22611,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1086305767743367425" + "version": "0.40.2.10011", + "templateHash": "16656458525375166026" }, "name": "Cognitive Services", "description": "This module deploys a Cognitive Service." @@ -24998,8 +24998,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "9897399857943770193" + "version": "0.40.2.10011", + "templateHash": "12203428135310634894" } }, "parameters": { @@ -25217,8 +25217,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1086305767743367425" + "version": "0.40.2.10011", + "templateHash": "16656458525375166026" }, "name": "Cognitive Services", "description": "This module deploys a Cognitive Service." @@ -27605,8 +27605,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "9897399857943770193" + "version": "0.40.2.10011", + "templateHash": "12203428135310634894" } }, "parameters": { @@ -27824,8 +27824,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1086305767743367425" + "version": "0.40.2.10011", + "templateHash": "16656458525375166026" }, "name": "Cognitive Services", "description": "This module deploys a Cognitive Service." @@ -33118,7 +33118,7 @@ }, "runtimeName": "[if(equals(parameters('hostingModel'), 'code'), createObject('value', 'python'), createObject('value', null()))]", "runtimeVersion": "[if(equals(parameters('hostingModel'), 'code'), createObject('value', '3.11'), createObject('value', null()))]", - "dockerFullImageName": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', format('{0}.azurecr.io/rag-webapp:{1}', variables('registryName'), parameters('appversion'))), createObject('value', null()))]", + "dockerFullImageName": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', format('{0}.azurecr.io/rag-webapp:{1}', variables('registryName'), parameters('imageTag'))), createObject('value', null()))]", "useDocker": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', true()), createObject('value', false()))]", "allowedOrigins": { "value": [] @@ -33148,8 +33148,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "8532914521980205931" + "version": "0.40.2.10011", + "templateHash": "14944789060658610335" } }, "parameters": { @@ -33406,8 +33406,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "2173437779685294467" + "version": "0.40.2.10011", + "templateHash": "9554515776588917986" } }, "definitions": { @@ -34423,8 +34423,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1185169597469996118" + "version": "0.40.2.10011", + "templateHash": "10706743168754451638" }, "name": "Site App Settings", "description": "This module deploys a Site App Setting." @@ -35434,7 +35434,7 @@ }, "runtimeName": "[if(equals(parameters('hostingModel'), 'code'), createObject('value', 'python'), createObject('value', null()))]", "runtimeVersion": "[if(equals(parameters('hostingModel'), 'code'), createObject('value', '3.11'), createObject('value', null()))]", - "dockerFullImageName": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', format('{0}.azurecr.io/rag-adminwebapp:{1}', variables('registryName'), parameters('appversion'))), createObject('value', null()))]", + "dockerFullImageName": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', format('{0}.azurecr.io/rag-adminwebapp:{1}', variables('registryName'), parameters('imageTag'))), createObject('value', null()))]", "useDocker": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', true()), createObject('value', false()))]", "userAssignedIdentityResourceId": { "value": "[reference('managedIdentityModule').outputs.resourceId.value]" @@ -35458,8 +35458,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "12347074396707017406" + "version": "0.40.2.10011", + "templateHash": "3252026466890441741" } }, "parameters": { @@ -35716,8 +35716,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "2173437779685294467" + "version": "0.40.2.10011", + "templateHash": "9554515776588917986" } }, "definitions": { @@ -36733,8 +36733,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1185169597469996118" + "version": "0.40.2.10011", + "templateHash": "10706743168754451638" }, "name": "Site App Settings", "description": "This module deploys a Site App Setting." @@ -37740,7 +37740,7 @@ "runtimeVersion": { "value": "3.11" }, - "dockerFullImageName": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', format('{0}.azurecr.io/rag-backend:{1}', variables('registryName'), parameters('appversion'))), createObject('value', ''))]", + "dockerFullImageName": "[if(equals(parameters('hostingModel'), 'container'), createObject('value', format('{0}.azurecr.io/rag-backend:{1}', variables('registryName'), parameters('imageTag'))), createObject('value', ''))]", "serverFarmResourceId": { "value": "[reference('webServerFarm').outputs.resourceId.value]" }, @@ -37772,8 +37772,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "18272396686912776072" + "version": "0.40.2.10011", + "templateHash": "13459337259089633620" } }, "parameters": { @@ -38013,8 +38013,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "3443210178091027572" + "version": "0.40.2.10011", + "templateHash": "7868442452606722093" } }, "parameters": { @@ -38379,8 +38379,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "2173437779685294467" + "version": "0.40.2.10011", + "templateHash": "9554515776588917986" } }, "definitions": { @@ -39396,8 +39396,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1185169597469996118" + "version": "0.40.2.10011", + "templateHash": "10706743168754451638" }, "name": "Site App Settings", "description": "This module deploys a Site App Setting." @@ -40456,8 +40456,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "15241005313504627956" + "version": "0.40.2.10011", + "templateHash": "6356546987848137792" }, "name": "monitoring-solution", "description": "AVM WAF-compliant monitoring solution that integrates Application Insights with Log Analytics for centralized telemetry, diagnostics, and observability." @@ -46084,8 +46084,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "9897399857943770193" + "version": "0.40.2.10011", + "templateHash": "12203428135310634894" } }, "parameters": { @@ -46303,8 +46303,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1086305767743367425" + "version": "0.40.2.10011", + "templateHash": "16656458525375166026" }, "name": "Cognitive Services", "description": "This module deploys a Cognitive Service." @@ -48688,8 +48688,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "9897399857943770193" + "version": "0.40.2.10011", + "templateHash": "12203428135310634894" } }, "parameters": { @@ -48907,8 +48907,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1086305767743367425" + "version": "0.40.2.10011", + "templateHash": "16656458525375166026" }, "name": "Cognitive Services", "description": "This module deploys a Cognitive Service." @@ -51348,8 +51348,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "17411815865895438280" + "version": "0.40.2.10011", + "templateHash": "12823594036091587905" }, "name": "Storage Accounts", "description": "This module deploys a Storage Account." @@ -53390,8 +53390,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "1615241847605833494" + "version": "0.40.2.10011", + "templateHash": "16371312336977785203" }, "name": "Storage Account blob Services", "description": "This module deploys a Storage Account Blob Service." @@ -53855,8 +53855,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "2504838016669447838" + "version": "0.40.2.10011", + "templateHash": "720047177377715794" }, "name": "Storage Account Blob Containers", "description": "This module deploys a Storage Account Blob Container." @@ -54085,8 +54085,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "8672616740318557899" + "version": "0.40.2.10011", + "templateHash": "762550663284671930" }, "name": "Storage Account Queue Services", "description": "This module deploys a Storage Account Queue Service." @@ -54400,8 +54400,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "14546567088712421783" + "version": "0.40.2.10011", + "templateHash": "11660949029577641391" }, "name": "Storage Account Queues", "description": "This module deploys a Storage Account Queue." @@ -54524,8 +54524,8 @@ } }, "dependsOn": [ - "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageQueue)]", "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageBlob)]", + "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageQueue)]", "[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageFile)]", "managedIdentityModule", "virtualNetwork" @@ -54580,8 +54580,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "8897699566179561823" + "version": "0.40.2.10011", + "templateHash": "12802430302779736502" } }, "parameters": { @@ -54663,8 +54663,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "2448405259058465422" + "version": "0.40.2.10011", + "templateHash": "7863812212407292491" }, "name": "workbook", "description": "AVM WAF-compliant Workbook deployment using Microsoft.Insights resource type. Ensures governance, observability, tagging, and consistency with other monitoring resources." @@ -56022,8 +56022,8 @@ "metadata": { "_generator": { "name": "bicep", - "version": "0.41.2.15936", - "templateHash": "7914850545661773922" + "version": "0.40.2.10011", + "templateHash": "6117122549500255049" } }, "parameters": { diff --git a/infra/main.parameters.json b/infra/main.parameters.json index f2a5135af..d4f9af2f5 100644 --- a/infra/main.parameters.json +++ b/infra/main.parameters.json @@ -172,10 +172,10 @@ "value": "${AZURE_COMPUTER_VISION_VECTORIZE_IMAGE_MODEL_VERSION=2023-04-15}" }, "existingLogAnalyticsWorkspaceId": { - "value": "${AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID}" + "value": "${AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID}" }, - "appversion": { - "value": "${AZURE_IMAGE_TAG=latest_waf}" + "imageTag": { + "value": "${AZURE_ENV_IMAGETAG=latest_waf}" } } } diff --git a/infra/main.waf.parameters.json b/infra/main.waf.parameters.json index 3108f1708..9d7da6a52 100644 --- a/infra/main.waf.parameters.json +++ b/infra/main.waf.parameters.json @@ -172,7 +172,7 @@ "value": "${AZURE_COMPUTER_VISION_VECTORIZE_IMAGE_MODEL_VERSION=2023-04-15}" }, "existingLogAnalyticsWorkspaceId": { - "value": "${AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID}" + "value": "${AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID}" }, "enableMonitoring": { "value": true @@ -190,22 +190,22 @@ "value": "${ENABLE_PURGE_PROTECTION=false}" }, "enableTelemetry": { - "value": "${ENABLE_TELEMETRY=true}" + "value": "${AZURE_ENV_ENABLE_TELEMETRY=true}" }, "tags": { "value": {} }, "vmSize": { - "value": "${AZURE_ENV_JUMPBOX_SIZE}" + "value": "${AZURE_ENV_VM_SIZE}" }, - "virtualMachineAdminUsername": { + "vmAdminUsername": { "value": "${AZURE_ENV_VM_ADMIN_USERNAME}" }, - "virtualMachineAdminPassword": { + "vmAdminPassword": { "value": "${AZURE_ENV_VM_ADMIN_PASSWORD}" }, - "appversion": { - "value": "${AZURE_IMAGE_TAG=latest_waf}" + "imageTag": { + "value": "${AZURE_ENV_IMAGETAG=latest_waf}" } } }