Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: merge dev with feature/0.6.0 #296

Merged
merged 53 commits into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
023e14c
refactor: Temporarily disable billing resource capture for 0.6.0 (#228)
Elsie4ever Jun 14, 2024
9ecaceb
fix: error when expected CRD is not deployed instead of skip (#244)
Elsie4ever Jun 26, 2024
6305e64
feat: remove lnm in support bundle and check (#246)
Elsie4ever Jun 27, 2024
efbfa8d
feat: intermediate instance support of show + list
digimaun Jun 27, 2024
69e3bcd
Lint wave 1
digimaun Jun 27, 2024
7305996
chore: sync feature/0.6.0 with dev (#250)
digimaun Jun 27, 2024
32038c0
Merge branch 'feature/0.6.0' into instance_ops_1_3
digimaun Jun 27, 2024
c31645d
Add debug info
digimaun Jun 27, 2024
219a979
Complete refactor
digimaun Jun 28, 2024
84de08a
feat: apply detailed pod conditions check to all services (#245)
Elsie4ever Jun 28, 2024
37db274
Merge branch 'feature/0.6.0' into instance_ops_1_3
digimaun Jun 28, 2024
8af1581
chore: sync feature/0.6.0 with dev (#252)
digimaun Jun 28, 2024
c7479f9
Merge branch 'feature/0.6.0' into instance_ops_1_3
digimaun Jun 28, 2024
e5c3f79
WIP
digimaun Jun 28, 2024
40fbfdc
WIP
digimaun Jun 28, 2024
05e1cbe
Leave instance.list return as iterable
digimaun Jun 28, 2024
7a0a3c8
feat: Intermediate instance support of show + list. Adds re-usable co…
digimaun Jun 28, 2024
d894e82
WIP
digimaun Jul 1, 2024
b9424e1
WIP
digimaun Jul 2, 2024
c12c462
Update help
digimaun Jul 2, 2024
0dca228
Fix
digimaun Jul 2, 2024
5937e74
WIP
digimaun Jul 2, 2024
fe19a28
feat: Adds instance update. (#257)
digimaun Jul 2, 2024
3091f53
feat: update support bundle to adapt change for mqttbroker (#256)
Elsie4ever Jul 3, 2024
cb3d3ac
feat!: remove dataprocessor checks and support bundle tasks (#259)
c-ryan-k Jul 3, 2024
73786c4
chore: sync feature/0.6.0 with dev (#263)
digimaun Jul 3, 2024
c0d54a3
refactor!: Wave of mq -> broker renames. (#262)
digimaun Jul 3, 2024
444ec06
fix: mq support bundle flag change follow up (#261)
Elsie4ever Jul 4, 2024
5b07338
fix: Update stats trace functionality to work with 0.6.0 broker (#265)
digimaun Jul 9, 2024
40609d9
fix: update cluster extension check for assets and endpoints (#264)
vilit1 Jul 9, 2024
b0af8e6
feat: Capture azure cluster config in support bundle (#266)
digimaun Jul 10, 2024
09584c9
feat: Add dataflow capture in support bundle and update mqtt common l…
Elsie4ever Jul 10, 2024
aa07aee
feat: re-enabling billing capture in support bundle (#258)
Elsie4ever Jul 11, 2024
37a3bab
feat: Capture meta operator in support bundle (#268)
Elsie4ever Jul 16, 2024
0247120
fix: Show skip instead of error if no akri configuration CRs are foun…
c-ryan-k Jul 16, 2024
8a8a669
fix: Broker statefulsets support bundle fix (#271)
c-ryan-k Jul 17, 2024
8e9e7ef
fix(checks): fix missing color closing tag (#272)
c-ryan-k Jul 17, 2024
0508e11
chore: improve clean up pipeline (#269)
vilit1 Jul 17, 2024
16677b6
fix: Update support bundle for broker and dataflow (#276)
Elsie4ever Jul 22, 2024
b4f0f50
fix: improve name splitting in support bundle tests (#278)
vilit1 Jul 25, 2024
3a3f2ec
feat: Update mqttbroker check to mqttbroker 0.6.0 image (#275)
Elsie4ever Jul 26, 2024
843e5de
feat: 0.6.0 MVP deployment refresh + resource list/show (mqttbroker*,…
digimaun Jul 29, 2024
83d4956
refactor: update `az iot ops check --pre` to not warn for multi-node …
vilit1 Jul 29, 2024
0136b50
fix: eliminate repeated target conditions in device registry check (#…
Elsie4ever Jul 29, 2024
6d62145
fix: Consolidate pod condition check (#277)
Elsie4ever Jul 29, 2024
ed4f8d6
feat: add data-point and event file inputs for `az iot ops asset crea…
vilit1 Jul 29, 2024
33d9d42
test: fix pre-check integration test (#285)
vilit1 Jul 30, 2024
454c3bd
fix: small improve to help content (#287)
digimaun Jul 31, 2024
2a479b1
test: add integration testing for az iot ops init (#284)
vilit1 Aug 1, 2024
ddc1ff4
fix: exclude meta resource job from billing support bundle using pref…
Elsie4ever Aug 2, 2024
8cd8913
feat: Init includes default dataflow profile (#294)
digimaun Aug 2, 2024
64c9d20
feat: exclude evicted pod log from support bundle (#292)
Elsie4ever Aug 5, 2024
588692b
Merge branch 'dev' into feature/0.6.0
digimaun Aug 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,15 @@
- ### [Tox tests](tox.yml)
Run unit tests and linter
- ### [Integration tests](int_test.yml)
Run tests (including AIO deployment) against a live cluster.
Run tests (including AIO deployment) against a live cluster. Cluster name, key-vault, and service
principal arguments will be auto-populated during the workflow run.
- Inputs:
- `resource_group`: `string` - Resource Group to test in
- `cleanup`: `bool` - Attempt to clean up test resources after integration tests complete
- `custom-locations-oid`: `string` - Custom Locations OID
- `runtime-init-args`: `string` - Additional init arguments (beyond cluster name, resource group,
key vault, and service principal arguments)
- `init-continue-on-error`: `bool` - Continue on error for init integration tests
- `use-container`: `bool` - Build container image for tests
- ### [Cluster Cleanup](cluster_cleanup.yml)
Used to clean up a resource group after AIO deployment testing.
- Inputs:
Expand All @@ -28,7 +33,7 @@ Used to clean up a resource group after AIO deployment testing.
- `keyvault_prefix`: `string` - Prefix of keyvault resources to delete
- ### [CI Build and Test](ci_workflow.yml)
CI checks to ensure build / unit test success
- Jobs:
- Jobs:
- [Build](ci_build.yml)
- [Tox Test](tox.yml)
- [AZDev Linter](azdev_linter.yml)
Expand Down
16 changes: 13 additions & 3 deletions .github/workflows/cluster_cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ on:
description: "Resource group to clean up"
required: true
default: ops-cli-int-test-rg
keyvault_prefix:
type: string
description: "Prefix of keyvault to delete"
default: "opskv"
required: false
# Run every night at midnight (Pacific) to cleanup resources
schedule:
- cron: '0 8 * * *'
Expand Down Expand Up @@ -71,8 +76,13 @@ jobs:
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Delete keyvaults
run: |
for vault in $(az keyvault list --query "[?starts_with(name, '${{ env.KEYVAULT_PREFIX }}')].name" -o tsv); do
az keyvault delete -n $vault -g ${{ env.RESOURCE_GROUP }} --no-wait
for vault in $(az keyvault list -g ${{ env.RESOURCE_GROUP }} --query "[?starts_with(name, '${{ env.KEYVAULT_PREFIX }}')].name" -o tsv); do
az keyvault delete -n $vault -g ${{ env.RESOURCE_GROUP }}
done
- name: Purge keyvaults
run: |
for vault in $(az keyvault list-deleted --query "[?contains(properties.vaultId, '${{ env.RESOURCE_GROUP }}')] | [?starts_with(name, '${{ env.KEYVAULT_PREFIX }}')].name" -o tsv); do
az keyvault purge -n $vault --no-wait
done
resource-cleanup:
needs: [arc-cleanup]
Expand Down Expand Up @@ -110,7 +120,7 @@ jobs:
run: |
mq_type="Microsoft.IoTOperationsMQ/mq"
in_cluster_ext_loc="contains(to_string(extendedLocation.name), '${{ env.CLUSTER_PREFIX }}')"

# MQ instance cannot be deleted until all child resources have successfully deleted
sleep 15s

Expand Down
211 changes: 115 additions & 96 deletions .github/workflows/int_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ on:
type: string
required: true
default: ops-cli-int-test-rg
template-content:
description: Custom AIO deployment template file contents, used for all deployments in this workflow.
runtime-init-args:
description: Additional init arguments (beyond cluster name, resource group, key vault, and service principal arguments).
type: string
required: false
default: ''
custom-locations-oid:
description: Custom Locations OID
type: string
Expand Down Expand Up @@ -45,6 +46,16 @@ on:
type: string
required: false
default: '51dfe1e8-70c6-4de5-a08e-e18aff23d815'
runtime-init-args:
description: Additional init arguments (beyond cluster name, resource group, key vault, and service principal arguments).
type: string
required: false
default: ''
init-continue-on-error:
description: Continue on error for init integration tests
type: boolean
required: false
default: true
use-container:
description: Build container image for tests
type: boolean
Expand All @@ -57,7 +68,7 @@ permissions:
id-token: 'write'

env:
KV_NAME: "opskv${{ github.run_number }}"
KV_NAME: "opskv${{ github.run_number }}x"
RESOURCE_GROUP: "${{ inputs.resource-group }}"

jobs:
Expand All @@ -71,49 +82,62 @@ jobs:
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: "Create Key Vault for clusters"
run: az keyvault create -n ${{ env.KV_NAME }} -g ${{ env.RESOURCE_GROUP }} --enable-rbac-authorization false
run: az keyvault create -n ${{ env.KV_NAME }} -g ${{ env.RESOURCE_GROUP }} --enable-rbac-authorization false --tags run_number=${{ github.run_number }}

test:
needs: [create_kv]
outputs:
CLUSTER_PREFIX: "az-iot-ops-test-cluster${{ github.run_number }}"
CLUSTER_PREFIX: "iotopstest-${{ github.run_number }}"
RESOURCE_GROUP: ${{ env.RESOURCE_GROUP }}
KV_NAME: ${{ env.KV_NAME }}
env:
CLUSTER_NAME: "az-iot-ops-test-cluster${{ github.run_number }}${{ matrix.feature }}"
CLUSTER_NAME: "opt${{ github.run_number }}${{ matrix.feature }}"
CUSTOM_LOCATIONS_OID: ${{ inputs.custom-locations-oid }}
EXTENSION_SOURCE_DIRECTORY: "./azure-iot-ops-cli-extension"
K3S_VERSION: "v1.28.5+k3s1"
CA_FILE: "test-ca.pem"
CA_KEY_FILE: "test-ca-key.pem"
strategy:
fail-fast: false
matrix:
feature: [default, mq-insecure, no-syncrules, ca-certs]
include:
# default / limited options
feature: [custom-input, default, insecure-listener, no-syncrules, ca-certs]
runtime-args:
- ${{ inputs.runtime-init-args != '' }}
exclude:
- feature: custom-input
runtime-args: false
- feature: default
ca-valid-days: 3
kv-spc-secret-name: test-kv-secret
# test --mq-insecure deployment
- feature: mq-insecure
mq-insecure: true
no-preflight: true
csi-config: 'telegraf.resources.limits.memory=500Mi telegraf.resources.limits.cpu=100m'
# test disabling custom sync rules
runtime-args: true
- feature: insecure-listener
runtime-args: true
- feature: no-syncrules
disable-rsync-rules: true
# test custom ca files
runtime-args: true
- feature: ca-certs
ca-file: 'test-ca.pem'
ca-key-file: 'test-ca-key.pem'
include-dp: true
runtime-args: true
name: "Run cluster tests"
runs-on: ubuntu-22.04
steps:
- name: "Determine Init Args"
id: "init"
run: |
echo "NO_PREFLIGHT=false" >> $GITHUB_OUTPUT
if [[ ${{ matrix.feature }} == "default" ]]; then
echo "ARG=--ca-valid-days 3 --kv-spc-secret-name test-kv-secret --simulate-plc" >> $GITHUB_OUTPUT
elif [[ ${{ matrix.feature }} == "insecure-listener" ]]; then
echo "ARG=--add-insecure-listener --broker-service-type LoadBalancer --csi-config telegraf.resources.limits.memory=500Mi telegraf.resources.limits.cpu=100m" >> $GITHUB_OUTPUT
echo "NO_PREFLIGHT=true" >> $GITHUB_OUTPUT
elif [[ ${{ matrix.feature }} == "no-syncrules" ]]; then
echo "ARG=--disable-rsync-rules" >> $GITHUB_OUTPUT
elif [[ ${{ matrix.feature }} == "ca-certs" ]]; then
echo "ARG=--ca-file \"${{ env.CA_FILE }}\" --ca-key-file \"${{ env.CA_KEY_FILE }}\"" >> $GITHUB_OUTPUT
else
echo "ARG=${{ inputs.runtime-init-args }}" >> $GITHUB_OUTPUT
fi
- name: "Output variables for future steps"
id: "env_out"
run: |
echo "RESOURCE_GROUP=${{env.RESOURCE_GROUP}}" >> $GITHUB_OUTPUT
echo "CLUSTER_NAME=${{env.CLUSTER_NAME}}" >> $GITHUB_OUTPUT
echo "RESOURCE_GROUP=${{ env.RESOURCE_GROUP }}" >> $GITHUB_OUTPUT
echo "CLUSTER_NAME=${{ env.CLUSTER_NAME }}" >> $GITHUB_OUTPUT
- name: "Setup python"
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -164,13 +188,20 @@ jobs:
cluster-name: ${{ env.CLUSTER_NAME }}
resource-group: ${{ env.RESOURCE_GROUP }}
custom-locations-oid: ${{ env.CUSTOM_LOCATIONS_OID }}
- name: "Get Keyvault ID"
- name: "Tox test environment setup for init"
run: |
KV_ID=$(az keyvault show -n ${{env.KV_NAME}} -g ${{ env.RESOURCE_GROUP }} -o tsv --query id)
echo "KV_ID=$KV_ID" >> $GITHUB_ENV
cd ${{ env.EXTENSION_SOURCE_DIRECTORY }}
python -m pip install tox
tox r -vv -e python-init-int --notest
- name: "Tox test environment setup for integration tests"
if: ${{ matrix.feature == 'default' && !inputs.use-container }}
run: |
cd ${{ env.EXTENSION_SOURCE_DIRECTORY }}
tox r -vv -e python-int --notest
- name: "Create CA certificates"
if: ${{matrix.feature == 'ca-certs'}}
if: ${{ matrix.feature == 'ca-certs' }}
run: |
cd ${{ env.EXTENSION_SOURCE_DIRECTORY }}
>ca.conf cat <<-EOF
[ req ]
distinguished_name = req_distinguished_name
Expand All @@ -186,47 +217,30 @@ jobs:
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid
EOF
openssl ecparam -name prime256v1 -genkey -noout -out ${{ matrix.ca-key-file }}
openssl req -new -x509 -key ${{ matrix.ca-key-file }} -days 30 -config ca.conf -out ${{ matrix.ca-file }}
openssl ecparam -name prime256v1 -genkey -noout -out ${{ env.CA_KEY_FILE }}
openssl req -new -x509 -key ${{ env.CA_KEY_FILE }} -days 30 -config ca.conf -out ${{ env.CA_FILE }}
rm ca.conf
- name: "Create local template file"
if: ${{ inputs.template-content }}
env:
template: "${{ inputs.template-content }}"
run: |
>custom-template.json cat <<-'EOF'
${{ env.template }}
EOF
- name: "AIO Deployment"
uses: azure/azure-iot-ops-cli-extension/.github/actions/deploy-aio@dev
with:
cluster: ${{ env.CLUSTER_NAME }}
resource-group: ${{ env.RESOURCE_GROUP }}
keyvault-id: ${{ env.KV_ID }}
sp-app-id: ${{ secrets.AIO_SP_APP_ID || '' }}
sp-object-id: ${{ secrets.AIO_SP_OBJECT_ID || '' }}
sp-secret: ${{ secrets.AIO_SP_SECRET || '' }}
no-preflight: ${{ matrix.no-preflight }}
mq-insecure: ${{ matrix.mq-insecure }}
disable-rsync-rules: ${{ matrix.disable-rsync-rules }}
ca-valid-days: ${{ matrix.ca-valid-days || '' }}
ca-file: ${{ matrix.ca-file || '' }}
ca-key-file: ${{ matrix.ca-key-file || '' }}
kv-spc-secret-name: ${{ matrix.kv-spc-secret-name || '' }}
template-file: ${{ inputs.template-content && 'custom-template.json' || '' }}
csi-config: ${{ matrix.csi-config || ''}}
include-dp: ${{ matrix.include-dp }}
- name: "Allow cluster to finish provisioning"
- name: "Get Keyvault ID"
id: "keyvault_id"
run: |
sleep 2m
- name: "Tox test environment setup"
if: ${{matrix.feature == 'default' && !inputs.use-container}}
KV_ID=$(az keyvault show -n ${{ env.KV_NAME }} -g ${{ env.RESOURCE_GROUP }} -o tsv --query id)
echo "KV_ID=$KV_ID" >> $GITHUB_OUTPUT
- name: "Tox INIT Integration Tests"
env:
AIO_CLI_INIT_PREFLIGHT_DISABLED: ${{ steps.init.outputs.NO_PREFLIGHT }}
azext_edge_init_continue_on_error: ${{ inputs.init-continue-on-error || '' }}
azext_edge_rg: ${{ steps.env_out.outputs.RESOURCE_GROUP }}
azext_edge_cluster: ${{ steps.env_out.outputs.CLUSTER_NAME }}
azext_edge_kv: ${{ steps.keyvault_id.outputs.KV_ID }}
azext_edge_init_args: ${{ steps.init.outputs.ARG }}
azext_edge_sp_app_id: ${{ secrets.AIO_SP_APP_ID || '' }}
azext_edge_sp_object_id: ${{ secrets.AIO_SP_OBJECT_ID || '' }}
azext_edge_sp_secret: ${{ secrets.AIO_SP_SECRET || '' }}
run: |
cd ${{ env.EXTENSION_SOURCE_DIRECTORY }}
python -m pip install tox
tox r -vv -e python-int --notest
tox r -e python-init-int --skip-pkg-install -- --durations=0
- name: "Az CLI login refresh"
if: ${{matrix.feature == 'default'}}
if: ${{ matrix.feature == 'default' }}
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
Expand All @@ -243,20 +257,18 @@ jobs:
sleep 240
done &
- name: "Tox Integration Tests"
if: ${{matrix.feature == 'default' && !inputs.use-container}}
if: ${{ matrix.feature == 'default' && !inputs.use-container }}
env:
azext_edge_rg: ${{ steps.env_out.outputs.RESOURCE_GROUP }}
azext_edge_cluster: ${{ steps.env_out.outputs.CLUSTER_NAME }}
azext_edge_skip_init: True
run: |
cd ${{ env.EXTENSION_SOURCE_DIRECTORY }}
tox r -e python-int --skip-pkg-install -- --durations=0
- name: "Containerized tests"
if: ${{matrix.feature == 'default' && inputs.use-container}}
if: ${{ matrix.feature == 'default' && inputs.use-container }}
env:
azext_edge_rg: ${{ steps.env_out.outputs.CLUSTER_NAME }}
azext_edge_cluster: ${{ steps.env_out.outputs.RESOURCE_GROUP }}
azext_edge_skip_init: True
run: |
# volume mounts
azure_dir=$(realpath ~/.azure)
Expand Down Expand Up @@ -290,45 +302,52 @@ jobs:
- name: "Run smoke tests"
run: |
az iot ops support create-bundle --svc auto
az iot ops support create-bundle --svc mq --mq-traces
az iot ops support create-bundle --svc broker --broker-traces
az iot ops check
az iot ops check --pre
az iot ops check --post
az iot ops check --as-object
az iot ops check --svc dataprocessor
az iot ops check --svc mq --resources broker brokerlistener diagnosticservice
az iot ops mq stats
az iot ops mq stats --raw
az iot ops mq get-password-hash -p test
az iot ops check --svc broker --resources broker brokerlistener
az iot ops broker stats
az iot ops broker stats --raw
az iot ops asset query -g ${{ env.RESOURCE_GROUP }} --location westus -o table
az iot ops verify-host
- name: "Delete Cluster for redeployment"
if: ${{matrix.feature == 'ca-certs'}}
if: ${{ matrix.feature == 'ca-certs' }}
run: |
az iot ops delete --cluster ${{ env.CLUSTER_NAME }} -g ${{ env.RESOURCE_GROUP }} -y
- name: "Test cluster redeployment"
if: ${{matrix.feature == 'ca-certs'}}
uses: azure/azure-iot-ops-cli-extension/.github/actions/deploy-aio@dev
with:
cluster: ${{ env.CLUSTER_NAME }}
resource-group: ${{ env.RESOURCE_GROUP }}
keyvault-id: ${{ env.KV_ID }}
sp-app-id: ${{ secrets.AIO_SP_APP_ID || '' }}
sp-object-id: ${{ secrets.AIO_SP_OBJECT_ID || '' }}
sp-secret: ${{ secrets.AIO_SP_SECRET || '' }}
no-preflight: ${{ matrix.no-preflight }}
mq-insecure: ${{ matrix.mq-insecure }}
disable-rsync-rules: ${{ matrix.disable-rsync-rules }}
ca-valid-days: ${{ matrix.ca-valid-days || '' }}
ca-file: ${{ matrix.ca-file || '' }}
ca-key-file: ${{ matrix.ca-key-file || '' }}
kv-spc-secret-name: ${{ matrix.kv-spc-secret-name || '' }}
template-file: ${{ inputs.template-content && 'custom-template.json' || '' }}
csi-config: ${{ matrix.csi-config || ''}}
include-dp: ${{ matrix.include-dp }}
- name: "Redeploy cluster via tox"
if: ${{ matrix.feature == 'ca-certs' }}
env:
azext_edge_rg: ${{ steps.env_out.outputs.RESOURCE_GROUP }}
azext_edge_cluster: ${{ steps.env_out.outputs.CLUSTER_NAME }}
azext_edge_kv: ${{ steps.keyvault_id.outputs.KV_ID }}
azext_edge_init_args: ${{ steps.init.outputs.ARG }}
azext_edge_sp_app_id: ${{ secrets.AIO_SP_APP_ID || '' }}
azext_edge_sp_object_id: ${{ secrets.AIO_SP_OBJECT_ID || '' }}
azext_edge_sp_secret: ${{ secrets.AIO_SP_SECRET || '' }}
run: |
cd ${{ env.EXTENSION_SOURCE_DIRECTORY }}
tox r -e python-init-int --skip-pkg-install -- --durations=0
- name: "Delete AIO resources"
if: ${{ always() }}
run: |
az iot ops delete --cluster ${{ env.CLUSTER_NAME }} -g ${{ env.RESOURCE_GROUP }} -y
- name: "Delete connected cluster"
if: ${{ always() }}
run: |
az connectedk8s delete --name ${{ env.CLUSTER_NAME }} -g ${{ env.RESOURCE_GROUP }} -y
az connectedk8s delete --name ${{ env.CLUSTER_NAME }} -g ${{ env.RESOURCE_GROUP }} -y

delete_kv:
if: ${{ always() }}
needs: [test]
runs-on: ubuntu-22.04
steps:
- name: "Az CLI login"
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: "Delete Key Vault for clusters"
run: az keyvault delete -n ${{ env.KV_NAME }} -g ${{ env.RESOURCE_GROUP }} --no-wait
Loading