From d5dcd6e106038b40cbe552f8b6a6d39d2b6b86da Mon Sep 17 00:00:00 2001 From: Stefanie Plieschnegger Date: Wed, 21 Jan 2026 16:08:12 +0100 Subject: [PATCH 1/4] add description to actions and replace reference to api-key with auth token --- .github/workflows/ci.yml | 3 ++- action.yml | 2 +- cloud-pods/action.yml | 1 + finish/action.yml | 1 + local/action.yml | 1 + prepare/action.yml | 1 + startup/action.yml | 5 +++-- tools/action.yml | 1 + 8 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b64931a..d34051b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,8 @@ jobs: "use-pro": "true", } env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + # intentially left `LOCALSTACK_API_KEY` as env here, to ensure the fallback still works for old version + LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} - name: Run Version Test Against LocalStack diff --git a/action.yml b/action.yml index f7ff4c3..e889eee 100644 --- a/action.yml +++ b/action.yml @@ -16,7 +16,7 @@ inputs: required: true default: 'true' use-pro: - description: 'Whether to use LocalStack Pro (requires a valid API key)' + description: 'Whether to use LocalStack Pro (requires a valid CI Auth Token)' required: false default: 'false' configuration: diff --git a/cloud-pods/action.yml b/cloud-pods/action.yml index 8058c1c..da73596 100644 --- a/cloud-pods/action.yml +++ b/cloud-pods/action.yml @@ -1,4 +1,5 @@ name: 'Save/Load a LocalStack Cloud Pod' +description: 'Save or load a LocalStack Cloud Pod' inputs: name: diff --git a/finish/action.yml b/finish/action.yml index a8e539c..ac3be0b 100644 --- a/finish/action.yml +++ b/finish/action.yml @@ -1,4 +1,5 @@ name: Finish CI Build +description: Finish CI Build inputs: github-token: diff --git a/local/action.yml b/local/action.yml index e28824d..754011a 100644 --- a/local/action.yml +++ b/local/action.yml @@ -1,4 +1,5 @@ name: 'Save/Load LocalStack state' +description: 'Save or load LocalStack state' inputs: name: diff --git a/prepare/action.yml b/prepare/action.yml index 0b48846..97b5cce 100644 --- a/prepare/action.yml +++ b/prepare/action.yml @@ -1,4 +1,5 @@ name: Start CI Build +description: Start CI Build inputs: github-token: diff --git a/startup/action.yml b/startup/action.yml index 6cc3a2a..3cc4361 100644 --- a/startup/action.yml +++ b/startup/action.yml @@ -1,4 +1,5 @@ name: 'Start up Localstack' +description: 'Starts up Localstack' inputs: image-tag: @@ -10,7 +11,7 @@ inputs: required: true default: 'true' use-pro: - description: 'Whether to use LocalStack Pro (requires a valid API key)' + description: 'Whether to use LocalStack Pro (requires a valid CI Auth Token)' required: false default: 'false' configuration: @@ -62,7 +63,7 @@ runs: run: | if [ "$USE_PRO" = true ]; then if [ "x$LOCALSTACK_AUTH_TOKEN" = "x" -o "x$LOCALSTACK_API_KEY" = "x" ]; then - echo "WARNING: LocalStack API key not detected, please verify your configuration..." + echo "WARNING: LocalStack Auth Token not detected, please verify your configuration..." fi CONFIGURATION="DNS_ADDRESS=127.0.0.1 ${CONFIGURATION}" IMAGE_NAME="${IMAGE_NAME:-localstack/localstack-pro:${IMAGE_TAG}}" diff --git a/tools/action.yml b/tools/action.yml index ee90f84..b4b1c33 100644 --- a/tools/action.yml +++ b/tools/action.yml @@ -1,4 +1,5 @@ name: 'Install Localstack tools' +description: 'Installs `localstack` and optionally `awslocal` CLI' inputs: install-awslocal: From 2b2dd711e8f7047c07e3bba5e6aa143f64f0a6e9 Mon Sep 17 00:00:00 2001 From: Stefanie Plieschnegger Date: Wed, 21 Jan 2026 16:15:47 +0100 Subject: [PATCH 2/4] change referenced of LOCALSTACK_API_KEY to LOCALSTACK_AUTH_TOKEN in README --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 817a293..70e6a63 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A GitHub Action to setup [LocalStack](https://github.com/localstack/localstack) on your GitHub Actions runner workflow by: - Pulling a specific version of the LocalStack Docker Image into the GitHub Action runner. -- Configuring the [LocalStack CLI](https://docs.localstack.cloud/get-started/#localstack-cli) to launch the Docker container with an optional API token for pro usage. +- Configuring the [LocalStack CLI](https://docs.localstack.cloud/get-started/#localstack-cli) to launch the Docker container with an optional Auth Token for pro usage. - Installing [LocalStack AWS CLI](https://github.com/localstack/awscli-local), a thin wrapper around the `aws` command line interface for use with LocalStack to run integration tests over AWS services. - Export/import [LocalStack state](https://docs.localstack.cloud/user-guide/state-management/export-import-state/) as an artifact - Save/load [LocalStack Cloud Pods](https://docs.localstack.cloud/user-guide/state-management/cloud-pods/) @@ -23,9 +23,9 @@ A GitHub Action to setup [LocalStack](https://github.com/localstack/localstack) image-tag: 'latest' install-awslocal: 'true' env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} ``` -> **NOTE**: The `LOCALSTACK_API_KEY` environment variable is required to be set if `use-pro` is set to `true`. +> **NOTE**: The `LOCALSTACK_AUTH_TOKEN` environment variable is required to be set if `use-pro` is set to `true`. If the key is not found LocalStack by default falls back to the CE edition and displays a warning. ### Install only CLIs and startup later @@ -43,7 +43,7 @@ If the key is not found LocalStack by default falls back to the CE edition and d with: image-tag: 'latest' env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} ``` ### Save a state later on in the pipeline @@ -56,9 +56,9 @@ If the key is not found LocalStack by default falls back to the CE edition and d state-action: save state-name: my-cloud-pod env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} ``` -> **NOTE**: The `LOCALSTACK_API_KEY` environment variable is required to be set to save/load LocalStack's state either as a Cloud Pod or as a file artifact. +> **NOTE**: The `LOCALSTACK_AUTH_TOKEN` environment variable is required to be set to save/load LocalStack's state either as a Cloud Pod or as a file artifact. ### Load an already saved state ```yml @@ -70,11 +70,11 @@ If the key is not found LocalStack by default falls back to the CE edition and d state-action: load state-name: my-cloud-pod env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} ``` > **NOTE**: To load a **local state** from a different GitHub Actions workflow, one must set the `WORKFLOW_ID` environment variable. -> **NOTE**: The `LOCALSTACK_API_KEY` environment variable is required to be set to **save/load** LocalStack's state either as a Cloud Pod or as a file artifact. +> **NOTE**: The `LOCALSTACK_AUTH_TOKEN` environment variable is required to be set to **save/load** LocalStack's state either as a Cloud Pod or as a file artifact. ### Manage Application Previews (on an Ephemeral Instance) ```yml @@ -88,7 +88,7 @@ uses: LocalStack/setup-localstack@v0.2.3 # Optional script/command to run preview-cmd: deploy.sh env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} ... @@ -99,7 +99,7 @@ with: state-backend: ephemeral state-action: stop env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} ``` ## Inputs @@ -119,10 +119,10 @@ with: | `skip-ephemeral-stop` | Skip stopping LocalStack Ephemeral Instance | `false` | | `skip-startup` | Explicitly prevent LocalStack start up, only installs CLI(s). Recommended to manage state later on in the pipeline or start up an ephemeral instance. | `false` | | `skip-wait` | Skip waiting for LocalStack to start up | `false` | -| `state-action` | Valid values are `load`, `save`, `start`, `stop`, `` (empty, don't manage state). Values `start`/`stop` only usable with app previews. | `` | +| `state-action` | Valid values are `load`, `save`, `start`, `stop`, `''` (empty, don't manage state). Values `start`/`stop` only usable with app previews. | `''` | | `state-backend` | Either store the state of LocalStack locally, as a Cloud Pod or start an Ephemeral Instance. Valid values are `cloud-pods`, `ephemeral` or `local`. Use this option in unison with `state-action` to control behaviour. | `cloud-pods` | | `state-name` | Name of the state artifact (without extension) | `false` | -| `use-pro` | Whether to use the Pro version of LocalStack (requires API key to be configured) | `false` | +| `use-pro` | Whether to use the Pro version of LocalStack (requires Auth Token to be configured) | `false` | ## Example workflow ```yml @@ -147,7 +147,7 @@ jobs: state-action: load state-name: my-cloud-pod env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} - name: Run Tests against LocalStack run: | @@ -162,7 +162,7 @@ jobs: state-action: save state-name: my-ls-state-artifact env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} WORKFLOW_ID: ${{ env.MY_GOLDEN_LS_STATE }} ``` From 54bae55441d8da8646820de368e372299be24391 Mon Sep 17 00:00:00 2001 From: Stefanie Plieschnegger Date: Wed, 21 Jan 2026 16:21:09 +0100 Subject: [PATCH 3/4] changed year and ownership in the LICENSE file --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 8061eeb..dc9b6f9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Harsh Mishra +Copyright (c) 2022-2026 LocalStack Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 37570384a8ef137076aafcdfbfa83182a36f377b Mon Sep 17 00:00:00 2001 From: Stefanie Plieschnegger Date: Tue, 27 Jan 2026 11:14:02 +0100 Subject: [PATCH 4/4] replace secrets usage to use LOCALSTACK_AUTH_TOKEN --- .github/workflows/ci.yml | 20 ++++++++++---------- .github/workflows/ephemeral.yml | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d34051b..1bc8002 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: } env: # intentially left `LOCALSTACK_API_KEY` as env here, to ensure the fallback still works for old version - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} - name: Run Version Test Against LocalStack @@ -59,7 +59,7 @@ jobs: "use-pro": "true", } env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} - name: Generate random pod name @@ -81,14 +81,14 @@ jobs: "state-action": "save", } env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} - name: Verify Cloud Pod run: | localstack pod list | grep ${{ steps.pod_name.outputs.name }} env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} load-cloud-pod-test: @@ -113,7 +113,7 @@ jobs: "state-action": "load" } env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} - name: Verify loaded resources @@ -126,7 +126,7 @@ jobs: - name: Clean up remote pod run: localstack pod delete ${{ needs.cloud-pods-save-test.outputs.pod-name }} env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} - name: Verify successful cleanup of Cloud Pod @@ -138,7 +138,7 @@ jobs: fi echo "Pod successfully deleted." env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} local-state-save-test: @@ -160,7 +160,7 @@ jobs: "use-pro": "true", } env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} - name: Run AWS commands @@ -179,7 +179,7 @@ jobs: "state-backend": "local", } env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} local-state-load-test: @@ -205,7 +205,7 @@ jobs: "state-backend": "local", } env: - LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref_name }} - name: Run AWS Commands diff --git a/.github/workflows/ephemeral.yml b/.github/workflows/ephemeral.yml index 8bd19e6..1da24a3 100644 --- a/.github/workflows/ephemeral.yml +++ b/.github/workflows/ephemeral.yml @@ -26,7 +26,7 @@ jobs: "extension-auto-install": "localstack-extension-mailhog", } env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }} PREVIEW_CMD: |- awslocal s3 mb s3://test-bucket @@ -78,5 +78,5 @@ jobs: "state-action": "stop" } env: - LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_API_KEY }} + LOCALSTACK_API_KEY: ${{ secrets.LOCALSTACK_AUTH_TOKEN }} GH_ACTION_VERSION: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.ref_name }}