diff --git a/.github/scripts/delete-aws-resources.sh b/.github/scripts/delete-aws-resources.sh new file mode 100755 index 00000000..37a51ff7 --- /dev/null +++ b/.github/scripts/delete-aws-resources.sh @@ -0,0 +1,92 @@ +#!/bin/bash + +# ------------------------------------------------------------ +# Copyright 2023 The Radius Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ------------------------------------------------------------ + + +APP_NAME=$1 +APP_LABEL='RadiusApplication' +RESOURCE_TYPES='AWS::RDS::DBInstance,AWS::RDS::DBSubnetGroup,AWS::MemoryDB::Cluster,AWS::MemoryDB::SubnetGroup' + +# File to store the list of deleted resources +DELETED_RESOURCES_FILE='deleted-resources.txt' + +# Number of retries +MAX_RETRIES=5 + +# Retry delay in seconds +RETRY_DELAY=300 # 5 minutes + +function delete_aws_resources() { + # Empty the file + truncate -s 0 $DELETED_RESOURCES_FILE + + for resource_type in ${RESOURCE_TYPES//,/ } + do + aws cloudcontrol list-resources --type-name "$resource_type" --query "ResourceDescriptions[].Identifier" --output text | tr '\t' '\n' | while read identifier + do + aws cloudcontrol get-resource --type-name "$resource_type" --identifier "$identifier" --query "ResourceDescription.Properties" --output text | while read resource + do + resource_tags=$(jq -c -r .Tags <<< "$resource") + for tag in $(jq -c -r '.[]' <<< "$resource_tags") + do + key=$(jq -r '.Key' <<< "$tag") + value=$(jq -r '.Value' <<< "$tag") + if [[ "$key" == "$APP_LABEL" && "$value" == "$APP_NAME" ]] + then + echo "Deleting resource of type: $resource_type with identifier: $identifier" + echo "$identifier\n" >> $DELETED_RESOURCES_FILE + aws cloudcontrol delete-resource --type-name "$resource_type" --identifier "$identifier" + fi + done + done + done + done + + if [ -s $DELETED_RESOURCES_FILE ]; then + return 1 + else + return 0 + fi +} + +RETRY_COUNT=0 +while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do + # Trigger the function to delete the resources + delete_aws_resources + + # If the function returned 0, then no resources needed to be deleted + # on this run. This means that all resources have been deleted. + if [ $? -eq 0 ]; then + echo "All resources deleted successfully" + break + fi + + # Still have resources to delete, increase the retry count + RETRY_COUNT=$((RETRY_COUNT + 1)) + + # Check if there are more retries left + if [ $RETRY_COUNT -lt $MAX_RETRIES ]; then + # Retry after delay + echo "Retrying in $RETRY_DELAY seconds..." + sleep $RETRY_DELAY + fi +done + +# Check if the maximum number of retries exceeded +if [ $RETRY_COUNT -eq $MAX_RETRIES ]; then + echo "Maximum number of retries exceeded" +fi diff --git a/.github/workflows/purge-test-resources.yaml b/.github/workflows/purge-azure-test-resources.yaml similarity index 50% rename from .github/workflows/purge-test-resources.yaml rename to .github/workflows/purge-azure-test-resources.yaml index db47b568..91bc0bd3 100644 --- a/.github/workflows/purge-test-resources.yaml +++ b/.github/workflows/purge-azure-test-resources.yaml @@ -1,4 +1,4 @@ -name: Purge test resources +name: Purge Azure test resources on: schedule: - cron: "30 0,12 * * *" @@ -7,7 +7,7 @@ env: VALID_RESOURCE_WINDOW: 6*60*60 jobs: purge_azure_resources: - name: Azure resources clean-ups + name: Azure test resource cleanup runs-on: [self-hosted, 1ES.Pool=1ES-Radius] steps: - name: Login to Azure @@ -18,30 +18,47 @@ jobs: --tenant ${{ secrets.AZURE_SP_TESTS_TENANTID }} az account set --subscription ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }} - - name: List Test Resource Groups run: | echo "## Test resource group list" >> $GITHUB_STEP_SUMMARY - az group list --query "[?starts_with(name, 'samplestest-')].{Name:name, creationTime:tags.creationTime}" -o json > resource_groups.json + + # Create the file to store the resource group list + touch ${{ env.AZURE_RG_DELETE_LIST_FILE}} + + resource_groups=$(az group list --query "[].{Name:name, creationTime:tags.creationTime}" -o tsv) current_time=$(date +%s) hours_ago=$((current_time - ${{ env.VALID_RESOURCE_WINDOW }})) + while IFS=$'\t' read -r name creation_time; do + if [[ ! "$name" =~ ^"samplestest-" ]]; then + continue + fi - jq -r '.[] | select(.creationTime == null || .creationTime < '$hours_ago') | .Name' resource_groups.json > ${{ env.AZURE_RG_DELETE_LIST_FILE}} - jq -r '.[] | {name: .Name, creationTime: .creationTime // "None"}' resource_groups.json > $GITHUB_STEP_SUMMARY + if [ "$creation_time" = "None" ]; then + echo " * :wastebasket: $name - old resource" >> $GITHUB_STEP_SUMMARY + echo $name >> ${{ env.AZURE_RG_DELETE_LIST_FILE}} + continue + fi + # Check if the resource group was created more than 6 hours ago + if [ "$creation_time" -lt "$hours_ago" ]; then + echo " * :wastebasket: $name - creationTime: $creation_time" >> $GITHUB_STEP_SUMMARY + echo $name >> ${{ env.AZURE_RG_DELETE_LIST_FILE}} + else + echo " * :white_check_mark: $name - creationTime: $creation_time" >> $GITHUB_STEP_SUMMARY + fi + done <<< "$resource_groups" - name: Delete Azure Resource Groups run: | echo "## Deleting resource group list" >> $GITHUB_STEP_SUMMARY - cat ${{ env.AZURE_RG_DELETE_LIST_FILE}} | while read -r line + cat ${{ env.AZURE_RG_DELETE_LIST_FILE}} | while read line do echo " * $line" >> $GITHUB_STEP_SUMMARY az group delete --resource-group $line --yes --verbose done - - name: Create GitHub issue on failure if: ${{ failure() }} run: | - gh issue create --title "Samples purge test resources failed \ + gh issue create --title "Samples purge Azure test resources failed" \ --body "Test failed on ${{ github.repository }}. See [workflow logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for more details." \ - s--repo ${{ github.repository }} + --repo ${{ github.repository }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ff2489ac..83ba3627 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: version: - description: 'Radius version number to use (e.g. 0.22.0, 0.23.0-rc1)' + description: 'Radius version number to use (e.g. 0.1.0, 0.1.0-rc1)' required: true default: '' type: string diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 5e90b9f1..71209980 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: version: - description: 'Radius version number to use (e.g. 0.22.0, 0.23.0-rc1, edge). Defaults to edge.' + description: 'Radius version number to use (e.g. 0.1.0, 0.1.0-rc1, edge). Defaults to edge.' required: false default: 'edge' type: string @@ -26,6 +26,7 @@ on: - cron: "45 15 * * *" env: RAD_CLI_URL: https://get.radapp.dev/tools/rad/install.sh + RUN_IDENTIFIER: samplestest-${{ github.run_id }}-${{ github.run_attempt }} jobs: test: name: Sample tests @@ -39,7 +40,7 @@ jobs: app: demo path: ./demo/app.bicep args: --application demo - uiTestFile: tests/demo.app.spec.ts + uiTestFile: tests/demo/demo.app.spec.ts port: 3000 container: demo enableDapr: false @@ -62,29 +63,37 @@ jobs: runOnPullRequest: true app: eshop path: ./reference-apps/eshop/iac/eshop.bicep - args: --application eshop uiTestFile: tests/eshop/container.app.spec.ts enableDapr: false - name: eshop-azure runOnPullRequest: false - app: eshop + app: eshop-azure path: ./reference-apps/eshop/iac/eshop.bicep - args: --application eshop -p platform=azure + args: -p platform=azure -p appName=eshop-azure uiTestFile: tests/eshop/container.app.spec.ts credential: azure enableDapr: false + - name: eshop-aws + runOnPullRequest: false + app: eshop-aws-${{ github.run_id }}-${{ github.run_attempt }} + path: ./reference-apps/eshop/iac/eshop.bicep + args: -p platform=aws -p eksClusterName=eks-samplestest-${{ github.run_id }}-${{ github.run_attempt }}-eshop-aws -p appName=eshop-aws-${{ github.run_id }}-${{ github.run_attempt }} + uiTestFile: tests/eshop/container.app.spec.ts + credential: aws + enableDapr: false env: BRANCH: ${{ github.base_ref || github.ref_name }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} AZURE_LOCATION: westus3 + AWS_REGION: us-west-2 + AWS_ZONES: us-west-2a,us-west-2b,us-west-2c steps: # Setup the test assets and configuration - name: Generate output variables id: gen-id run: | - BASE_STR="SAMPLES|${GITHUB_SHA}|${GITHUB_SERVER_URL}|${GITHUB_REPOSITORY}|${GITHUB_RUN_ID}|${GITHUB_RUN_ATTEMPT}" - UNIQUE_ID=$(echo $BASE_STR | sha1sum | head -c 10) - + RUN_IDENTIFIER=${{ env.RUN_IDENTIFIER }}-${{ matrix.name }} + if [[ "${{ github.event_name }}" == "pull_request" && "${{ matrix.runOnPullRequest }}" == "false" ]]; then RUN_TEST=false else @@ -98,15 +107,16 @@ jobs: fi # Set output variables to be used in the other jobs - echo "UNIQUE_ID=${UNIQUE_ID}" >> $GITHUB_OUTPUT - echo "TEST_RESOURCE_GROUP_PREFIX=samplestest-${UNIQUE_ID}" >> $GITHUB_OUTPUT + echo "RUN_IDENTIFIER=${RUN_IDENTIFIER}" >> $GITHUB_OUTPUT + echo "TEST_AZURE_RESOURCE_GROUP=rg-${RUN_IDENTIFIER}" >> $GITHUB_OUTPUT + echo "TEST_EKS_CLUSTER_NAME=eks-${RUN_IDENTIFIER}" >> $GITHUB_OUTPUT echo "RUN_TEST=${RUN_TEST}" >> $GITHUB_OUTPUT echo "ENABLE_DAPR=${ENABLE_DAPR}" >> $GITHUB_OUTPUT - name: Checkout code if: steps.gen-id.outputs.RUN_TEST == 'true' uses: actions/checkout@v3 - name: Ensure inputs.version is valid semver - if: inputs.version != '' && steps.gen-id.outputs.RUN_TEST == 'true' + if: steps.gen-id.outputs.RUN_TEST == 'true' && inputs.version != '' run: | python ./.github/scripts/validate_semver.py ${{ inputs.version }} - name: Setup Node @@ -115,7 +125,7 @@ jobs: with: node-version: 16 - name: az CLI login - if: matrix.credential == 'azure' && steps.gen-id.outputs.RUN_TEST == 'true' + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'azure' run: | az login --service-principal \ --username ${{ secrets.AZURE_SP_TESTS_APPID }} \ @@ -123,56 +133,87 @@ jobs: --tenant ${{ secrets.AZURE_SP_TESTS_TENANTID }} # Create and install test environment - name: Create Azure resource group + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'azure' id: create-azure-resource-group - if: matrix.credential == 'azure' && steps.gen-id.outputs.RUN_TEST == 'true' - env: - RESOURCE_GROUP: ${{ steps.gen-id.outputs.TEST_RESOURCE_GROUP_PREFIX }}-${{ matrix.name }} - SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }} run: | current_time=$(date +%s) az group create \ --location ${{ env.AZURE_LOCATION }} \ - --name $RESOURCE_GROUP \ - --subscription $SUBSCRIPTION_ID \ + --name ${{ steps.gen-id.outputs.TEST_AZURE_RESOURCE_GROUP }} \ + --subscription ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }} \ --tags creationTime=$current_time - while [ $(az group exists --name $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID) = false ]; do - echo "Waiting for resource group $RESOURCE_GROUP to be created..." + while [ $(az group exists --name ${{ steps.gen-id.outputs.TEST_AZURE_RESOURCE_GROUP }} --subscription ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }}) = false ]; do + echo "Waiting for resource group ${{ steps.gen-id.outputs.TEST_AZURE_RESOURCE_GROUP }} to be created..." sleep 5 done + - name: Configure AWS + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'aws' + run: | + aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }} + aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws configure set region ${{ env.AWS_REGION }} + aws configure set output json + - name: Create EKS Cluster + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'aws' + id: create-eks + run: | + curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp + sudo mv /tmp/eksctl /usr/local/bin + eksctl create cluster \ + --name ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} \ + --nodes-min 1 --nodes-max 2 --node-type t3.large \ + --zones ${{ env.AWS_ZONES }} \ + --managed \ + --region ${{ env.AWS_REGION }} + while [[ "$(eksctl get cluster ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} --region ${{ env.AWS_REGION }} -o json | jq -r .[0].Status)" != "ACTIVE" ]]; do + echo "Waiting for EKS cluster to be created..." + sleep 60 + done + timeout-minutes: 60 + continue-on-error: false + - name: Install k3d + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'aws' + run: | + aws eks update-kubeconfig --region ${{ env.AWS_REGION }} --name ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} - name: Download k3d - if: steps.gen-id.outputs.RUN_TEST == 'true' + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential != 'aws' run: wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash + - name: Create k3d cluster + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential != 'aws' + run: k3d cluster create --agents 2 -p "80:80@loadbalancer" --k3s-arg "--disable=traefik@server:0" + - name: Install Dapr + if: steps.gen-id.outputs.RUN_TEST == 'true' && steps.gen-id.outputs.ENABLE_DAPR == 'true' + run: | + helm repo add dapr https://dapr.github.io/helm-charts/ + helm install dapr dapr/dapr --version=1.6 --namespace dapr-system --create-namespace --wait - name: Download rad CLI if: steps.gen-id.outputs.RUN_TEST == 'true' run: | for attempt in 1 2 3 4 5; do - if [[ -n "${{ inputs.version }}" ]]; then + if [[ -n "${{ inputs.version }}" && "${{ inputs.version }}" != "edge" && "${{ inputs.version }}" != *"rc"* ]]; then + INPUT_CHANNEL=$(echo "${{ inputs.version }}" | cut -d '.' -f 1,2) + echo "Downloading rad CLI version $INPUT_CHANNEL" + wget -q "${{ env.RAD_CLI_URL }}" -O - | /bin/bash -s $INPUT_CHANNEL + elif [[ -n "${{ inputs.version }}" ]]; then echo "Downloading rad CLI version ${{ inputs.version }}" wget -q "${{ env.RAD_CLI_URL }}" -O - | /bin/bash -s ${{ inputs.version }} else - echo "Downloading latest rad CLI" - wget -q "${{ env.RAD_CLI_URL }}" -O - | /bin/bash + echo "Downloading edge rad CLI" + wget -q "${{ env.RAD_CLI_URL }}" -O - | /bin/bash -s edge fi if [ $? -eq 0 ]; then break fi done - - name: Create k3d cluster - if: steps.gen-id.outputs.RUN_TEST == 'true' - run: k3d cluster create --agents 2 -p "80:80@loadbalancer" --k3s-arg "--disable=traefik@server:0" - - name: Install Dapr - if: steps.gen-id.outputs.RUN_TEST == 'true' && steps.gen-id.outputs.ENABLE_DAPR == 'true' - run: | - helm repo add dapr https://dapr.github.io/helm-charts/ - helm install dapr dapr/dapr --version=1.6 --namespace dapr-system --create-namespace --wait - - name: Init local environment + - name: Initialize local environment if: steps.gen-id.outputs.RUN_TEST == 'true' - env: - RESOURCE_GROUP: ${{ steps.gen-id.outputs.TEST_RESOURCE_GROUP_PREFIX }}-${{ matrix.name }} - SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }} run: | - rad install kubernetes --set rp.publicEndpointOverride=localhost + if [[ "${{ matrix.credential }}" == "aws" ]]; then + rad install kubernetes + else + rad install kubernetes --set rp.publicEndpointOverride=localhost + fi rad group create default rad workspace create kubernetes default --group default rad group switch default @@ -181,9 +222,13 @@ jobs: rad recipe register default -e default -w default --template-kind bicep --template-path radius.azurecr.io/recipes/dev/rediscaches:latest --resource-type Applications.Datastores/redisCaches rad recipe register default -e default -w default --template-kind bicep --template-path radius.azurecr.io/recipes/dev/mongodatabases:latest --resource-type Applications.Datastores/mongoDatabases if [[ "${{ matrix.credential }}" == "azure" ]]; then - rad env update default --azure-subscription-id $SUBSCRIPTION_ID --azure-resource-group $RESOURCE_GROUP + rad env update default --azure-subscription-id ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }} --azure-resource-group ${{ steps.gen-id.outputs.TEST_AZURE_RESOURCE_GROUP }} rad credential register azure --client-id ${{ secrets.AZURE_SP_TESTS_APPID }} --client-secret ${{ secrets.AZURE_SP_TESTS_PASSWORD }} --tenant-id ${{ secrets.AZURE_SP_TESTS_TENANTID }} fi + if [[ "${{ matrix.credential }}" == "aws" ]]; then + rad env update default --aws-region ${{ env.AWS_REGION }} --aws-account-id ${{ secrets.AWS_ACCOUNT_ID }} + rad credential register aws --access-key-id ${{ secrets.AWS_ACCESS_KEY_ID }} --secret-access-key ${{ secrets.AWS_SECRET_ACCESS_KEY }} + fi # Deploy application and run tests - name: Deploy app if: steps.gen-id.outputs.RUN_TEST == 'true' @@ -195,16 +240,20 @@ jobs: label="radius.dev/application=${{ matrix.app }}" kubectl wait --for=condition=Ready pod -l $label -n $namespace --timeout=5m - name: Run Playwright Test + if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.uiTestFile != '' id: run-playwright-test - if: matrix.uiTestFile != '' && steps.gen-id.outputs.RUN_TEST == 'true' run: | if [[ "${{ matrix.container }}" != "" ]]; then rad resource expose containers ${{ matrix.container }} ${{ matrix.args }} --port ${{ matrix.port }} & + else + endpoint="$(rad app status -a ${{ matrix.app }} | sed 's/ /\n/g' | grep http)" + echo "Endpoint: $endpoint" + export ENDPOINT=$endpoint fi cd ui-tests/ npm ci npx playwright install --with-deps - npx playwright test ${{ matrix.uiTestFile }} --retries=3 + npx playwright test ${{ matrix.uiTestFile }} --retries 3 - name: Upload Playwright Results uses: actions/upload-artifact@v3 if: always() && ( steps.run-playwright-test.outcome == 'success' || steps.run-playwright-test.outcome == 'failure' ) @@ -244,15 +293,27 @@ jobs: # Cleanup - name: Delete app if: steps.gen-id.outputs.RUN_TEST == 'true' - run: rad app delete ${{ matrix.app }} -y + run: | + rad app delete ${{ matrix.app }} -y - name: Delete Azure resource group - if: always() && steps.create-azure-resource-group.outcome == 'success' - env: - RESOURCE_GROUP: ${{ steps.gen-id.outputs.TEST_RESOURCE_GROUP_PREFIX }}-${{ matrix.name }} - SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }} + if: always() && steps.gen-id.outputs.RUN_TEST == 'true' && steps.create-azure-resource-group.outcome == 'success' run: | - # if deletion fails, purge workflow will purge the resource group and its resources later. + # Delete Azure resources created by the test + # if deletion fails, purge workflow will purge the resource group and its resources later az group delete \ - --subscription $SUBSCRIPTION_ID \ - --name $RESOURCE_GROUP \ + --subscription ${{ secrets.AZURE_SUBSCRIPTIONID_TESTS }} \ + --name ${{ steps.gen-id.outputs.TEST_AZURE_RESOURCE_GROUP }} \ --yes + - name: Delete AWS Resources + if: always() && steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'aws' + run: | + # Delete all AWS resources created by the test + ./.github/scripts/delete-aws-resources.sh ${{ matrix.app }} + - name: Delete EKS Cluster + if: always() && steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'aws' + run: | + # Uninstall Radius from EKS cluster + rad uninstall kubernetes + # Delete EKS cluster + echo "Deleting EKS cluster: ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }}" + eksctl delete cluster --name ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} --region ${{ env.AWS_REGION }} --wait diff --git a/demo/app.bicep b/demo/app.bicep index 5b7389ed..6533225f 100644 --- a/demo/app.bicep +++ b/demo/app.bicep @@ -3,7 +3,7 @@ import radius as radius param application string param environment string -resource demo 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource demo 'Applications.Core/containers@2023-10-01-preview' = { name: 'demo' properties: { application: application @@ -29,7 +29,7 @@ resource demo 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource db 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource db 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'db' properties: { application: application diff --git a/quickstarts/dapr/dapr-azure.bicep b/quickstarts/dapr/dapr-azure.bicep index e521d764..01054810 100644 --- a/quickstarts/dapr/dapr-azure.bicep +++ b/quickstarts/dapr/dapr-azure.bicep @@ -3,14 +3,14 @@ import radius as radius param location string = resourceGroup().location param environment string -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'dapr-quickstart' properties: { environment: environment } } -resource backend 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource backend 'Applications.Core/containers@2023-10-01-preview' = { name: 'backend' properties: { application: app.id @@ -37,7 +37,7 @@ resource backend 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource frontend 'Applications.Core/containers@2023-10-01-preview' = { name: 'frontend' properties: { application: app.id @@ -62,14 +62,14 @@ resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource frontendRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' = { +resource frontendRoute 'Applications.Core/httpRoutes@2023-10-01-preview' = { name: 'frontend-route' properties: { application: app.id } } -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' = { name: 'gateway' properties: { application: app.id @@ -102,7 +102,7 @@ resource account 'Microsoft.Storage/storageAccounts@2019-06-01' = { } } -resource stateStore 'Applications.Dapr/stateStores@2022-03-15-privatepreview' = { +resource stateStore 'Applications.Dapr/stateStores@2023-10-01-preview' = { name: 'orders' properties: { environment: environment diff --git a/quickstarts/dapr/dapr.bicep b/quickstarts/dapr/dapr.bicep index 19a6646b..19d0f8d2 100644 --- a/quickstarts/dapr/dapr.bicep +++ b/quickstarts/dapr/dapr.bicep @@ -6,14 +6,14 @@ param environment string @description('Specifies Kubernetes namespace for redis.') param namespace string = 'default' -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'dapr-quickstart' properties: { environment: environment } } -resource backend 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource backend 'Applications.Core/containers@2023-10-01-preview' = { name: 'backend' properties: { application: app.id @@ -40,7 +40,7 @@ resource backend 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource frontend 'Applications.Core/containers@2023-10-01-preview' = { name: 'frontend' properties: { application: app.id @@ -65,14 +65,14 @@ resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource frontendRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' = { +resource frontendRoute 'Applications.Core/httpRoutes@2023-10-01-preview' = { name: 'frontend-route' properties: { application: app.id } } -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' = { name: 'gateway' properties: { application: app.id @@ -85,7 +85,7 @@ resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' = { } } -resource stateStore 'Applications.Dapr/stateStores@2022-03-15-privatepreview' = { +resource stateStore 'Applications.Dapr/stateStores@2023-10-01-preview' = { name: 'statestore' properties: { environment: environment diff --git a/quickstarts/environment-variables/app.bicep b/quickstarts/environment-variables/app.bicep index eb473155..44918c10 100644 --- a/quickstarts/environment-variables/app.bicep +++ b/quickstarts/environment-variables/app.bicep @@ -2,14 +2,14 @@ import radius as rad param environment string -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'myapp' properties: { environment: environment } } -resource container 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource container 'Applications.Core/containers@2023-10-01-preview' = { name: 'mycontainer' properties: { application: app.id @@ -28,7 +28,7 @@ resource container 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource mongoLink 'Applications.Datastores/mongoDatabases@2022-03-15-privatepreview' = { +resource mongoLink 'Applications.Datastores/mongoDatabases@2023-10-01-preview' = { name: 'mongo-link' properties: { environment: environment diff --git a/quickstarts/recipes/app.bicep b/quickstarts/recipes/app.bicep index 8ec55aa6..a36c708b 100644 --- a/quickstarts/recipes/app.bicep +++ b/quickstarts/recipes/app.bicep @@ -4,14 +4,14 @@ import radius as radius // The environment used by your resources for deployment. param environment string -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'webapp' properties: { environment: environment } } -resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource frontend 'Applications.Core/containers@2023-10-01-preview' = { name: 'frontend' properties: { application: app.id @@ -27,7 +27,7 @@ resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = { } // Redis Cache portable resource -resource db 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource db 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'db' properties: { environment: environment diff --git a/quickstarts/volumes/app.bicep b/quickstarts/volumes/app.bicep index 7a05bec6..2ef6aaad 100644 --- a/quickstarts/volumes/app.bicep +++ b/quickstarts/volumes/app.bicep @@ -2,14 +2,14 @@ import radius as rad param environment string -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'myapp' properties: { environment: environment } } -resource container 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource container 'Applications.Core/containers@2023-10-01-preview' = { name: 'mycontainer' properties: { application: app.id diff --git a/reference-apps/aws-sqs/sqs.bicep b/reference-apps/aws-sqs/sqs.bicep index 62dd6a0f..f588fd3b 100644 --- a/reference-apps/aws-sqs/sqs.bicep +++ b/reference-apps/aws-sqs/sqs.bicep @@ -17,7 +17,7 @@ var aws_credential = { } var app_name = 'sqs-sample-app' -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: app_name properties: { environment: environment @@ -32,7 +32,7 @@ resource queue 'AWS.SQS/Queue@default' = { } } -resource producer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource producer 'Applications.Core/containers@2023-10-01-preview' = { name: 'producer' properties: { application: app.id @@ -49,7 +49,7 @@ resource producer 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource consumer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource consumer 'Applications.Core/containers@2023-10-01-preview' = { name: 'consumer' properties: { application: app.id diff --git a/reference-apps/aws/awss3.bicep b/reference-apps/aws/awss3.bicep index 39bb8ad0..6b2d8195 100644 --- a/reference-apps/aws/awss3.bicep +++ b/reference-apps/aws/awss3.bicep @@ -21,14 +21,14 @@ resource s3 'AWS.S3/Bucket@default' = { } // get a radius container which uses the s3 bucket -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'webapp' properties: { environment: environment } } -resource frontend 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource frontend 'Applications.Core/containers@2023-10-01-preview' = { name: 'frontend' properties: { application: app.id diff --git a/reference-apps/container-app-store/iac/app.bicep b/reference-apps/container-app-store/iac/app.bicep index 2c6839de..d7c325bf 100644 --- a/reference-apps/container-app-store/iac/app.bicep +++ b/reference-apps/container-app-store/iac/app.bicep @@ -2,14 +2,14 @@ import radius as radius param environment string -resource app 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'store' properties: { environment: environment } } -resource go_app 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource go_app 'Applications.Core/containers@2023-10-01-preview' = { name: 'goapp' properties: { application: app.id @@ -31,14 +31,14 @@ resource go_app 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource node_app_route 'Applications.Core/httpRoutes@2022-03-15-privatepreview' = { +resource node_app_route 'Applications.Core/httpRoutes@2023-10-01-preview' = { name: 'node-app-route' properties: { application: app.id } } -resource node_app_gateway 'Applications.Core/gateways@2022-03-15-privatepreview' = { +resource node_app_gateway 'Applications.Core/gateways@2023-10-01-preview' = { name: 'node-app-gateway' properties: { application: app.id @@ -50,7 +50,7 @@ resource node_app_gateway 'Applications.Core/gateways@2022-03-15-privatepreview' ] } } -resource node_app 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource node_app 'Applications.Core/containers@2023-10-01-preview' = { name: 'nodeapp' properties: { application: app.id @@ -76,7 +76,7 @@ resource node_app 'Applications.Core/containers@2022-03-15-privatepreview' = { } } -resource python_app 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource python_app 'Applications.Core/containers@2023-10-01-preview' = { name: 'pythonapp' properties: { application: app.id diff --git a/reference-apps/container-app-store/iac/infra-azure.bicep b/reference-apps/container-app-store/iac/infra-azure.bicep index 0bb9e530..94d54ad7 100644 --- a/reference-apps/container-app-store/iac/infra-azure.bicep +++ b/reference-apps/container-app-store/iac/infra-azure.bicep @@ -23,7 +23,7 @@ resource account 'Microsoft.Storage/storageAccounts@2021-09-01' = { } } -resource statestore 'Applications.Dapr/stateStores@2022-03-15-privatepreview' = { +resource statestore 'Applications.Dapr/stateStores@2023-10-01-preview' = { name: 'orders' properties: { application: applicationId diff --git a/reference-apps/container-app-store/iac/infra-selfhosted.bicep b/reference-apps/container-app-store/iac/infra-selfhosted.bicep index b72ae6e8..0c8431ac 100644 --- a/reference-apps/container-app-store/iac/infra-selfhosted.bicep +++ b/reference-apps/container-app-store/iac/infra-selfhosted.bicep @@ -4,7 +4,7 @@ param applicationId string param environment string -resource redisContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource redisContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'redis' properties: { application: applicationId @@ -20,7 +20,7 @@ resource redisContainer 'Applications.Core/containers@2022-03-15-privatepreview' } } -resource redisRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' = { +resource redisRoute 'Applications.Core/httpRoutes@2023-10-01-preview' = { name: 'redis-route' properties: { application: applicationId @@ -28,7 +28,7 @@ resource redisRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' = { } } -resource statestore 'Applications.Dapr/stateStores@2022-03-15-privatepreview' = { +resource statestore 'Applications.Dapr/stateStores@2023-10-01-preview' = { name: 'orders' properties: { resourceProvisioning: 'manual' diff --git a/reference-apps/eshop-dapr/infra/dapr-pub-sub.bicep b/reference-apps/eshop-dapr/infra/dapr-pub-sub.bicep index facebab1..f2ffaeab 100644 --- a/reference-apps/eshop-dapr/infra/dapr-pub-sub.bicep +++ b/reference-apps/eshop-dapr/infra/dapr-pub-sub.bicep @@ -40,7 +40,7 @@ resource serviceBus 'Microsoft.ServiceBus/namespaces@2021-06-01-preview' = { // Create the Dapr pub sub component //----------------------------------------------------------------------------- -resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2022-03-15-privatepreview' = { +resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2023-10-01-preview' = { name: 'eshopondapr-pubsub' location: 'global' properties: { diff --git a/reference-apps/eshop-dapr/infra/dapr-secret-store.bicep b/reference-apps/eshop-dapr/infra/dapr-secret-store.bicep index 2c87fc82..0d1645d7 100644 --- a/reference-apps/eshop-dapr/infra/dapr-secret-store.bicep +++ b/reference-apps/eshop-dapr/infra/dapr-secret-store.bicep @@ -46,7 +46,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2021-11-01-preview' = { // Create the Dapr secret store component //----------------------------------------------------------------------------- -resource daprSecretStore 'Applications.Dapr/secretStores@2022-03-15-privatepreview' = { +resource daprSecretStore 'Applications.Dapr/secretStores@2023-10-01-preview' = { name: 'eshopondapr-secretstore' location: 'global' properties: { diff --git a/reference-apps/eshop-dapr/infra/dapr-state-store.bicep b/reference-apps/eshop-dapr/infra/dapr-state-store.bicep index f6c400b4..4d5fbb7a 100644 --- a/reference-apps/eshop-dapr/infra/dapr-state-store.bicep +++ b/reference-apps/eshop-dapr/infra/dapr-state-store.bicep @@ -77,7 +77,7 @@ resource cosmosCollection 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/co // Create the Dapr state store component //----------------------------------------------------------------------------- -resource daprStateStore 'Applications.Dapr/stateStores@2022-03-15-privatepreview' = { +resource daprStateStore 'Applications.Dapr/stateStores@2023-10-01-preview' = { name: 'eshopondapr-statestore' location: 'global' dependsOn: [ diff --git a/reference-apps/eshop-dapr/infra/gateway.bicep b/reference-apps/eshop-dapr/infra/gateway.bicep index c42aa956..da23cb97 100644 --- a/reference-apps/eshop-dapr/infra/gateway.bicep +++ b/reference-apps/eshop-dapr/infra/gateway.bicep @@ -22,23 +22,23 @@ param webstatusRouteName string // Get references to existing resources //----------------------------------------------------------------------------- -resource blazorClientRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource blazorClientRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: blazorClientRouteName } -resource identityApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityApiRouteName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } -resource webshoppingGwRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingGwRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingGwRouteName } -resource webstatusRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webstatusRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webstatusRouteName } @@ -46,7 +46,7 @@ resource webstatusRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' // Create the Radius gateway //----------------------------------------------------------------------------- -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' = { name: 'gateway' properties: { application: appId diff --git a/reference-apps/eshop-dapr/infra/http-routes.bicep b/reference-apps/eshop-dapr/infra/http-routes.bicep index b2578b03..f853f41e 100644 --- a/reference-apps/eshop-dapr/infra/http-routes.bicep +++ b/reference-apps/eshop-dapr/infra/http-routes.bicep @@ -7,70 +7,70 @@ param appId string // Create the HTTP routes for the application //----------------------------------------------------------------------------- -resource basketApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' = { +resource basketApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' = { name: 'basket-api-route' properties: { application: appId } } -resource blazorClientRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource blazorClientRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'blazor-client-route' properties: { application: appId } } -resource catalogApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource catalogApiRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'catalog-api-route' properties: { application: appId } } -resource identityApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource identityApiRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'identity-api-route' properties: { application: appId } } -resource orderingApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource orderingApiRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'ordering-api-route' properties: { application: appId } } -resource paymentApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource paymentApiRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'payment-api-route' properties: { application: appId } } -resource seqRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource seqRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'seq-route' properties: { application: appId } } -resource webshoppingAggRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webshoppingAggRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webshopping-agg-route' properties: { application: appId } } -resource webshoppingGwRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webshoppingGwRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'route-webshopping-gw' properties: { application: appId } } -resource webstatusRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webstatusRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webstatus-route' properties: { application: appId diff --git a/reference-apps/eshop-dapr/infra/sql-server.bicep b/reference-apps/eshop-dapr/infra/sql-server.bicep index 6bbf7080..64fc428b 100644 --- a/reference-apps/eshop-dapr/infra/sql-server.bicep +++ b/reference-apps/eshop-dapr/infra/sql-server.bicep @@ -112,7 +112,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2021-11-01-preview' existing = { // Create Radius portable resources to the databases //----------------------------------------------------------------------------- -resource catalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource catalogDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'catalog-db-link' properties: { application: appId @@ -129,7 +129,7 @@ resource catalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privateprevi } } -resource identityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource identityDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'identity-db-link' properties: { application: appId @@ -146,7 +146,7 @@ resource identityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privateprev } } -resource orderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource orderingDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'ordering-db-link' properties: { application: appId diff --git a/reference-apps/eshop-dapr/main.bicep b/reference-apps/eshop-dapr/main.bicep index 8290e49e..820893aa 100644 --- a/reference-apps/eshop-dapr/main.bicep +++ b/reference-apps/eshop-dapr/main.bicep @@ -16,7 +16,7 @@ param sqlAdministratorLoginPassword string = 'P@ssw0rd1' @description('Specifies the oidc issuer URL for Workload Identity.') param oidcIssuer string -resource environment 'Applications.Core/environments@2022-03-15-privatepreview' = { +resource environment 'Applications.Core/environments@2023-10-01-preview' = { name: 'eshopondapr' properties: { compute: { @@ -36,7 +36,7 @@ resource environment 'Applications.Core/environments@2022-03-15-privatepreview' } // The Radius application definition. -resource eShopOnDapr 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource eShopOnDapr 'Applications.Core/applications@2023-10-01-preview' = { name: 'eshopondapr' properties: { environment: environment.id diff --git a/reference-apps/eshop-dapr/services/basket-api.bicep b/reference-apps/eshop-dapr/services/basket-api.bicep index 1977a7bd..a5f61908 100644 --- a/reference-apps/eshop-dapr/services/basket-api.bicep +++ b/reference-apps/eshop-dapr/services/basket-api.bicep @@ -28,27 +28,27 @@ var daprAppId = 'basket-api' // Get references to existing resources //----------------------------------------------------------------------------- -resource basketApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketApiRouteName } -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2022-03-15-privatepreview' existing = { +resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2023-10-01-preview' existing = { name: daprPubSubBrokerName } -resource daprStateStore 'Applications.Dapr/stateStores@2022-03-15-privatepreview' existing = { +resource daprStateStore 'Applications.Dapr/stateStores@2023-10-01-preview' existing = { name: daprStateStoreName } -resource identityApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityApiRouteName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } @@ -56,7 +56,7 @@ resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' exist // Deploy Basket API container //----------------------------------------------------------------------------- -resource basketApi 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource basketApi 'Applications.Core/containers@2023-10-01-preview' = { name: 'basket-api' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/blazor-client.bicep b/reference-apps/eshop-dapr/services/blazor-client.bicep index 8f3615ae..d159db6c 100644 --- a/reference-apps/eshop-dapr/services/blazor-client.bicep +++ b/reference-apps/eshop-dapr/services/blazor-client.bicep @@ -16,15 +16,15 @@ param seqRouteName string // Get references to existing resources //----------------------------------------------------------------------------- -resource blazorClientRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource blazorClientRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: blazorClientRouteName } -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } @@ -32,7 +32,7 @@ resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' exist // Deploy Blazor client container //----------------------------------------------------------------------------- -resource blazorClient 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource blazorClient 'Applications.Core/containers@2023-10-01-preview' = { name: 'blazor-client' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/catalog-api.bicep b/reference-apps/eshop-dapr/services/catalog-api.bicep index 6f40b12e..eb7e0a73 100644 --- a/reference-apps/eshop-dapr/services/catalog-api.bicep +++ b/reference-apps/eshop-dapr/services/catalog-api.bicep @@ -29,19 +29,19 @@ var daprAppId = 'catalog-api' // Get references to existing resources //----------------------------------------------------------------------------- -resource catalogApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource catalogApiRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: catalogApiRouteName } -resource catalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource catalogDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: catalogDbName } -resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2022-03-15-privatepreview' existing = { +resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2023-10-01-preview' existing = { name: daprPubSubBrokerName } -resource daprSecretStore 'Applications.Dapr/secretStores@2022-03-15-privatepreview' existing = { +resource daprSecretStore 'Applications.Dapr/secretStores@2023-10-01-preview' existing = { name: daprSecretStoreName } @@ -49,7 +49,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' existing = { name: keyVaultName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } @@ -57,7 +57,7 @@ resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' exist // Deploy Catalog API container //----------------------------------------------------------------------------- -resource catalogApi 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource catalogApi 'Applications.Core/containers@2023-10-01-preview' = { name: 'catalog-api' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/identity-api.bicep b/reference-apps/eshop-dapr/services/identity-api.bicep index 805f5db5..294f00d0 100644 --- a/reference-apps/eshop-dapr/services/identity-api.bicep +++ b/reference-apps/eshop-dapr/services/identity-api.bicep @@ -28,19 +28,19 @@ var daprAppId = 'identity-api' // Get references to existing resources //----------------------------------------------------------------------------- -resource daprSecretStore 'Applications.Dapr/secretStores@2022-03-15-privatepreview' existing = { +resource daprSecretStore 'Applications.Dapr/secretStores@2023-10-01-preview' existing = { name: daprSecretStoreName } -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource identityApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource identityApiRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: identityApiRouteName } -resource identityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource identityDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: identityDbName } @@ -48,7 +48,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' existing = { name: keyVaultName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } @@ -56,7 +56,7 @@ resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' exist // Deploy Identity API container //----------------------------------------------------------------------------- -resource identityApi 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource identityApi 'Applications.Core/containers@2023-10-01-preview' = { name: 'identity-api' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/ordering-api.bicep b/reference-apps/eshop-dapr/services/ordering-api.bicep index 95708d81..219bc77e 100644 --- a/reference-apps/eshop-dapr/services/ordering-api.bicep +++ b/reference-apps/eshop-dapr/services/ordering-api.bicep @@ -35,27 +35,27 @@ var daprAppId = 'ordering-api' // Get references to existing resources //----------------------------------------------------------------------------- -resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2022-03-15-privatepreview' existing = { +resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2023-10-01-preview' existing = { name: daprPubSubBrokerName } -resource daprSecretStore 'Applications.Dapr/secretStores@2022-03-15-privatepreview' existing = { +resource daprSecretStore 'Applications.Dapr/secretStores@2023-10-01-preview' existing = { name: daprSecretStoreName } -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource identityApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityApiRouteName } -resource orderingApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource orderingApiRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: orderingApiRouteName } -resource orderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource orderingDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: orderingDbName } @@ -63,7 +63,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' existing = { name: keyVaultName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } @@ -71,7 +71,7 @@ resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' exist // Deploy Ordering API container //----------------------------------------------------------------------------- -resource orderingApi 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource orderingApi 'Applications.Core/containers@2023-10-01-preview' = { name: 'ordering-api' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/payment-api.bicep b/reference-apps/eshop-dapr/services/payment-api.bicep index 03a14a46..3d1b4c8b 100644 --- a/reference-apps/eshop-dapr/services/payment-api.bicep +++ b/reference-apps/eshop-dapr/services/payment-api.bicep @@ -19,15 +19,15 @@ var daprAppId = 'payment-api' // Get references to existing resources //----------------------------------------------------------------------------- -resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2022-03-15-privatepreview' existing = { +resource daprPubSubBroker 'Applications.Dapr/pubSubBrokers@2023-10-01-preview' existing = { name: daprPubSubBrokerName } -resource paymentApiRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource paymentApiRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: paymentApiRouteName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } @@ -35,7 +35,7 @@ resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' exist // Deploy Payment API container //----------------------------------------------------------------------------- -resource paymentApi 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource paymentApi 'Applications.Core/containers@2023-10-01-preview' = { name: 'payment-api' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/seq.bicep b/reference-apps/eshop-dapr/services/seq.bicep index 953f01e9..4a4593e1 100644 --- a/reference-apps/eshop-dapr/services/seq.bicep +++ b/reference-apps/eshop-dapr/services/seq.bicep @@ -10,7 +10,7 @@ param seqRouteName string // Get references to existing resources //----------------------------------------------------------------------------- -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } @@ -18,7 +18,7 @@ resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' exist // Deploy Seq container //----------------------------------------------------------------------------- -resource seq 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource seq 'Applications.Core/containers@2023-10-01-preview' = { name: 'seq' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/webshopping-agg.bicep b/reference-apps/eshop-dapr/services/webshopping-agg.bicep index fdbd2e1e..25369d3f 100644 --- a/reference-apps/eshop-dapr/services/webshopping-agg.bicep +++ b/reference-apps/eshop-dapr/services/webshopping-agg.bicep @@ -22,18 +22,18 @@ var daprAppId = 'webshoppingagg' // Get references to existing resources //----------------------------------------------------------------------------- -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource identityApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityApiRouteName } -resource seqRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqRouteName } -resource webshoppingAggRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource webshoppingAggRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: webshoppingAggRouteName } @@ -41,7 +41,7 @@ resource webshoppingAggRoute 'Applications.Core/httproutes@2022-03-15-privatepre // Deploy Aggregator container //----------------------------------------------------------------------------- -resource webshoppingAgg 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webshoppingAgg 'Applications.Core/containers@2023-10-01-preview' = { name: 'webshopping-agg' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/webshopping-gw.bicep b/reference-apps/eshop-dapr/services/webshopping-gw.bicep index fdc4e99d..f98a6061 100644 --- a/reference-apps/eshop-dapr/services/webshopping-gw.bicep +++ b/reference-apps/eshop-dapr/services/webshopping-gw.bicep @@ -8,19 +8,19 @@ param webshoppingGwRouteName string var daprAppId = 'webshoppingapigw' -resource catalogApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource catalogApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: catalogApiRouteName } -resource orderingApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingApiRouteName } -resource webshoppingGwRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource webshoppingGwRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: webshoppingGwRouteName } -resource webshoppingGw 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webshoppingGw 'Applications.Core/containers@2023-10-01-preview' = { name: 'webshopping-gw' properties: { application: appId diff --git a/reference-apps/eshop-dapr/services/webstatus.bicep b/reference-apps/eshop-dapr/services/webstatus.bicep index af56868a..77600d51 100644 --- a/reference-apps/eshop-dapr/services/webstatus.bicep +++ b/reference-apps/eshop-dapr/services/webstatus.bicep @@ -16,11 +16,11 @@ var daprAppId = 'webstatus' // Get references to existing resources //----------------------------------------------------------------------------- -resource blazorClientApiRoute 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource blazorClientApiRoute 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: blazorClientApiRouteName } -resource webstatusRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' existing = { +resource webstatusRoute 'Applications.Core/httproutes@2023-10-01-preview' existing = { name: webstatusRouteName } @@ -28,7 +28,7 @@ resource webstatusRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' // Deploy webstatus container //----------------------------------------------------------------------------- -resource webstatus 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webstatus 'Applications.Core/containers@2023-10-01-preview' = { name: 'webstatus' properties: { application: appId diff --git a/reference-apps/eshop/iac/eshop.bicep b/reference-apps/eshop/iac/eshop.bicep index 9aaa2ec9..2f6b0308 100644 --- a/reference-apps/eshop/iac/eshop.bicep +++ b/reference-apps/eshop/iac/eshop.bicep @@ -56,7 +56,7 @@ param eksClusterName string = '' // Application -------------------------------------------------------- -resource eshop 'Applications.Core/applications@2022-03-15-privatepreview' = { +resource eshop 'Applications.Core/applications@2023-10-01-preview' = { name: appName properties: { environment: environment @@ -94,6 +94,7 @@ module aws 'infra/aws.bicep' = if (platform == 'aws') { environment: environment adminLogin: adminLogin adminPassword: adminPassword + applicationName: appName } } diff --git a/reference-apps/eshop/iac/infra/aws.bicep b/reference-apps/eshop/iac/infra/aws.bicep index 2464593c..23180522 100644 --- a/reference-apps/eshop/iac/infra/aws.bicep +++ b/reference-apps/eshop/iac/infra/aws.bicep @@ -7,6 +7,9 @@ param environment string @description('Radius application ID') param application string +@description('Radius application name') +param applicationName string + @description('SQL administrator username') param adminLogin string @@ -33,6 +36,12 @@ resource sqlSubnetGroup 'AWS.RDS/DBSubnetGroup@default' = { DBSubnetGroupName: sqlSubnetGroupName DBSubnetGroupDescription: sqlSubnetGroupName SubnetIds: eksCluster.properties.ResourcesVpcConfig.SubnetIds + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } @@ -56,6 +65,12 @@ resource identityDb 'AWS.RDS/DBInstance@default' = { LicenseModel: 'license-included' Timezone: 'GMT Standard Time' CharacterSetName: 'Latin1_General_CI_AS' + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } @@ -79,6 +94,12 @@ resource catalogDb 'AWS.RDS/DBInstance@default' = { LicenseModel: 'license-included' Timezone: 'GMT Standard Time' CharacterSetName: 'Latin1_General_CI_AS' + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } @@ -102,6 +123,12 @@ resource orderingDb 'AWS.RDS/DBInstance@default' = { LicenseModel: 'license-included' Timezone: 'GMT Standard Time' CharacterSetName: 'Latin1_General_CI_AS' + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } @@ -125,6 +152,12 @@ resource webhooksDb 'AWS.RDS/DBInstance@default' = { LicenseModel: 'license-included' Timezone: 'GMT Standard Time' CharacterSetName: 'Latin1_General_CI_AS' + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } @@ -134,6 +167,12 @@ resource redisSubnetGroup 'AWS.MemoryDB/SubnetGroup@default' = { properties: { SubnetGroupName: redisSubnetGroupName SubnetIds: eksCluster.properties.ResourcesVpcConfig.SubnetIds + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } @@ -147,6 +186,12 @@ resource keystoreCache 'AWS.MemoryDB/Cluster@default' = { SecurityGroupIds: [eksCluster.properties.ClusterSecurityGroupId] SubnetGroupName: redisSubnetGroup.properties.SubnetGroupName NumReplicasPerShard: 0 + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } @@ -160,11 +205,17 @@ resource basketCache 'AWS.MemoryDB/Cluster@default' = { SecurityGroupIds: [eksCluster.properties.ClusterSecurityGroupId] SubnetGroupName: redisSubnetGroup.name NumReplicasPerShard: 0 + Tags: [ + { + Key: 'RadiusApplication' + Value: applicationName + } + ] } } // TEMP: Using containerized rabbitMQ instead of AWS SNS until AWS nonidempotency is resolved -resource rabbitmqContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource rabbitmqContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'rabbitmq-container-eshop-event-bus' properties: { application: application @@ -181,7 +232,7 @@ resource rabbitmqContainer 'Applications.Core/containers@2022-03-15-privateprevi } } -resource rabbitmqRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource rabbitmqRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'rabbitmq-route-eshop-event-bus' properties: { application: application @@ -192,7 +243,7 @@ resource rabbitmqRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' // Portable Resources ---------------------------------------------------------------------------- // TODO: Move the portable resource definitions into the application and use Recipes instead -resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'identitydb' properties: { application: application @@ -209,7 +260,7 @@ resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'catalogdb' properties: { application: application @@ -226,7 +277,7 @@ resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepr } } -resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'orderingdb' properties: { application: application @@ -243,7 +294,7 @@ resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'webhooksdb' properties: { application: application @@ -260,7 +311,7 @@ resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource redisKeystore 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'keystore-data' properties: { application: application @@ -274,7 +325,7 @@ resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepr } } -resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource redisBasket 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'basket-data' properties: { application: application @@ -288,7 +339,7 @@ resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privateprev } } -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' = { name: 'eshop-event-bus' properties: { application: application diff --git a/reference-apps/eshop/iac/infra/azure.bicep b/reference-apps/eshop/iac/infra/azure.bicep index 889a999f..e2817a0b 100644 --- a/reference-apps/eshop/iac/infra/azure.bicep +++ b/reference-apps/eshop/iac/infra/azure.bicep @@ -239,7 +239,7 @@ resource basketCache 'Microsoft.Cache/redis@2020-12-01' = { // TODO: Move the portable resource definitions into the application and use Recipes instead // Need to deploy a blank rabbitmq instance to let Bicep successfully deploy -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' = { name: 'eshop-event-bus' properties: { application: application @@ -254,7 +254,7 @@ resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privateprevi } } -resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'identitydb' properties: { application: application @@ -276,7 +276,7 @@ resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'catalogdb' properties: { application: application @@ -298,7 +298,7 @@ resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepr } } -resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'orderingdb' properties: { application: application @@ -320,7 +320,7 @@ resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'webhooksdb' properties: { application: application @@ -342,7 +342,7 @@ resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource redisBasket 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'basket-data' properties: { application: application @@ -357,7 +357,7 @@ resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privateprev } } -resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource redisKeystore 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'keystore-data' properties: { application: application diff --git a/reference-apps/eshop/iac/infra/containers.bicep b/reference-apps/eshop/iac/infra/containers.bicep index d94ac598..75d975c6 100644 --- a/reference-apps/eshop/iac/infra/containers.bicep +++ b/reference-apps/eshop/iac/infra/containers.bicep @@ -14,7 +14,7 @@ var adminUsername = 'sa' // Infrastructure ------------------------------------------------- -resource rabbitmqContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource rabbitmqContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'rabbitmq-container-eshop-event-bus' properties: { application: application @@ -31,7 +31,7 @@ resource rabbitmqContainer 'Applications.Core/containers@2022-03-15-privateprevi } } -resource rabbitmqRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource rabbitmqRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'rabbitmq-route-eshop-event-bus' properties: { application: application @@ -39,7 +39,7 @@ resource rabbitmqRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' } } -resource sqlIdentityContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource sqlIdentityContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'sql-server-identitydb' properties: { application: application @@ -60,7 +60,7 @@ resource sqlIdentityContainer 'Applications.Core/containers@2022-03-15-privatepr } } -resource sqlIdentityRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource sqlIdentityRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'sql-route-identitydb' properties: { application: application @@ -68,7 +68,7 @@ resource sqlIdentityRoute 'Applications.Core/httproutes@2022-03-15-privateprevie } } -resource sqlCatalogContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource sqlCatalogContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'sql-server-catalogdb' properties: { application: application @@ -89,7 +89,7 @@ resource sqlCatalogContainer 'Applications.Core/containers@2022-03-15-privatepre } } -resource sqlCatalogRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource sqlCatalogRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'sql-route-catalogdb' properties: { application: application @@ -97,7 +97,7 @@ resource sqlCatalogRoute 'Applications.Core/httproutes@2022-03-15-privatepreview } } -resource sqlOrderingContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource sqlOrderingContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'sql-server-orderingdb' properties: { application: application @@ -118,7 +118,7 @@ resource sqlOrderingContainer 'Applications.Core/containers@2022-03-15-privatepr } } -resource sqlOrderingRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource sqlOrderingRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'sql-route-orderingdb' properties: { application: application @@ -126,7 +126,7 @@ resource sqlOrderingRoute 'Applications.Core/httproutes@2022-03-15-privateprevie } } -resource sqlWebhooksContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource sqlWebhooksContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'sql-server-webhooksdb' properties: { application: application @@ -147,7 +147,7 @@ resource sqlWebhooksContainer 'Applications.Core/containers@2022-03-15-privatepr } } -resource sqlWebhooksRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource sqlWebhooksRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'sql-route-webhooksdb' properties: { application: application @@ -155,7 +155,7 @@ resource sqlWebhooksRoute 'Applications.Core/httproutes@2022-03-15-privateprevie } } -resource redisBasketContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource redisBasketContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'redis-container-basket-data' properties: { application: application @@ -172,7 +172,7 @@ resource redisBasketContainer 'Applications.Core/containers@2022-03-15-privatepr } } -resource redisBasketRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource redisBasketRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'redis-route-basket-data' properties: { application: application @@ -180,7 +180,7 @@ resource redisBasketRoute 'Applications.Core/httproutes@2022-03-15-privateprevie } } -resource redisKeystoreContainer 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource redisKeystoreContainer 'Applications.Core/containers@2023-10-01-preview' = { name: 'redis-container-keystore-data' properties: { application: application @@ -197,7 +197,7 @@ resource redisKeystoreContainer 'Applications.Core/containers@2022-03-15-private } } -resource redisKeystoreRoute 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource redisKeystoreRoute 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'redis-route-keystore-data' properties: { application: application @@ -207,7 +207,7 @@ resource redisKeystoreRoute 'Applications.Core/httproutes@2022-03-15-privateprev // Portable Resources --------------------------------------------------------------- -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' = { name: 'eshop-event-bus' properties: { application: application @@ -223,7 +223,7 @@ resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privateprevi } } -resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'identitydb' properties: { application: application @@ -240,7 +240,7 @@ resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'catalogdb' properties: { application: application @@ -257,7 +257,7 @@ resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepr } } -resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'orderingdb' properties: { application: application @@ -274,7 +274,7 @@ resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' = { +resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' = { name: 'webhooksdb' properties: { application: application @@ -291,7 +291,7 @@ resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatep } } -resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource redisBasket 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'basket-data' properties: { application: application @@ -305,7 +305,7 @@ resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privateprev } } -resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' = { +resource redisKeystore 'Applications.Datastores/redisCaches@2023-10-01-preview' = { name: 'keystore-data' properties: { application: application diff --git a/reference-apps/eshop/iac/infra/links.bicep b/reference-apps/eshop/iac/infra/links.bicep index 03646c43..a20c8bdd 100644 --- a/reference-apps/eshop/iac/infra/links.bicep +++ b/reference-apps/eshop/iac/infra/links.bicep @@ -1,30 +1,30 @@ import radius as rad -resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: 'identitydb' } -resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: 'catalogdb' } -resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: 'orderingdb' } -resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: 'webhooksdb' } -resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' existing = { +resource redisKeystore 'Applications.Datastores/redisCaches@2023-10-01-preview' existing = { name: 'keystore-data' } -resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' existing = { +resource redisBasket 'Applications.Datastores/redisCaches@2023-10-01-preview' existing = { name: 'basket-data' } -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' existing = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' existing = { name: 'eshop-event-bus' } diff --git a/reference-apps/eshop/iac/services/basket.bicep b/reference-apps/eshop/iac/services/basket.bicep index 58aaeff8..d4023022 100644 --- a/reference-apps/eshop/iac/services/basket.bicep +++ b/reference-apps/eshop/iac/services/basket.bicep @@ -49,7 +49,7 @@ param serviceBusConnectionString string // Container ------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/basket-api -resource basket 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource basket 'Applications.Core/containers@2023-10-01-preview' = { name: 'basket-api' properties: { application: application @@ -96,28 +96,28 @@ resource basket 'Applications.Core/containers@2022-03-15-privatepreview' = { // Networking ------------------------------------------- -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource identityHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityHttpName } -resource basketHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketHttpName } -resource basketGrpc 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketGrpc 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketGrpcName } // Portable Resource ------------------------------------------ -resource redisBasket 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' existing = { +resource redisBasket 'Applications.Datastores/redisCaches@2023-10-01-preview' existing = { name: redisBasketName } -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' existing = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' existing = { name: rabbitmqName } diff --git a/reference-apps/eshop/iac/services/catalog.bicep b/reference-apps/eshop/iac/services/catalog.bicep index 0ae9712b..b63479e1 100644 --- a/reference-apps/eshop/iac/services/catalog.bicep +++ b/reference-apps/eshop/iac/services/catalog.bicep @@ -56,7 +56,7 @@ var PICBASEURL = '${gateway.properties.url}/webshoppingapigw/c/api/v1/catalog/it // CONTAINERS ------------------------------------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/catalog-api -resource catalog 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource catalog 'Applications.Core/containers@2023-10-01-preview' = { name: 'catalog-api' properties: { application: application @@ -97,24 +97,24 @@ resource catalog 'Applications.Core/containers@2022-03-15-privatepreview' = { // NETWORKING ------------------------------------------------------ -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource catalogHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource catalogHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: catalogHttpName } -resource catalogGrpc 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource catalogGrpc 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: catalogGrpcName } // PORTABLE RESOURCES ----------------------------------------------------------- -resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlCatalogDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: sqlCatalogDbName } -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' existing = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' existing = { name: rabbitmqName } diff --git a/reference-apps/eshop/iac/services/identity.bicep b/reference-apps/eshop/iac/services/identity.bicep index 58e515bb..4bcce43d 100644 --- a/reference-apps/eshop/iac/services/identity.bicep +++ b/reference-apps/eshop/iac/services/identity.bicep @@ -51,7 +51,7 @@ param redisKeystoreName string // CONTAINERS ------------------------------------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/identity-api -resource identity 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource identity 'Applications.Core/containers@2023-10-01-preview' = { name: 'identity-api' properties: { application: application @@ -122,44 +122,44 @@ resource identity 'Applications.Core/containers@2022-03-15-privatepreview' = { // NETWORKING ------------------------------------------------------ -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource identityHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityHttpName } -resource basketHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketHttpName } -resource orderingHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingHttpName } -resource webshoppingaggHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingaggHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingaggHttpName } -resource webhooksHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webhooksHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webhooksHttpName } -resource webhooksclientHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webhooksclientHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webhooksclientHttpName } -resource webmvcHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webmvcHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webmvcHttpName } // PORTABLE RESOURCES ----------------------------------------------------------- -resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlIdentityDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: sqlIdentityDbName } -resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' existing = { +resource redisKeystore 'Applications.Datastores/redisCaches@2023-10-01-preview' existing = { name: redisKeystoreName } diff --git a/reference-apps/eshop/iac/services/networking.bicep b/reference-apps/eshop/iac/services/networking.bicep index 2ceb05d3..2330a23b 100644 --- a/reference-apps/eshop/iac/services/networking.bicep +++ b/reference-apps/eshop/iac/services/networking.bicep @@ -6,7 +6,7 @@ param application string // GATEWAY --------------------------------------------------------- -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' = { name: 'gateway' properties: { application: application @@ -58,7 +58,7 @@ resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' = { // ROUTES ---------------------------------------------------------- -resource basketHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource basketHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'basket-http' properties: { application: application @@ -66,7 +66,7 @@ resource basketHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { } } -resource basketGrpc 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource basketGrpc 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'basket-grpc' properties: { application: application @@ -74,7 +74,7 @@ resource basketGrpc 'Applications.Core/httproutes@2022-03-15-privatepreview' = { } } -resource catalogHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource catalogHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'catalog-http' properties: { application: application @@ -82,7 +82,7 @@ resource catalogHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = } } -resource catalogGrpc 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource catalogGrpc 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'catalog-grpc' properties: { application: application @@ -90,7 +90,7 @@ resource catalogGrpc 'Applications.Core/httproutes@2022-03-15-privatepreview' = } } -resource identityHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource identityHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'identity-http' properties: { application: application @@ -98,7 +98,7 @@ resource identityHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = } } -resource orderingHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource orderingHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'ordering-http' properties: { application: application @@ -106,7 +106,7 @@ resource orderingHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = } } -resource orderingGrpc 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource orderingGrpc 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'ordering-grpc' properties: { application: application @@ -114,7 +114,7 @@ resource orderingGrpc 'Applications.Core/httproutes@2022-03-15-privatepreview' = } } -resource orderingsignalrhubHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource orderingsignalrhubHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'orderingsignalrhub-http' properties: { application: application @@ -122,7 +122,7 @@ resource orderingsignalrhubHttp 'Applications.Core/httproutes@2022-03-15-private } } -resource orderbgtasksHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource orderbgtasksHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'orderbgtasks-http' properties: { application: application @@ -130,7 +130,7 @@ resource orderbgtasksHttp 'Applications.Core/httproutes@2022-03-15-privateprevie } } -resource paymentHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource paymentHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'payment-http' properties: { application: application @@ -138,7 +138,7 @@ resource paymentHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = } } -resource seqHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource seqHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'seq-http' properties: { application: application @@ -146,7 +146,7 @@ resource seqHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { } } -resource webspaHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webspaHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webspa-http' properties: { application: application @@ -154,7 +154,7 @@ resource webspaHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { } } -resource webmvcHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webmvcHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webmvc-http' properties: { application: application @@ -162,7 +162,7 @@ resource webmvcHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { } } -resource webhooksHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webhooksHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webhooks-http' properties: { application: application @@ -170,7 +170,7 @@ resource webhooksHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = } } -resource webhooksclientHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webhooksclientHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webhooksclient-http' properties: { application: application @@ -179,7 +179,7 @@ resource webhooksclientHttp 'Applications.Core/httproutes@2022-03-15-privateprev } } -resource webshoppingaggHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webshoppingaggHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webshoppingagg-http' properties: { application: application @@ -187,7 +187,7 @@ resource webshoppingaggHttp 'Applications.Core/httproutes@2022-03-15-privateprev } } -resource webshoppingapigwHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webshoppingapigwHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webshoppingapigw-http' properties: { application: application @@ -195,7 +195,7 @@ resource webshoppingapigwHttp 'Applications.Core/httproutes@2022-03-15-privatepr } } -resource webshoppingapigwHttp2 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webshoppingapigwHttp2 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webshoppingapigw-http-2' properties: { application: application @@ -203,7 +203,7 @@ resource webshoppingapigwHttp2 'Applications.Core/httproutes@2022-03-15-privatep } } -resource webstatusHttp 'Applications.Core/httproutes@2022-03-15-privatepreview' = { +resource webstatusHttp 'Applications.Core/httproutes@2023-10-01-preview' = { name: 'webstatus-http' properties: { application: application diff --git a/reference-apps/eshop/iac/services/ordering.bicep b/reference-apps/eshop/iac/services/ordering.bicep index 94a83720..fa5018c4 100644 --- a/reference-apps/eshop/iac/services/ordering.bicep +++ b/reference-apps/eshop/iac/services/ordering.bicep @@ -64,7 +64,7 @@ param serviceBusConnectionString string // CONTAINERS ------------------------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/ordering-api -resource ordering 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource ordering 'Applications.Core/containers@2023-10-01-preview' = { name: 'ordering-api' properties: { application: application @@ -114,7 +114,7 @@ resource ordering 'Applications.Core/containers@2022-03-15-privatepreview' = { } // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/ordering-backgroundtasks -resource orderbgtasks 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource orderbgtasks 'Applications.Core/containers@2023-10-01-preview' = { name: 'ordering-backgroundtasks' properties: { application: application @@ -151,7 +151,7 @@ resource orderbgtasks 'Applications.Core/containers@2022-03-15-privatepreview' = } // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/ordering-signalrhub -resource orderingsignalrhub 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource orderingsignalrhub 'Applications.Core/containers@2023-10-01-preview' = { name: 'ordering-signalrhub' properties: { application: application @@ -204,48 +204,48 @@ resource orderingsignalrhub 'Applications.Core/containers@2022-03-15-privateprev // NETWORKING ------------------------------------------------------ -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource identityHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityHttpName } -resource basketHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketHttpName } -resource catalogHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource catalogHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: catalogHttpName } -resource orderingHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingHttpName } -resource orderingGrpc 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingGrpc 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingGrpcName } -resource orderingsignalrhubHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingsignalrhubHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingsignalrhubHttpName } -resource orderbgtasksHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderbgtasksHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderbgtasksHttpName } // PORTABLE RESOURCES ----------------------------------------------------------- -resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' existing = { +resource redisKeystore 'Applications.Datastores/redisCaches@2023-10-01-preview' existing = { name: redisKeystoreName } -resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlOrderingDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: sqlOrderingDbName } -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' existing = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' existing = { name: rabbitmqName } diff --git a/reference-apps/eshop/iac/services/payment.bicep b/reference-apps/eshop/iac/services/payment.bicep index 03448ea4..e0fa6f08 100644 --- a/reference-apps/eshop/iac/services/payment.bicep +++ b/reference-apps/eshop/iac/services/payment.bicep @@ -37,7 +37,7 @@ param serviceBusConnectionString string // CONTAINERS --------------------------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/payment-api -resource payment 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource payment 'Applications.Core/containers@2023-10-01-preview' = { name: 'payment-api' properties: { application: application @@ -63,12 +63,12 @@ resource payment 'Applications.Core/containers@2022-03-15-privatepreview' = { // NETWORKING ------------------------------------------------------ -resource paymentHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource paymentHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: paymentHttpName } // PORTABLE RESOURCES ----------------------------------------------------------- -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' existing = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' existing = { name: rabbitmqName } diff --git a/reference-apps/eshop/iac/services/seq.bicep b/reference-apps/eshop/iac/services/seq.bicep index b8074b9f..eda4f9d8 100644 --- a/reference-apps/eshop/iac/services/seq.bicep +++ b/reference-apps/eshop/iac/services/seq.bicep @@ -10,7 +10,7 @@ param seqHttpName string // CONTAINERS ------------------------------------------------------------ -resource seq 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource seq 'Applications.Core/containers@2023-10-01-preview' = { name: 'seq' properties: { application: application @@ -31,6 +31,6 @@ resource seq 'Applications.Core/containers@2022-03-15-privatepreview' = { // NETWORKING --------------------------------------------------------------- -resource seqHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource seqHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: seqHttpName } diff --git a/reference-apps/eshop/iac/services/web.bicep b/reference-apps/eshop/iac/services/web.bicep index de1cb7e6..c075f186 100644 --- a/reference-apps/eshop/iac/services/web.bicep +++ b/reference-apps/eshop/iac/services/web.bicep @@ -44,7 +44,7 @@ param redisKeystoreName string // CONTAINER -------------------------------------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/webspa -resource webspa 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webspa 'Applications.Core/containers@2023-10-01-preview' = { name: 'web-spa' properties: { application: application @@ -98,7 +98,7 @@ resource webspa 'Applications.Core/containers@2022-03-15-privatepreview' = { } // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/webmvc -resource webmvc 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webmvc 'Applications.Core/containers@2023-10-01-preview' = { name: 'webmvc' properties: { application: application @@ -155,36 +155,36 @@ resource webmvc 'Applications.Core/containers@2022-03-15-privatepreview' = { // NETWORKING ---------------------------------------------- -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource orderingsignalrhubHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingsignalrhubHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingsignalrhubHttpName } -resource identityHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityHttpName } -resource webmvcHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webmvcHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webmvcHttpName } -resource webspaHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webspaHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webspaHttpName } -resource webshoppingaggHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingaggHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingaggHttpName } -resource webshoppingapigwHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingapigwHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingapigwHttpName } // PORTABLE RESOURCES ------------------------------------------------------ -resource redisKeystore 'Applications.Datastores/redisCaches@2022-03-15-privatepreview' existing = { +resource redisKeystore 'Applications.Datastores/redisCaches@2023-10-01-preview' existing = { name: redisKeystoreName } diff --git a/reference-apps/eshop/iac/services/webhooks.bicep b/reference-apps/eshop/iac/services/webhooks.bicep index dd1fbdc3..90993388 100644 --- a/reference-apps/eshop/iac/services/webhooks.bicep +++ b/reference-apps/eshop/iac/services/webhooks.bicep @@ -46,7 +46,7 @@ param serviceBusConnectionString string // CONTAINERS ----------------------------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/webhooks-api -resource webhooks 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webhooks 'Applications.Core/containers@2023-10-01-preview' = { name: 'webhooks-api' properties: { application: application @@ -85,7 +85,7 @@ resource webhooks 'Applications.Core/containers@2022-03-15-privatepreview' = { // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/webhooks-web -resource webhooksclient 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webhooksclient 'Applications.Core/containers@2023-10-01-preview' = { name: 'webhooks-client' properties: { application: application @@ -121,28 +121,28 @@ resource webhooksclient 'Applications.Core/containers@2022-03-15-privatepreview' // NETWORKING ---------------------------------------------- -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource identityHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityHttpName } -resource webhooksHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webhooksHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webhooksHttpName } -resource webhooksclientHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webhooksclientHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webhooksclientHttpName } // PORTABLE RESOURCES ----------------------------------------------------------- -resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2022-03-15-privatepreview' existing = { +resource sqlWebhooksDb 'Applications.Datastores/sqlDatabases@2023-10-01-preview' existing = { name: sqlWebhooksDbName } -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' existing = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' existing = { name: rabbitmqName } diff --git a/reference-apps/eshop/iac/services/webshopping.bicep b/reference-apps/eshop/iac/services/webshopping.bicep index 4571a273..09bda8fd 100644 --- a/reference-apps/eshop/iac/services/webshopping.bicep +++ b/reference-apps/eshop/iac/services/webshopping.bicep @@ -54,7 +54,7 @@ param webshoppingaggHttpName string param rabbitmqName string // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/webshoppingagg -resource webshoppingagg 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webshoppingagg 'Applications.Core/containers@2023-10-01-preview' = { name: 'webshoppingagg' properties: { application: application @@ -114,7 +114,7 @@ resource webshoppingagg 'Applications.Core/containers@2022-03-15-privatepreview' // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/apigwws -resource webshoppingapigw 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webshoppingapigw 'Applications.Core/containers@2023-10-01-preview' = { name: 'webshoppingapigw' properties: { application: application @@ -136,56 +136,56 @@ resource webshoppingapigw 'Applications.Core/containers@2022-03-15-privateprevie // NETWORKING ---------------------------------------------- -resource gateway 'Applications.Core/gateways@2022-03-15-privatepreview' existing = { +resource gateway 'Applications.Core/gateways@2023-10-01-preview' existing = { name: gatewayName } -resource basketGrpc 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketGrpc 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketGrpcName } -resource catalogGrpc 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource catalogGrpc 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: catalogGrpcName } -resource orderingGrpc 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingGrpc 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingGrpcName } -resource catalogHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource catalogHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: catalogHttpName } -resource basketHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketHttpName } -resource orderingHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingHttpName } -resource identityHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityHttpName } -resource paymentHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource paymentHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: paymentHttpName } -resource webshoppingaggHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingaggHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingaggHttpName } -resource webshoppingapigwHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingapigwHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingapigwHttpName } -resource webshoppingapigwHttp2 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingapigwHttp2 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingapigwHttp2Name } // PORTABLE RESOURCES -------------------------------------------------------- -resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2022-03-15-privatepreview' existing = { +resource rabbitmq 'Applications.Messaging/rabbitMQQueues@2023-10-01-preview' existing = { name: rabbitmqName } diff --git a/reference-apps/eshop/iac/services/webstatus.bicep b/reference-apps/eshop/iac/services/webstatus.bicep index 36877715..45292539 100644 --- a/reference-apps/eshop/iac/services/webstatus.bicep +++ b/reference-apps/eshop/iac/services/webstatus.bicep @@ -53,7 +53,7 @@ param webstatusHttpName string // CONTAINAERS --------------------------------------------------------- // Based on https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/k8s/helm/webstatus -resource webstatus 'Applications.Core/containers@2022-03-15-privatepreview' = { +resource webstatus 'Applications.Core/containers@2023-10-01-preview' = { name: 'webstatus' properties: { application: application @@ -97,46 +97,46 @@ resource webstatus 'Applications.Core/containers@2022-03-15-privatepreview' = { // NETWORKING ---------------------------------------------- -resource catalogHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource catalogHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: catalogHttpName } -resource basketHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource basketHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: basketHttpName } -resource orderingHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingHttpName } -resource orderingsignalrhubHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderingsignalrhubHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderingsignalrhubHttpName } -resource orderbgtasksHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource orderbgtasksHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: orderbgtasksHttpName } -resource identityHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource identityHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: identityHttpName } -resource paymentHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource paymentHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: paymentHttpName } -resource webmvcHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webmvcHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webmvcHttpName } -resource webspaHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webspaHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webspaHttpName } -resource webshoppingaggHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webshoppingaggHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webshoppingaggHttpName } -resource webstatusHttp 'Applications.Core/httpRoutes@2022-03-15-privatepreview' existing = { +resource webstatusHttp 'Applications.Core/httpRoutes@2023-10-01-preview' existing = { name: webstatusHttpName } diff --git a/ui-tests/package-lock.json b/ui-tests/package-lock.json index fb5b6ee4..d1ef7baa 100644 --- a/ui-tests/package-lock.json +++ b/ui-tests/package-lock.json @@ -12,7 +12,10 @@ "uuid": "^9.0.0" }, "devDependencies": { - "@playwright/test": "^1.35.0" + "@playwright/test": "^1.35.0", + "@types/node": "^20.6.0", + "@types/uuid": "^9.0.3", + "typescript": "^5.2.2" } }, "node_modules/@playwright/test": { @@ -35,9 +38,15 @@ } }, "node_modules/@types/node": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.0.tgz", - "integrity": "sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ==", + "version": "20.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", + "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.3.tgz", + "integrity": "sha512-taHQQH/3ZyI3zP8M/puluDEIEvtQHVYcC6y3N8ijFtAd28+Ey/G4sg1u2gB01S8MwybLOKAp9/yCMu/uR5l3Ug==", "dev": true }, "node_modules/fsevents": { @@ -66,6 +75,19 @@ "node": ">=16" } }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/uuid": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", diff --git a/ui-tests/package.json b/ui-tests/package.json index 178df5ea..d3d7f2f1 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -8,7 +8,10 @@ "author": "", "license": "ISC", "devDependencies": { - "@playwright/test": "^1.35.0" + "@playwright/test": "^1.35.0", + "@types/node": "^20.6.0", + "@types/uuid": "^9.0.3", + "typescript": "^5.2.2" }, "dependencies": { "uuid": "^9.0.0" diff --git a/ui-tests/tests/demo.app.spec.ts b/ui-tests/tests/demo/demo.app.spec.ts similarity index 100% rename from ui-tests/tests/demo.app.spec.ts rename to ui-tests/tests/demo/demo.app.spec.ts diff --git a/ui-tests/tests/eshop/container.app.spec.ts b/ui-tests/tests/eshop/container.app.spec.ts index 0da587ed..0b67ab26 100644 --- a/ui-tests/tests/eshop/container.app.spec.ts +++ b/ui-tests/tests/eshop/container.app.spec.ts @@ -8,11 +8,16 @@ test("eShop on Containers App Basic UI and Functionality Checks", async ({ page } }); - // Go to http://localhost - await page.goto("http://localhost"); + let endpoint = process.env.ENDPOINT + expect(endpoint).toBeDefined() + + // Remove quotes from the endpoint if they exist + endpoint = (endpoint as string).replace(/['"]+/g, '') + + await page.goto(endpoint); // Expect page to have proper URL - expect(page).toHaveURL("http://localhost/catalog"); + expect(page).toHaveURL(endpoint+"/catalog"); // Expect page to have proper title expect(page).toHaveTitle("eShopOnContainers - SPA"); @@ -48,7 +53,7 @@ test("eShop on Containers App Basic UI and Functionality Checks", async ({ page // After login, expect to be redirected to the catalog page // Expect page to have proper URL - expect(page).toHaveURL("http://localhost/catalog"); + expect(page).toHaveURL(endpoint+"/catalog"); // Expect page to have proper title expect(page).toHaveTitle("eShopOnContainers - SPA"); @@ -77,7 +82,7 @@ test("eShop on Containers App Basic UI and Functionality Checks", async ({ page .click(); // Expect page to have proper URL - expect(page).toHaveURL("http://localhost/basket"); + expect(page).toHaveURL(endpoint+"/basket"); // Checkout await page.getByRole('button', { name: 'Checkout' }) diff --git a/ui-tests/tsconfig.json b/ui-tests/tsconfig.json new file mode 100644 index 00000000..e075f973 --- /dev/null +++ b/ui-tests/tsconfig.json @@ -0,0 +1,109 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +}