From e9989924817d8860647ed266fa6bb2e1031201ff Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Tue, 13 Oct 2026 09:01:31 +0200 Subject: [PATCH 1/6] chore(ci): run the samples emulator with lstk instead of the localstack CLI The legacy `localstack` CLI is deprecated and no longer receives updates. Samples CI now drives the emulator with lstk end to end: - The Start, Retry and Get LocalStack Logs steps use lstk start, stop and logs. The container is now named localstack-azure. - Container settings move from DOCKER_FLAGS and bare variables to LOCALSTACK_-prefixed ones, which lstk forwards and the image's entrypoint strips. ACTIVATE_PRO goes: nothing in the image reads it. - lstk is installed before the emulator starts and moves from 0.19.0 to 1.4.0. The Podman detection regression behind the 0.19.0 pin was fixed in 0.20.1 (localstack/lstk#422), and DOCKER_HOST now pins the daemon for every lstk call in the job. - The container removes itself, logs included, when it exits. The Start and Retry steps keep a copy of its logs, which Get LocalStack Logs prints when the emulator is gone, as the old CLI did itself. - run-samples.sh and `make logs` use lstk, and the localstack package leaves requirements-runtime.txt: nothing imports it. This does not fix the current "License activation failed" (exit 55). The license server rejects TEST_LOCALSTACK_AUTH_TOKEN itself, and lstk hands the token to the container exactly as the old CLI did. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/run-samples.yml | 140 ++++++++++++++++-------------- Makefile | 4 +- requirements-runtime.txt | 1 - run-samples.sh | 17 ++-- 4 files changed, 82 insertions(+), 80 deletions(-) diff --git a/.github/workflows/run-samples.yml b/.github/workflows/run-samples.yml index f8ba93b5..51db73ff 100644 --- a/.github/workflows/run-samples.yml +++ b/.github/workflows/run-samples.yml @@ -105,6 +105,11 @@ jobs: env: IMAGE_NAME: localstack/localstack-azure DEFAULT_TAG: latest + # lstk finds the container daemon on its own, and lstk 0.20.0 picked the socket of a + # co-installed Podman instead of Docker's, then reported the running emulator as absent + # (fixed in 0.20.1, localstack/lstk#422). DOCKER_HOST always wins over that detection, + # so every lstk call in this job talks to the Docker daemon the emulator runs on. + DOCKER_HOST: unix:///var/run/docker.sock steps: - name: Checkout repo @@ -165,9 +170,35 @@ jobs: - name: Install test dependencies # Mirroring the localstack-pro approach: install all Python dependencies - # (including the localstack CLI) into a virtual environment to avoid system-level conflicts. + # into a virtual environment to avoid system-level conflicts. run: make install + - name: Install lstk CLI + # Starts and stops the emulator, and lets run-samples.sh route Azure CLI calls to it + # via `lstk az start-interception`. It replaces the deprecated localstack CLI and the + # azlocal wrapper. https://github.com/localstack/lstk + # + # Pinned, like every action in this workflow: an unpinned install means an upstream + # release lands in every run at once, with no commit to point at when things break. + # Bump deliberately. + env: + LSTK_VERSION: "1.4.0" + run: | + MAX_RETRIES=3 + DELAY=15 + for i in $(seq 1 $MAX_RETRIES); do + echo "Attempt $i/$MAX_RETRIES..." + npm install -g "@localstack/lstk@${LSTK_VERSION}" && break + if [ "$i" -eq "$MAX_RETRIES" ]; then + echo "All $MAX_RETRIES attempts failed" + exit 1 + fi + echo "Retrying in ${DELAY}s..." + sleep $DELAY + DELAY=$((DELAY * 2)) + done + command -v lstk + - name: Login to Docker Hub # Mandatory login to Docker Hub to benefit from higher rate limits for authenticated pulls. # This prevents '429 Too Many Requests' errors during the pull of large emulator images. @@ -189,7 +220,9 @@ jobs: run: docker pull ${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} - name: Start LocalStack - # Run the emulator in detached mode using the virtual environment. + # lstk starts the emulator and returns once it reports ready, or fails when the timeout + # expires. If the container exits while starting - a rejected auth token exits with code + # 55 - lstk prints the last lines of its output, so the reason shows up in this step. # The readiness wait is generous because the architecture matrix roughly doubles # the number of concurrent jobs, and the contention for Docker pulls and runner # I/O pushed some starts past a 120s budget - and, on the slowest runners, @@ -197,7 +230,6 @@ jobs: # it is ready, so a larger timeout costs nothing on the happy path. # A start that never becomes ready is retried on a fresh container (see below). run: | - source .venv/bin/activate # Even at 600s the wait occasionally expires: ~80 concurrent jobs compete for runner I/O # and image pulls, and a start that stalls failed the job before the sample ever ran. # Give it one clean retry, and print the container's logs when the first attempt expires. @@ -208,68 +240,42 @@ jobs: # stalled container is replaced sooner. attempts=3 for attempt in $(seq 1 "${attempts}"); do - python -m localstack_cli.cli.main start -d - if python -m localstack_cli.cli.main wait -t 400; then + if lstk start --non-interactive --type azure --image "${IMAGE}" --timeout 400s; then echo "Emulator ready (attempt ${attempt}/${attempts})." + # The container removes itself, logs included, when it exits. Keep a copy for the + # Get LocalStack Logs step in case the emulator dies while the sample runs. + nohup docker logs --follow localstack-azure >> "${RUNNER_TEMP}/localstack-azure.log" 2>&1 < /dev/null & exit 0 fi - echo "::warning::Emulator was not ready within 400s (attempt ${attempt}/${attempts})." - docker logs localstack-main --tail 100 2>&1 || true - python -m localstack_cli.cli.main stop || true - # stop does not wait for Docker to remove the container, and a start that still finds it fails with - # 'container named "localstack-main" already exists'. - docker rm -f localstack-main >/dev/null 2>&1 || true - for _ in $(seq 1 30); do docker container inspect localstack-main >/dev/null 2>&1 || break; sleep 1; done + echo "::warning::Emulator failed to start or was not ready within 400s (attempt ${attempt}/${attempts})." + # A timed-out start leaves the container running; one that exited is already gone. + docker logs localstack-azure --tail 100 2>&1 || true + lstk stop --non-interactive || true + # stop does not wait for Docker to remove the container, and lstk start reports a container + # that is still running as started, ready or not. Remove it and wait for the name to free up, + # so the next attempt boots a fresh emulator. + docker rm -f localstack-azure >/dev/null 2>&1 || true + for _ in $(seq 1 30); do docker container inspect localstack-azure >/dev/null 2>&1 || break; sleep 1; done done echo "::error::Emulator failed to become ready after ${attempts} attempts." exit 1 env: - IMAGE_NAME: ${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} + IMAGE: ${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} LOCALSTACK_AUTH_TOKEN: ${{ secrets.TEST_LOCALSTACK_AUTH_TOKEN }} + # lstk forwards LOCALSTACK_-prefixed variables to the emulator container, and the + # image's entrypoint strips the prefix: LOCALSTACK_LS_LOG reaches the runtime as LS_LOG. + # lstk also reads LOCALSTACK_DISABLE_EVENTS itself and sends no telemetry of its own. # GITHUB_API_TOKEN: the emulator's package installers query api.github.com # (e.g. Azure Functions Core Tools releases when prebuilding the Functions # image); anonymous calls share the runner egress IP's 60 req/h budget, # which is routinely exhausted on GitHub-hosted runners. localstack-core's # GitHubReleaseInstaller sends this token as a Bearer for the higher # authenticated limit. The workflow token is ephemeral and contents:read. - DOCKER_FLAGS: "-e MSSQL_ACCEPT_EULA=Y -e GITHUB_API_TOKEN=${{ github.token }}" - LS_LOG: "DEBUG" - DISABLE_EVENTS: "1" - ACTIVATE_PRO: "1" - DNS_ADDRESS: "0" - - - name: Install lstk CLI - # Required by run-samples.sh to proxy Azure CLI calls to the emulator - # via `lstk az` (replaces the deprecated azlocal wrapper). - # https://github.com/localstack/lstk - # - # Pinned, like every action in this workflow: an unpinned install means an upstream - # release lands in every run at once, with no commit to point at when things break. - # Bump deliberately. - env: - # 0.19.0, not the current 0.20.0. Since 0.20.0 was published (2026-07-30 11:10) every - # sample run has failed at `lstk az start-interception` with "LocalStack Azure Emulator - # is not running" - 6 runs across 4 unrelated branches, while the emulator was up and - # answering its health endpoint. Detection fails on roughly 80% of fresh runners, is - # decided before the first call (retries never recover it), and reproduces on neither - # arch locally. Every run on 0.19.0 was green. - # Revert to the latest release once the detection regression is fixed upstream. - LSTK_VERSION: "0.19.0" - run: | - MAX_RETRIES=3 - DELAY=15 - for i in $(seq 1 $MAX_RETRIES); do - echo "Attempt $i/$MAX_RETRIES..." - npm install -g "@localstack/lstk@${LSTK_VERSION}" && break - if [ "$i" -eq "$MAX_RETRIES" ]; then - echo "All $MAX_RETRIES attempts failed" - exit 1 - fi - echo "Retrying in ${DELAY}s..." - sleep $DELAY - DELAY=$((DELAY * 2)) - done - command -v lstk + LOCALSTACK_GITHUB_API_TOKEN: ${{ github.token }} + LOCALSTACK_MSSQL_ACCEPT_EULA: "Y" + LOCALSTACK_LS_LOG: "DEBUG" + LOCALSTACK_DISABLE_EVENTS: "1" + LOCALSTACK_DNS_ADDRESS: "0" - name: Install MSSQL ODBC and Tools # Required for the 'web-app-sql-database' sample which uses 'sqlcmd' to @@ -308,30 +314,32 @@ jobs: # attempt left behind. if: steps.initial_run.outcome == 'failure' run: | - source .venv/bin/activate echo "::warning::${MATRIX_NAME} failed once; retrying on a fresh emulator." - python -m localstack_cli.cli.main stop || true - # stop does not wait for Docker to remove the container, and a start that still finds it fails with - # 'container named "localstack-main" already exists'. - docker rm -f localstack-main >/dev/null 2>&1 || true - for _ in $(seq 1 30); do docker container inspect localstack-main >/dev/null 2>&1 || break; sleep 1; done - python -m localstack_cli.cli.main start -d - python -m localstack_cli.cli.main wait -t 600 + lstk stop --non-interactive || true + # stop does not wait for Docker to remove the container, and lstk start reports a container + # that is still running as started, ready or not. Remove it and wait for the name to free up, + # so the retry boots a fresh emulator. + docker rm -f localstack-azure >/dev/null 2>&1 || true + for _ in $(seq 1 30); do docker container inspect localstack-azure >/dev/null 2>&1 || break; sleep 1; done + lstk start --non-interactive --type azure --image "${IMAGE}" --timeout 600s + nohup docker logs --follow localstack-azure >> "${RUNNER_TEMP}/localstack-azure.log" 2>&1 < /dev/null & make test SHARD="${SHARD}" SPLITS="${SPLITS}" env: MATRIX_NAME: ${{ matrix.name }} SHARD: ${{ matrix.shard }} SPLITS: ${{ matrix.splits }} - IMAGE_NAME: ${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} + IMAGE: ${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} LOCALSTACK_AUTH_TOKEN: ${{ secrets.TEST_LOCALSTACK_AUTH_TOKEN }} - DOCKER_FLAGS: "-e MSSQL_ACCEPT_EULA=Y -e GITHUB_API_TOKEN=${{ github.token }}" - LS_LOG: "DEBUG" - DISABLE_EVENTS: "1" - ACTIVATE_PRO: "1" - DNS_ADDRESS: "0" + LOCALSTACK_GITHUB_API_TOKEN: ${{ github.token }} + LOCALSTACK_MSSQL_ACCEPT_EULA: "Y" + LOCALSTACK_LS_LOG: "DEBUG" + LOCALSTACK_DISABLE_EVENTS: "1" + LOCALSTACK_DNS_ADDRESS: "0" PURGE_DOCKER: "1" - name: Get LocalStack Logs # Captured on failure or success to provide a detailed audit trail of the emulator's activity. + # When the emulator is no longer running its container is gone, so this prints the copy of + # its logs that the Start and Retry steps kept. if: always() - run: make logs + run: make logs || cat "${RUNNER_TEMP}/localstack-azure.log" diff --git a/Makefile b/Makefile index fac64459..241c28a8 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ SPLITS ?= 1 test: venv ## Run all samples $(VENV_RUN); bash ./run-samples.sh $(SHARD) $(SPLITS) -logs: venv ## Get LocalStack logs - $(VENV_RUN); localstack logs +logs: ## Get LocalStack logs + lstk logs --verbose .PHONY: venv install test logs diff --git a/requirements-runtime.txt b/requirements-runtime.txt index 6d6b73fe..7b0fbe56 100644 --- a/requirements-runtime.txt +++ b/requirements-runtime.txt @@ -11,4 +11,3 @@ confluent-kafka fastavro requests python-dotenv -localstack diff --git a/run-samples.sh b/run-samples.sh index 15aee083..6b9349de 100755 --- a/run-samples.sh +++ b/run-samples.sh @@ -8,7 +8,6 @@ set -euo pipefail # - .NET 10.0+ # - Node.js & npm # - Azure CLI (az) -# - LocalStack CLI # - Terraform CLI # - lstk CLI (https://github.com/localstack/lstk) # - jq & zip (sudo apt-get install jq zip) @@ -230,7 +229,6 @@ if [[ "${1:-}" == "--list" ]]; then fi # 3. Check for required tools -command -v localstack >/dev/null 2>&1 || { echo >&2 "localstack CLI is required but not installed. Aborting."; exit 1; } command -v az >/dev/null 2>&1 || { echo >&2 "az CLI is required but not installed. Aborting."; exit 1; } command -v lstk >/dev/null 2>&1 || { echo >&2 "lstk is required but not installed. See https://github.com/localstack/lstk#installation. Aborting."; exit 1; } command -v terraform >/dev/null 2>&1 || { echo >&2 "terraform CLI is required but not installed. Aborting."; exit 1; } @@ -241,13 +239,10 @@ if [ -z "${LOCALSTACK_AUTH_TOKEN:-}" ]; then fi # 4. Start LocalStack -if ! localstack status | grep -q "running"; then - echo "Starting LocalStack Azure emulator..." - IMAGE_NAME=localstack/localstack-azure localstack start -d - localstack wait -t 60 -else - echo "LocalStack is already running." -fi +# lstk returns once the emulator reports ready, and succeeds without restarting it when it is +# already running - as it is in CI, where the workflow starts it before this script. +echo "Starting LocalStack Azure emulator..." +lstk start --non-interactive --type azure # 5. Configure Azure CLI for LocalStack echo "Configuring Azure CLI for LocalStack..." @@ -260,7 +255,7 @@ if command -v lstk >/dev/null 2>&1; then # lstk's emulator detection can report a running emulator as absent - `lstk status` has been # observed answering "LocalStack AWS Emulator is not running" against a live emulator, and CI # runs have failed here with "LocalStack Azure Emulator is not running" while the container was - # up and `localstack wait` had already returned. Retry before giving up. + # up and had already reported ready. Retry before giving up. # # Deliberately still fatal after the last attempt: without interception the az CLI targets real # Azure, so continuing would send this suite's commands to the cloud. The diagnostics below run @@ -275,7 +270,7 @@ if command -v lstk >/dev/null 2>&1; then echo "[ERROR] --- lstk version ---" lstk --version 2>&1 || true echo "[ERROR] --- container ---" - docker ps -a --filter name=localstack-main --format '{{.Names}} | {{.Image}} | {{.Status}}' || true + docker ps -a --filter name=localstack-azure --format '{{.Names}} | {{.Image}} | {{.Status}}' || true echo "[ERROR] --- emulator health ---" curl -s --max-time 10 http://127.0.0.1:4566/_localstack/health || true echo "" From 68630dacec2302b23710296ef749c0049edb4676 Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Tue, 13 Oct 2026 09:45:47 +0200 Subject: [PATCH 2/6] Removed .claude/settings.json --- .claude/settings.json | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .claude/settings.json diff --git a/.claude/settings.json b/.claude/settings.json deleted file mode 100644 index 796a060f..00000000 --- a/.claude/settings.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "permissions": { - "additionalDirectories": [ - "/home/paolo/localstack/localstack-pro/localstack-pro-azure" - ], - "allow": [ - "Read(/home/paolo/localstack/localstack-pro/localstack-pro-azure/**)", - "Edit(/home/paolo/localstack/localstack-pro/localstack-pro-azure/**)", - "Write(/home/paolo/localstack/localstack-pro/localstack-pro-azure/**)", - "Bash(cd /home/paolo/localstack/localstack-pro/localstack-pro-azure:*)", - "Bash(/home/paolo/localstack/localstack-pro/localstack-pro-azure/**)" - ] - } -} From 0acef564508502ee2e52f954303985c70deefaf8 Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Tue, 13 Oct 2026 12:22:53 +0200 Subject: [PATCH 3/6] Deploy Terraform samples from empty state so the CI retry starts clean A Terraform sample that fails leaves its state behind: run-samples.sh removes it only after a successful run. The CI retry then deploys the sample again on a fresh emulator, and terraform plan first refreshes the old state there. Data-plane resources fail that refresh instead of dropping out of state - a storage table cannot find its account - so the retry failed before deploying anything, whatever had failed the first attempt (url-shortener/python/terraform in run 38376597563). run-samples.sh now removes terraform.tfstate, its backup and tfplan before a Terraform sample deploys. The provider cache in .terraform is kept. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/run-samples.yml | 3 ++- run-samples.sh | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run-samples.yml b/.github/workflows/run-samples.yml index 51db73ff..72044070 100644 --- a/.github/workflows/run-samples.yml +++ b/.github/workflows/run-samples.yml @@ -311,7 +311,8 @@ jobs: - name: "Retry: ${{ matrix.name }}" # The deploy scripts are not idempotent - they fail on resources that already exist - so the # retry runs against a fresh emulator instead of the half-provisioned state the failed - # attempt left behind. + # attempt left behind. run-samples.sh also discards the Terraform state that attempt left, + # which no longer matches anything in the fresh emulator. if: steps.initial_run.outcome == 'failure' run: | echo "::warning::${MATRIX_NAME} failed once; retrying on a fresh emulator." diff --git a/run-samples.sh b/run-samples.sh index 6b9349de..4cf15697 100755 --- a/run-samples.sh +++ b/run-samples.sh @@ -340,6 +340,14 @@ for (( i=START; i /dev/null + # Deploy a Terraform sample from empty state. A failed run skips the cleanup below and leaves + # its state behind, and the CI retry deploys the sample again on a fresh emulator: refreshing + # the old state there fails on resources that no longer exist (a storage table whose account is + # gone) before anything is deployed. The provider cache in .terraform is kept. + if [[ "$path" == *"/terraform" ]]; then + rm -f terraform.tfstate terraform.tfstate.backup tfplan + fi + echo "Deploying..." eval "$deploy" From a00b7b3a3d5a2aa51e6a107219ecdf2ce0b9ca8f Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Tue, 13 Oct 2026 12:23:08 +0200 Subject: [PATCH 4/6] Print every emulator's logs and drop the stalled-boot account of the timeouts The Start step's comments explained the expired readiness waits as stalled boots. They were not: every "Emulator was not ready within 400s" warning in five full Samples CI runs between 2026-09-18 and 2026-10-13 - 27 timeouts in 23 jobs - was a ready emulator the old localstack CLI failed to notice. The CLI waits for a log line reading exactly "Ready.". The emulator prints that marker in two writes, and the Azurite container of its managed storage account logs from another thread at the same moment, so a line can land between them: "Ready.2026-10-13T09:30:02.013 DEBUG ...". Each timed-out emulator had been ready about ten seconds after it started. lstk polls the health endpoint and never reads that marker, so the move to lstk removes these false timeouts; a longer timeout would only have made each of them longer. The comments now describe only what lstk does. Get LocalStack Logs now prints the copy of the logs that the Start and Retry steps keep, which covers every emulator the job ran. On a retried job, make logs showed only the retry's emulator, so the logs of the emulator that failed were never printed. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/run-samples.yml | 35 +++++++++++++------------------ 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/.github/workflows/run-samples.yml b/.github/workflows/run-samples.yml index 72044070..e76bacbd 100644 --- a/.github/workflows/run-samples.yml +++ b/.github/workflows/run-samples.yml @@ -220,24 +220,12 @@ jobs: run: docker pull ${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} - name: Start LocalStack - # lstk starts the emulator and returns once it reports ready, or fails when the timeout - # expires. If the container exits while starting - a rejected auth token exits with code - # 55 - lstk prints the last lines of its output, so the reason shows up in this step. - # The readiness wait is generous because the architecture matrix roughly doubles - # the number of concurrent jobs, and the contention for Docker pulls and runner - # I/O pushed some starts past a 120s budget - and, on the slowest runners, - # occasionally past 300s as well. A healthy emulator still returns as soon as - # it is ready, so a larger timeout costs nothing on the happy path. - # A start that never becomes ready is retried on a fresh container (see below). + # lstk starts the emulator and returns once its health endpoint answers, or fails when the + # timeout expires. If the container exits while starting - a rejected auth token exits with + # code 55 - lstk prints the last lines of its output, so the reason shows up in this step. + # A healthy emulator answers within seconds, so the generous timeout costs nothing on the + # happy path. A start that fails or never becomes ready is retried on a fresh container. run: | - # Even at 600s the wait occasionally expires: ~80 concurrent jobs compete for runner I/O - # and image pulls, and a start that stalls failed the job before the sample ever ran. - # Give it one clean retry, and print the container's logs when the first attempt expires. - # A healthy start reports ready in well under a minute, so a wait that reaches the - # timeout means the boot has stalled rather than slowed: observed on an arm64 runner, - # where the container logged nothing for the last ten minutes of the wait. Three shorter - # attempts therefore beat two long ones - same overall budget, one more chance, and a - # stalled container is replaced sooner. attempts=3 for attempt in $(seq 1 "${attempts}"); do if lstk start --non-interactive --type azure --image "${IMAGE}" --timeout 400s; then @@ -323,6 +311,7 @@ jobs: docker rm -f localstack-azure >/dev/null 2>&1 || true for _ in $(seq 1 30); do docker container inspect localstack-azure >/dev/null 2>&1 || break; sleep 1; done lstk start --non-interactive --type azure --image "${IMAGE}" --timeout 600s + echo "===== Emulator restarted for the retry =====" >> "${RUNNER_TEMP}/localstack-azure.log" nohup docker logs --follow localstack-azure >> "${RUNNER_TEMP}/localstack-azure.log" 2>&1 < /dev/null & make test SHARD="${SHARD}" SPLITS="${SPLITS}" env: @@ -340,7 +329,13 @@ jobs: - name: Get LocalStack Logs # Captured on failure or success to provide a detailed audit trail of the emulator's activity. - # When the emulator is no longer running its container is gone, so this prints the copy of - # its logs that the Start and Retry steps kept. + # The Start and Retry steps keep a copy of every emulator's logs, so a retried job shows the + # emulator that failed as well as the one that ran the retry, and a container that removed + # itself on exit still has its logs. make logs covers a job where no emulator came up. if: always() - run: make logs || cat "${RUNNER_TEMP}/localstack-azure.log" + run: | + if [ -s "${RUNNER_TEMP}/localstack-azure.log" ]; then + cat "${RUNNER_TEMP}/localstack-azure.log" + else + make logs + fi From 0ffdb23cd74f979efe0fd2fc7bd09f4fe7409e07 Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Tue, 13 Oct 2026 12:23:08 +0200 Subject: [PATCH 5/6] Allow public blob access on the url-shortener Terraform storage account The qrcodes container is publicly readable (container_access_type = "blob"), but azurerm 5.x creates storage accounts with allow_nested_items_to_be_public = false unless told otherwise, and Azure does not let a container grant anonymous access on an account that denies it: creating the container fails with 409 PublicAccessNotPermitted. The emulator enforces this since localstack-pro #9198 (2026-10-07). url-shortener/python/terraform passed in the last full Samples CI run before it and failed in the first one after. The scripts and Bicep variants already allow public blob access on the account. The setting is a variable with a default of true, like the sample's other settings. Co-Authored-By: Claude Opus 5.5 --- samples/url-shortener/python/terraform/main.tf | 11 ++++++----- samples/url-shortener/python/terraform/variables.tf | 6 ++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/samples/url-shortener/python/terraform/main.tf b/samples/url-shortener/python/terraform/main.tf index 2febf87a..fe4a7b0b 100644 --- a/samples/url-shortener/python/terraform/main.tf +++ b/samples/url-shortener/python/terraform/main.tf @@ -32,11 +32,12 @@ resource "azurerm_user_assigned_identity" "main" { # Storage - table (links store), queue (QR render jobs), blob (QR images) # --------------------------------------------------------------------------- resource "azurerm_storage_account" "main" { - name = local.storage_account_name - resource_group_name = azurerm_resource_group.main.name - location = azurerm_resource_group.main.location - account_tier = "Standard" - account_replication_type = "LRS" + name = local.storage_account_name + resource_group_name = azurerm_resource_group.main.name + location = azurerm_resource_group.main.location + account_tier = "Standard" + account_replication_type = "LRS" + allow_nested_items_to_be_public = var.storage_allow_nested_items_to_be_public } resource "azurerm_storage_table" "links" { diff --git a/samples/url-shortener/python/terraform/variables.tf b/samples/url-shortener/python/terraform/variables.tf index db3bdca3..57acae6f 100644 --- a/samples/url-shortener/python/terraform/variables.tf +++ b/samples/url-shortener/python/terraform/variables.tf @@ -16,6 +16,12 @@ variable "location" { default = "westeurope" } +variable "storage_allow_nested_items_to_be_public" { + description = "Allow containers in the storage account to grant anonymous read access. The qrcodes container serves the QR code images publicly, and new storage accounts disallow anonymous access unless the account explicitly allows it." + type = bool + default = true +} + variable "app_service_plan_sku" { description = "SKU of the Linux App Service Plan shared by the web app and the worker." type = string From e4cffc12940791e6f450d95e1a1565b1f4966aed Mon Sep 17 00:00:00 2001 From: Paolo Salvatori Date: Tue, 13 Oct 2026 13:03:54 +0200 Subject: [PATCH 6/6] Replace the localstack CLI with lstk in every guide and in pyproject.toml The sample READMEs and docs/LOCALSTACK.md started the emulator with the deprecated localstack CLI (IMAGE_NAME=... localstack start -d, then localstack wait), while 45 of them listed only lstk among their prerequisites, so a reader who followed them had no localstack command. They now run lstk start --type azure, which returns once the emulator is ready, and list the lstk CLI, linked to its documentation, where they listed LocalStack. docs/LOCALSTACK.md also stops the emulator with lstk stop and reads its logs with lstk logs. pyproject.toml no longer depends on the localstack package, and the workflow no longer mentions the old CLI. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/run-samples.yml | 3 +-- docs/LOCALSTACK.md | 21 +++++++++---------- pyproject.toml | 1 - samples/aci-blob-storage/python/README.md | 6 ++---- .../python/README.md | 3 +-- .../python/README.md | 6 ++---- samples/eventhubs/python/README.md | 10 ++++----- .../function-app-front-door/python/README.md | 2 +- .../python/README.md | 3 +-- .../python/bicep/README.md | 5 ++--- .../python/scripts/README.md | 5 ++--- .../python/terraform/README.md | 5 ++--- .../function-app-service-bus/dotnet/README.md | 3 +-- .../dotnet/bicep/README.md | 5 ++--- .../dotnet/scripts/README.md | 5 ++--- .../dotnet/terraform/README.md | 5 ++--- .../dotnet/README.md | 4 ++-- .../dotnet/bicep/README.md | 4 ++-- .../dotnet/scripts/README.md | 4 ++-- .../dotnet/terraform/README.md | 5 ++--- samples/servicebus/java/README.md | 3 +-- samples/servicebus/java/bicep/README.md | 5 ++--- samples/servicebus/java/scripts/README.md | 5 ++--- samples/servicebus/java/terraform/README.md | 5 ++--- samples/url-shortener/python/README.md | 3 +-- .../dotnet/README.md | 3 +-- .../python/README.md | 3 +-- .../dotnet/README.md | 3 +-- .../dotnet/bicep/README.md | 5 ++--- .../dotnet/scripts/README.md | 5 ++--- .../dotnet/terraform/README.md | 5 ++--- .../python/README.md | 3 +-- .../python/bicep/README.md | 5 ++--- .../python/scripts/README.md | 5 ++--- .../python/terraform/README.md | 5 ++--- .../dotnet/README.md | 3 +-- .../dotnet/scripts/README.md | 5 ++--- .../python/README.md | 3 +-- .../python/scripts/README.md | 5 ++--- samples/web-app-custom-image/dotnet/README.md | 3 +-- .../dotnet/bicep/README.md | 5 ++--- .../dotnet/scripts/README.md | 5 ++--- .../dotnet/terraform/README.md | 5 ++--- samples/web-app-custom-image/python/README.md | 3 +-- .../python/bicep/README.md | 5 ++--- .../python/scripts/README.md | 5 ++--- .../python/terraform/README.md | 5 ++--- .../web-app-managed-identity/dotnet/README.md | 3 +-- .../dotnet/bicep/README.md | 5 ++--- .../dotnet/scripts/README.md | 5 ++--- .../dotnet/terraform/README.md | 5 ++--- .../web-app-managed-identity/python/README.md | 3 +-- .../python/bicep/README.md | 5 ++--- .../python/scripts/README.md | 5 ++--- .../python/terraform/README.md | 5 ++--- .../dotnet/README.md | 3 +-- .../python/README.md | 3 +-- .../dotnet/README.md | 3 +-- .../python/README.md | 3 +-- samples/web-app-sql-database/dotnet/README.md | 3 +-- .../dotnet/bicep/README.md | 5 ++--- .../dotnet/scripts/README.md | 5 ++--- .../dotnet/terraform/README.md | 5 ++--- samples/web-app-sql-database/python/README.md | 3 +-- .../python/bicep/README.md | 5 ++--- .../python/scripts/README.md | 5 ++--- .../python/terraform/README.md | 5 ++--- 67 files changed, 119 insertions(+), 185 deletions(-) diff --git a/.github/workflows/run-samples.yml b/.github/workflows/run-samples.yml index e76bacbd..34711d97 100644 --- a/.github/workflows/run-samples.yml +++ b/.github/workflows/run-samples.yml @@ -175,8 +175,7 @@ jobs: - name: Install lstk CLI # Starts and stops the emulator, and lets run-samples.sh route Azure CLI calls to it - # via `lstk az start-interception`. It replaces the deprecated localstack CLI and the - # azlocal wrapper. https://github.com/localstack/lstk + # via `lstk az start-interception`. https://github.com/localstack/lstk # # Pinned, like every action in this workflow: an unpinned install means an upstream # release lands in every run at once, with no commit to point at when things break. diff --git a/docs/LOCALSTACK.md b/docs/LOCALSTACK.md index 23493e0a..03111d70 100644 --- a/docs/LOCALSTACK.md +++ b/docs/LOCALSTACK.md @@ -18,22 +18,21 @@ docker pull localstack/localstack-azure ## 2. Choose a Startup Method You can start the Azure emulator using one of the following methods: -- LocalStack CLI +- [lstk CLI](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/) - Raw `docker run` - Docker Compose --- -### Option A: LocalStack CLI -Make sure the `localstack` CLI is installed (`pip install localstack` or `brew install localstack/tap/localstack`). +### Option A: lstk CLI +Make sure the [lstk CLI](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/) is installed (`brew install localstack/tap/lstk` or `npm install -g @localstack/lstk`). ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception @@ -41,12 +40,12 @@ lstk az start-interception This: - Exports your auth token -- Overrides the default image via `IMAGE_NAME` -- Starts LocalStack with Azure emulation enabled in the selected image +- Starts the LocalStack Azure emulator (`--type azure`) and waits until it is ready +- Routes all Azure CLI calls to the emulator To stop: ```bash -localstack stop +lstk stop ``` --- @@ -114,7 +113,7 @@ docker compose down ## 3. Verify the Emulator After startup, you can: -- Check logs: `docker logs -f localstack-main` +- Check logs: `lstk logs --follow`, or `docker logs -f localstack-main` with Docker Compose - Curl the edge endpoint: ```bash curl -s localhost:4566/_localstack/health | jq @@ -140,7 +139,7 @@ $Env:LOCALSTACK_AUTH_TOKEN = "" --- ## 5. Cleanup -- Stop containers (`localstack stop`, `docker stop `, or `docker compose down`) +- Stop containers (`lstk stop`, `docker stop `, or `docker compose down`) - Remove persisted state if needed: ```bash rm -rf ~/.localstack/volume @@ -156,7 +155,7 @@ $Env:LOCALSTACK_AUTH_TOKEN = "" | Auth error | Confirm token validity & export | | Port already in use | Change mapping (e.g. `-p 4567:4566`) | | State not persisting | Verify volume mount path | -| CLI not using Azure image | Ensure `IMAGE_NAME` env var is set before `localstack start` | +| lstk starts another emulator | Start it with `lstk start --type azure` | --- diff --git a/pyproject.toml b/pyproject.toml index a3fc6b4b..5a92fbf2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,6 @@ dependencies = [ "azure-mgmt-cosmosdb", "azure-core", "python-dotenv", - "localstack", ] [project.optional-dependencies] diff --git a/samples/aci-blob-storage/python/README.md b/samples/aci-blob-storage/python/README.md index 26c8eed2..2d0964dd 100644 --- a/samples/aci-blob-storage/python/README.md +++ b/samples/aci-blob-storage/python/README.md @@ -18,18 +18,16 @@ The following diagram illustrates the architecture of the solution: ## Prerequisites -- [LocalStack](https://docs.localstack.cloud/getting-started/installation/) +- [lstk CLI](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/) (`brew install localstack/tap/lstk` or `npm install -g @localstack/lstk`) - [Docker](https://docs.docker.com/get-docker/) - [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) -- [lstk](https://github.com/localstack/lstk) (`brew install localstack/tap/lstk` or `npm install -g @localstack/lstk`) - [Terraform](https://developer.hashicorp.com/terraform/downloads) (optional, for Terraform deployment) ## Quick Start ```bash # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/api-management-function-app/python/README.md b/samples/api-management-function-app/python/README.md index 91717874..06042cd9 100644 --- a/samples/api-management-function-app/python/README.md +++ b/samples/api-management-function-app/python/README.md @@ -64,8 +64,7 @@ Start the LocalStack Azure emulator and route the Azure CLI to it: ```bash export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure lstk az start-interception az login --service-principal -u any-app -p any-pass --tenant any-tenant ``` diff --git a/samples/container-apps-blob-storage/python/README.md b/samples/container-apps-blob-storage/python/README.md index fa9f03e4..0e48dad1 100644 --- a/samples/container-apps-blob-storage/python/README.md +++ b/samples/container-apps-blob-storage/python/README.md @@ -34,18 +34,16 @@ flowchart TB ## Prerequisites -- [LocalStack](https://docs.localstack.cloud/getting-started/installation/) +- [lstk CLI](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/) (`brew install localstack/tap/lstk` or `npm install -g @localstack/lstk`) - [Docker](https://docs.docker.com/get-docker/) - [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) -- [lstk](https://github.com/localstack/lstk) (`brew install localstack/tap/lstk` or `npm install -g @localstack/lstk`) - [Terraform](https://developer.hashicorp.com/terraform/downloads) (optional, for Terraform deployment) ## Quick Start ```bash # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/eventhubs/python/README.md b/samples/eventhubs/python/README.md index ce629b90..7e404535 100644 --- a/samples/eventhubs/python/README.md +++ b/samples/eventhubs/python/README.md @@ -94,12 +94,11 @@ schema registry. ## Prerequisites -- [LocalStack](https://docs.localstack.cloud/getting-started/installation/) with a valid +- [lstk CLI](https://docs.localstack.cloud/aws/developer-tools/running-localstack/lstk/) + (`brew install localstack/tap/lstk` or `npm install -g @localstack/lstk`) with a valid `LOCALSTACK_AUTH_TOKEN` - [Docker](https://docs.docker.com/get-docker/) -- [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) and - [lstk](https://github.com/localstack/lstk) (`brew install localstack/tap/lstk` or - `npm install -g @localstack/lstk`) +- [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) - Python 3.12+ with `src/producers/requirements.txt` installed - `jq` and `zip` - [Terraform](https://developer.hashicorp.com/terraform/downloads) or the Bicep CLI, for @@ -110,8 +109,7 @@ schema registry. ```bash # Start the LocalStack Azure emulator export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 120 +lstk start --type azure # Route the Azure CLI to the emulator lstk az start-interception diff --git a/samples/function-app-front-door/python/README.md b/samples/function-app-front-door/python/README.md index 3784d355..e7dbf3db 100644 --- a/samples/function-app-front-door/python/README.md +++ b/samples/function-app-front-door/python/README.md @@ -75,7 +75,7 @@ Start LocalStack for Azure and point the Azure CLI at it: ```bash export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d +lstk start --type azure lstk az start-interception az login --service-principal -u any-app -p any-pass --tenant any-tenant az account set --subscription 00000000-0000-0000-0000-000000000000 diff --git a/samples/function-app-managed-identity/python/README.md b/samples/function-app-managed-identity/python/README.md index d036783e..736eff48 100644 --- a/samples/function-app-managed-identity/python/README.md +++ b/samples/function-app-managed-identity/python/README.md @@ -64,8 +64,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-managed-identity/python/bicep/README.md b/samples/function-app-managed-identity/python/bicep/README.md index 79c8740e..7087aa92 100644 --- a/samples/function-app-managed-identity/python/bicep/README.md +++ b/samples/function-app-managed-identity/python/bicep/README.md @@ -86,15 +86,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-managed-identity/python/scripts/README.md b/samples/function-app-managed-identity/python/scripts/README.md index f7440c42..1e3aaed8 100644 --- a/samples/function-app-managed-identity/python/scripts/README.md +++ b/samples/function-app-managed-identity/python/scripts/README.md @@ -63,15 +63,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-managed-identity/python/terraform/README.md b/samples/function-app-managed-identity/python/terraform/README.md index 46e15f78..b2e84dd1 100644 --- a/samples/function-app-managed-identity/python/terraform/README.md +++ b/samples/function-app-managed-identity/python/terraform/README.md @@ -91,15 +91,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-service-bus/dotnet/README.md b/samples/function-app-service-bus/dotnet/README.md index 7f08efdc..4286a9b5 100644 --- a/samples/function-app-service-bus/dotnet/README.md +++ b/samples/function-app-service-bus/dotnet/README.md @@ -68,8 +68,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-service-bus/dotnet/bicep/README.md b/samples/function-app-service-bus/dotnet/bicep/README.md index 1e9cbdcb..210444c5 100644 --- a/samples/function-app-service-bus/dotnet/bicep/README.md +++ b/samples/function-app-service-bus/dotnet/bicep/README.md @@ -104,15 +104,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-service-bus/dotnet/scripts/README.md b/samples/function-app-service-bus/dotnet/scripts/README.md index df2864ac..0b2ffd8a 100644 --- a/samples/function-app-service-bus/dotnet/scripts/README.md +++ b/samples/function-app-service-bus/dotnet/scripts/README.md @@ -73,15 +73,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-service-bus/dotnet/terraform/README.md b/samples/function-app-service-bus/dotnet/terraform/README.md index ed4e8a2a..51e396a3 100644 --- a/samples/function-app-service-bus/dotnet/terraform/README.md +++ b/samples/function-app-service-bus/dotnet/terraform/README.md @@ -109,15 +109,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/function-app-storage-http/dotnet/README.md b/samples/function-app-storage-http/dotnet/README.md index 63697268..68bc4030 100644 --- a/samples/function-app-storage-http/dotnet/README.md +++ b/samples/function-app-storage-http/dotnet/README.md @@ -141,11 +141,11 @@ The sample uses the following configurable settings in `local.settings.json`: docker pull localstack/localstack-azure ``` -2. Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +2. Start the LocalStack Azure emulator with the lstk CLI: ```bash export LOCALSTACK_AUTH_TOKEN= - IMAGE_NAME=localstack/localstack-azure localstack start + lstk start --type azure ``` 3. Deploy the application to LocalStack for Azure using one of the following methods: diff --git a/samples/function-app-storage-http/dotnet/bicep/README.md b/samples/function-app-storage-http/dotnet/bicep/README.md index fb5aeba6..f79555d9 100644 --- a/samples/function-app-storage-http/dotnet/bicep/README.md +++ b/samples/function-app-storage-http/dotnet/bicep/README.md @@ -68,11 +68,11 @@ See [deploy.sh](deploy.sh) for the complete deployment automation script. The sc docker pull localstack/localstack-azure ``` -2. Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +2. Start the LocalStack Azure emulator with the lstk CLI: ```bash export LOCALSTACK_AUTH_TOKEN= - IMAGE_NAME=localstack/localstack-azure localstack start + lstk start --type azure ``` 3. Navigate to the scripts directory diff --git a/samples/function-app-storage-http/dotnet/scripts/README.md b/samples/function-app-storage-http/dotnet/scripts/README.md index acc9ad92..78fa8dab 100644 --- a/samples/function-app-storage-http/dotnet/scripts/README.md +++ b/samples/function-app-storage-http/dotnet/scripts/README.md @@ -61,11 +61,11 @@ See [deploy.sh](deploy.sh) for the complete deployment script. The script perfor docker pull localstack/localstack-azure ``` -2. Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +2. Start the LocalStack Azure emulator with the lstk CLI: ```bash export LOCALSTACK_AUTH_TOKEN= - IMAGE_NAME=localstack/localstack-azure localstack start + lstk start --type azure ``` 3. Navigate to the scripts directory diff --git a/samples/function-app-storage-http/dotnet/terraform/README.md b/samples/function-app-storage-http/dotnet/terraform/README.md index f1374b5e..68d960e7 100644 --- a/samples/function-app-storage-http/dotnet/terraform/README.md +++ b/samples/function-app-storage-http/dotnet/terraform/README.md @@ -86,15 +86,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/servicebus/java/README.md b/samples/servicebus/java/README.md index 8b411942..6bb9195c 100644 --- a/samples/servicebus/java/README.md +++ b/samples/servicebus/java/README.md @@ -61,8 +61,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/servicebus/java/bicep/README.md b/samples/servicebus/java/bicep/README.md index 1662a12b..cbd0a025 100644 --- a/samples/servicebus/java/bicep/README.md +++ b/samples/servicebus/java/bicep/README.md @@ -78,15 +78,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/servicebus/java/scripts/README.md b/samples/servicebus/java/scripts/README.md index e63cf28e..fa03ad88 100644 --- a/samples/servicebus/java/scripts/README.md +++ b/samples/servicebus/java/scripts/README.md @@ -61,15 +61,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/servicebus/java/terraform/README.md b/samples/servicebus/java/terraform/README.md index 072fc62e..4df892bc 100644 --- a/samples/servicebus/java/terraform/README.md +++ b/samples/servicebus/java/terraform/README.md @@ -84,15 +84,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/url-shortener/python/README.md b/samples/url-shortener/python/README.md index 78323e7e..388e4030 100644 --- a/samples/url-shortener/python/README.md +++ b/samples/url-shortener/python/README.md @@ -91,8 +91,7 @@ Start the LocalStack Azure emulator and route the Azure CLI to it: ```bash export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure lstk az start-interception az login --service-principal -u any-app -p any-pass --tenant any-tenant ``` diff --git a/samples/web-app-app-configuration/dotnet/README.md b/samples/web-app-app-configuration/dotnet/README.md index f8847679..ccd86ba0 100644 --- a/samples/web-app-app-configuration/dotnet/README.md +++ b/samples/web-app-app-configuration/dotnet/README.md @@ -82,8 +82,7 @@ Set up the Azure emulator using the LocalStack for Azure Docker image. Before st docker pull localstack/localstack-azure export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-app-configuration/python/README.md b/samples/web-app-app-configuration/python/README.md index 8d10431a..42e8d156 100644 --- a/samples/web-app-app-configuration/python/README.md +++ b/samples/web-app-app-configuration/python/README.md @@ -79,8 +79,7 @@ Set up the Azure emulator using the LocalStack for Azure Docker image. Before st docker pull localstack/localstack-azure export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/dotnet/README.md b/samples/web-app-cosmosdb-mongodb-api/dotnet/README.md index 41e010fc..0dd21973 100644 --- a/samples/web-app-cosmosdb-mongodb-api/dotnet/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/dotnet/README.md @@ -51,8 +51,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/dotnet/bicep/README.md b/samples/web-app-cosmosdb-mongodb-api/dotnet/bicep/README.md index 4ba16843..a9698d7f 100644 --- a/samples/web-app-cosmosdb-mongodb-api/dotnet/bicep/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/dotnet/bicep/README.md @@ -91,15 +91,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/dotnet/scripts/README.md b/samples/web-app-cosmosdb-mongodb-api/dotnet/scripts/README.md index 7c33da41..41d3a1a4 100644 --- a/samples/web-app-cosmosdb-mongodb-api/dotnet/scripts/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/dotnet/scripts/README.md @@ -76,15 +76,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/dotnet/terraform/README.md b/samples/web-app-cosmosdb-mongodb-api/dotnet/terraform/README.md index c4e70666..f253a70a 100644 --- a/samples/web-app-cosmosdb-mongodb-api/dotnet/terraform/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/dotnet/terraform/README.md @@ -96,15 +96,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/python/README.md b/samples/web-app-cosmosdb-mongodb-api/python/README.md index cc1fcc1d..a7288953 100644 --- a/samples/web-app-cosmosdb-mongodb-api/python/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/python/README.md @@ -51,8 +51,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/python/bicep/README.md b/samples/web-app-cosmosdb-mongodb-api/python/bicep/README.md index 086e2cd9..253d43c8 100644 --- a/samples/web-app-cosmosdb-mongodb-api/python/bicep/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/python/bicep/README.md @@ -91,15 +91,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/python/scripts/README.md b/samples/web-app-cosmosdb-mongodb-api/python/scripts/README.md index 19e7dbee..ccd2d428 100644 --- a/samples/web-app-cosmosdb-mongodb-api/python/scripts/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/python/scripts/README.md @@ -76,15 +76,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-mongodb-api/python/terraform/README.md b/samples/web-app-cosmosdb-mongodb-api/python/terraform/README.md index c79660de..44cd14e9 100644 --- a/samples/web-app-cosmosdb-mongodb-api/python/terraform/README.md +++ b/samples/web-app-cosmosdb-mongodb-api/python/terraform/README.md @@ -96,15 +96,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-nosql-api/dotnet/README.md b/samples/web-app-cosmosdb-nosql-api/dotnet/README.md index 8a6f55df..d3cb185e 100644 --- a/samples/web-app-cosmosdb-nosql-api/dotnet/README.md +++ b/samples/web-app-cosmosdb-nosql-api/dotnet/README.md @@ -34,8 +34,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-nosql-api/dotnet/scripts/README.md b/samples/web-app-cosmosdb-nosql-api/dotnet/scripts/README.md index fd33fcbf..240c0383 100644 --- a/samples/web-app-cosmosdb-nosql-api/dotnet/scripts/README.md +++ b/samples/web-app-cosmosdb-nosql-api/dotnet/scripts/README.md @@ -38,15 +38,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-nosql-api/python/README.md b/samples/web-app-cosmosdb-nosql-api/python/README.md index 317275ca..a9e39532 100644 --- a/samples/web-app-cosmosdb-nosql-api/python/README.md +++ b/samples/web-app-cosmosdb-nosql-api/python/README.md @@ -34,8 +34,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-cosmosdb-nosql-api/python/scripts/README.md b/samples/web-app-cosmosdb-nosql-api/python/scripts/README.md index 7dba1173..43090826 100644 --- a/samples/web-app-cosmosdb-nosql-api/python/scripts/README.md +++ b/samples/web-app-cosmosdb-nosql-api/python/scripts/README.md @@ -38,15 +38,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/dotnet/README.md b/samples/web-app-custom-image/dotnet/README.md index 6d7bcac3..4e197648 100644 --- a/samples/web-app-custom-image/dotnet/README.md +++ b/samples/web-app-custom-image/dotnet/README.md @@ -50,8 +50,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/dotnet/bicep/README.md b/samples/web-app-custom-image/dotnet/bicep/README.md index b02028a9..00bcd5a1 100644 --- a/samples/web-app-custom-image/dotnet/bicep/README.md +++ b/samples/web-app-custom-image/dotnet/bicep/README.md @@ -100,15 +100,14 @@ You can set up the Azure emulator by utilizing the LocalStack for Azure Docker i docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/dotnet/scripts/README.md b/samples/web-app-custom-image/dotnet/scripts/README.md index a0ee2b4a..7944e2df 100644 --- a/samples/web-app-custom-image/dotnet/scripts/README.md +++ b/samples/web-app-custom-image/dotnet/scripts/README.md @@ -65,15 +65,14 @@ You can set up the Azure emulator by utilizing the LocalStack for Azure Docker i docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/dotnet/terraform/README.md b/samples/web-app-custom-image/dotnet/terraform/README.md index d743d7f3..8ad93d62 100644 --- a/samples/web-app-custom-image/dotnet/terraform/README.md +++ b/samples/web-app-custom-image/dotnet/terraform/README.md @@ -93,15 +93,14 @@ You can set up the Azure emulator by utilizing the LocalStack for Azure Docker i docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/python/README.md b/samples/web-app-custom-image/python/README.md index 0b964681..ba097449 100644 --- a/samples/web-app-custom-image/python/README.md +++ b/samples/web-app-custom-image/python/README.md @@ -49,8 +49,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/python/bicep/README.md b/samples/web-app-custom-image/python/bicep/README.md index 857737cf..b0deff5d 100644 --- a/samples/web-app-custom-image/python/bicep/README.md +++ b/samples/web-app-custom-image/python/bicep/README.md @@ -100,15 +100,14 @@ You can set up the Azure emulator by utilizing the LocalStack for Azure Docker i docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/python/scripts/README.md b/samples/web-app-custom-image/python/scripts/README.md index 9be415da..fd672349 100644 --- a/samples/web-app-custom-image/python/scripts/README.md +++ b/samples/web-app-custom-image/python/scripts/README.md @@ -65,15 +65,14 @@ You can set up the Azure emulator by utilizing the LocalStack for Azure Docker i docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-custom-image/python/terraform/README.md b/samples/web-app-custom-image/python/terraform/README.md index c607381c..7d5fee66 100644 --- a/samples/web-app-custom-image/python/terraform/README.md +++ b/samples/web-app-custom-image/python/terraform/README.md @@ -93,15 +93,14 @@ You can set up the Azure emulator by utilizing the LocalStack for Azure Docker i docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/dotnet/README.md b/samples/web-app-managed-identity/dotnet/README.md index f4308a4c..90067d79 100644 --- a/samples/web-app-managed-identity/dotnet/README.md +++ b/samples/web-app-managed-identity/dotnet/README.md @@ -62,8 +62,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/dotnet/bicep/README.md b/samples/web-app-managed-identity/dotnet/bicep/README.md index 23f67a5d..68ccd5cb 100644 --- a/samples/web-app-managed-identity/dotnet/bicep/README.md +++ b/samples/web-app-managed-identity/dotnet/bicep/README.md @@ -66,15 +66,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/dotnet/scripts/README.md b/samples/web-app-managed-identity/dotnet/scripts/README.md index 5c2e69ee..e9c12ce8 100644 --- a/samples/web-app-managed-identity/dotnet/scripts/README.md +++ b/samples/web-app-managed-identity/dotnet/scripts/README.md @@ -82,15 +82,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/dotnet/terraform/README.md b/samples/web-app-managed-identity/dotnet/terraform/README.md index 74a5c620..d6471f84 100644 --- a/samples/web-app-managed-identity/dotnet/terraform/README.md +++ b/samples/web-app-managed-identity/dotnet/terraform/README.md @@ -80,15 +80,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/python/README.md b/samples/web-app-managed-identity/python/README.md index 970f8c22..e2315d7e 100644 --- a/samples/web-app-managed-identity/python/README.md +++ b/samples/web-app-managed-identity/python/README.md @@ -62,8 +62,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/python/bicep/README.md b/samples/web-app-managed-identity/python/bicep/README.md index 9ba83a09..5cabb05a 100644 --- a/samples/web-app-managed-identity/python/bicep/README.md +++ b/samples/web-app-managed-identity/python/bicep/README.md @@ -66,15 +66,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/python/scripts/README.md b/samples/web-app-managed-identity/python/scripts/README.md index fe2aab99..e32c3eeb 100644 --- a/samples/web-app-managed-identity/python/scripts/README.md +++ b/samples/web-app-managed-identity/python/scripts/README.md @@ -82,15 +82,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-managed-identity/python/terraform/README.md b/samples/web-app-managed-identity/python/terraform/README.md index 8fd5cd5c..e0e3146f 100644 --- a/samples/web-app-managed-identity/python/terraform/README.md +++ b/samples/web-app-managed-identity/python/terraform/README.md @@ -80,15 +80,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-mysql-flexible-server/dotnet/README.md b/samples/web-app-mysql-flexible-server/dotnet/README.md index 97f1e5a5..afba84bb 100644 --- a/samples/web-app-mysql-flexible-server/dotnet/README.md +++ b/samples/web-app-mysql-flexible-server/dotnet/README.md @@ -44,8 +44,7 @@ Set up the Azure emulator using the LocalStack for Azure Docker image. Before st docker pull localstack/localstack-azure export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-mysql-flexible-server/python/README.md b/samples/web-app-mysql-flexible-server/python/README.md index 4ccb3aca..bed5ca07 100644 --- a/samples/web-app-mysql-flexible-server/python/README.md +++ b/samples/web-app-mysql-flexible-server/python/README.md @@ -44,8 +44,7 @@ Set up the Azure emulator using the LocalStack for Azure Docker image. Before st docker pull localstack/localstack-azure export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-postgresql-flexible-server/dotnet/README.md b/samples/web-app-postgresql-flexible-server/dotnet/README.md index 03755908..7b5a5eee 100644 --- a/samples/web-app-postgresql-flexible-server/dotnet/README.md +++ b/samples/web-app-postgresql-flexible-server/dotnet/README.md @@ -44,8 +44,7 @@ Set up the Azure emulator using the LocalStack for Azure Docker image. Before st docker pull localstack/localstack-azure export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-postgresql-flexible-server/python/README.md b/samples/web-app-postgresql-flexible-server/python/README.md index d842cafe..461e4ea4 100644 --- a/samples/web-app-postgresql-flexible-server/python/README.md +++ b/samples/web-app-postgresql-flexible-server/python/README.md @@ -44,8 +44,7 @@ Set up the Azure emulator using the LocalStack for Azure Docker image. Before st docker pull localstack/localstack-azure export LOCALSTACK_AUTH_TOKEN= -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/dotnet/README.md b/samples/web-app-sql-database/dotnet/README.md index 419d2f81..c4e6a944 100644 --- a/samples/web-app-sql-database/dotnet/README.md +++ b/samples/web-app-sql-database/dotnet/README.md @@ -70,8 +70,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/dotnet/bicep/README.md b/samples/web-app-sql-database/dotnet/bicep/README.md index 4e95e22a..a0704914 100644 --- a/samples/web-app-sql-database/dotnet/bicep/README.md +++ b/samples/web-app-sql-database/dotnet/bicep/README.md @@ -55,15 +55,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/dotnet/scripts/README.md b/samples/web-app-sql-database/dotnet/scripts/README.md index bd0bad54..9084f60f 100644 --- a/samples/web-app-sql-database/dotnet/scripts/README.md +++ b/samples/web-app-sql-database/dotnet/scripts/README.md @@ -53,15 +53,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/dotnet/terraform/README.md b/samples/web-app-sql-database/dotnet/terraform/README.md index 4a776a09..da1c1689 100644 --- a/samples/web-app-sql-database/dotnet/terraform/README.md +++ b/samples/web-app-sql-database/dotnet/terraform/README.md @@ -77,15 +77,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/python/README.md b/samples/web-app-sql-database/python/README.md index a57c52f7..9e3b4d91 100644 --- a/samples/web-app-sql-database/python/README.md +++ b/samples/web-app-sql-database/python/README.md @@ -70,8 +70,7 @@ Start the LocalStack Azure emulator by running: export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/python/bicep/README.md b/samples/web-app-sql-database/python/bicep/README.md index bc634fc3..6d4ff429 100644 --- a/samples/web-app-sql-database/python/bicep/README.md +++ b/samples/web-app-sql-database/python/bicep/README.md @@ -55,15 +55,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/python/scripts/README.md b/samples/web-app-sql-database/python/scripts/README.md index 51f9b3bb..bdfb17f9 100644 --- a/samples/web-app-sql-database/python/scripts/README.md +++ b/samples/web-app-sql-database/python/scripts/README.md @@ -53,15 +53,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception diff --git a/samples/web-app-sql-database/python/terraform/README.md b/samples/web-app-sql-database/python/terraform/README.md index 8b7aed6f..d1ae1d45 100644 --- a/samples/web-app-sql-database/python/terraform/README.md +++ b/samples/web-app-sql-database/python/terraform/README.md @@ -77,15 +77,14 @@ You can set up the Azure emulator by utilizing LocalStack for Azure Docker image docker pull localstack/localstack-azure ``` -Start the LocalStack Azure emulator using the localstack CLI, execute the following command: +Start the LocalStack Azure emulator with the lstk CLI: ```bash # Set the authentication token export LOCALSTACK_AUTH_TOKEN= # Start the LocalStack Azure emulator -IMAGE_NAME=localstack/localstack-azure localstack start -d -localstack wait -t 60 +lstk start --type azure # Route all Azure CLI calls to the LocalStack Azure emulator lstk az start-interception