Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
When using
python -m localstack.dev.run
, local code checkouts if present are mounted into the container. This may cause confusion if the local project checkout is old and incompatible with the version of LocalStack in the container.In particular, we rely heavily on our fork of
moto
which changes semi-frequently. This can cause semi-regular breakages which are difficult to debug.I think mounting non-core packages should be opt-in to reduce surprises, and should be straightforward and self-documenting to help discoverability.
Changes
-l/--local-packages
which can be used to specify which packages are mounted (if found)Testing
rolo
andmoto
in the same parent directory aslocalstack
is checked out in, making the following structure:master
, runpython -m localstack.dev.run
and note the shown configuration posted at the start of the command containsrolo
andmoto
, e.g. in the following example see thevolumes
section contains bothlocalstack/moto/moto
andlocalstack/rolo/rolo
python -m localstack.dev.run -l rolo
and note thatrolo
is mounted, butmoto
is not