localstack/pulumi-local is tracked by TopGit as an open-source project, with 90 stars on GitHub, written primarily in Python. Thin wrapper script to use Pulumi with LocalStack
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Note: For further options please consult the official documentation on available environment variables and local backend.
Create a new Pulumi project with stack name lsdev
mkdir myproj
pulumilocal new typescript -y -s lsdev --cwd myproj
Note: --cwd switch is unnecessary if commands are being run in project directory.
Select and create the lsdev Pulumi stack
This is unnecessary if you just did the new typescript command above as it will already be selected.
pulumilocal stack select -c lsdev --cwd myproj
Deploy the stack to LocalStack
pulumilocal up --cwd myproj
How it works
When running any pulumi deployment command like pulumilocal ["up", "destroy", "preview", "cancel"],
the wrapper script runs the pulumi config command to augment the pulumi config with LocalStack AWS configuration,
and then runs the original pulumi command.
Configurations
You can configure the following environment variables:
AWS_ENDPOINT_URL: hostname and port of the target LocalStack instance
LOCALSTACK_HOSTNAME: (Deprecated) Target host to use for connecting to LocalStack (default: localhost)
EDGE_PORT: (Deprecated) Target port to use for connecting to LocalStack (default: 4566)
PULUMI_CMD: Name of the executable Pulumi command on the system PATH (default: pulumi)
CONFIG_STRATEGY: the strategy to handle config merging. If stack config already exists pulumi-local will prompt for user input. Possible values are:
overwrite (default): pulumi-local will overwrite the stack's config and replaces it with values necessary to communicate with LocalStack. This strategy is equivalent of the legacy behaviour.
override: generates a temporary config file from the current stack config and overrides it's values, after run this file will be deleted. The name of the file is generated from the LS_STACK_NAME variable.
separation: creates a separate stack with the stack name set in the LS_STACK_NAME env variable.
[!NOTE]
The fall through to the default strategy with a misconfigured or missing CONFIG_STRATEGY environment variable will be deprecated by the next pulumi-local version.
LS_STACK_NAME: the stack name to use when the config file generated either with the override and separation strategy.
DRY_RUN: only usable with CONFIG_STRATEGY=override, as a result the created temporary stack config is not deleted.
NON_INTERACTIVE: starts a non-interactive session where all user prompts are automatically accepted
[!WARNING]
Using the DRY_RUN and NON_INTERACTIVE flags together changes the stack configuration without confirmation prompt. Use with caution!
Deploying to AWS
Use your preferred Pulumi backend. https://www.pulumi.com/docs/concepts/state/#deciding-on-a-state-backend
Change the pulumilocal command in the instructions above to pulumi.
Change Log
v1.3.1: Add support for import command.
v1.3.0: Add config merging strategies, dry-run and non-interactive runs.
v1.2.2: Fix project URL in package metadata
v1.2.1: Add support for AWS_ENDPOINT_URL env variable
v1.2.0: Added dynamic endpoint generation and tests
v1.1: Added README to long description and update twine publish.
v1.0: Using pulumi config set-all to set all the AWS provider configurating instead of modifying
the Stack file directly. Removed defaulting the stack name to localstack. Added argparse.
Removed pyyaml dependency. Removed python2 package classifiers.
v0.6: Replace deprecated s3ForcePathStyle with s3UsePathStyle in default config
v0.5: Remove deprecated mobileanalytics service config to fix invalid key error
v0.4: Point pulumilocal.bat to the correct script
v0.3: Add apigatewayv2 service endpoint
v0.2: Add init command and add aws:region key by default
v0.1: Initial release
License
This software library is released under the Apache License, Version 2.0 (see LICENSE).
How active is development on localstack/pulumi-local?
The most recent commit recorded on localstack/pulumi-local was 5 months ago, based on the GitHub push timestamp. The repository has 9 forks — one of the better signals of community interest.
How many stars does localstack/pulumi-local have?
localstack/pulumi-local has 90 GitHub stars — refresh the page for the live number, or check github.com/localstack/pulumi-local. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is localstack/pulumi-local open source?
Yes — localstack/pulumi-local ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/localstack/pulumi-local.
What is localstack/pulumi-local?
localstack/pulumi-local (localstack/pulumi-local) is a Python project on GitHub. From the project's own README: Thin wrapper script to use Pulumi with LocalStack
Where do I read more about localstack/pulumi-local?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/localstack/pulumi-local is the definitive source.
Read full README in the tab above.
Is pulumi-local worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of pulumi-local.