This repository was archived by the owner on Mar 23, 2026. It is now read-only.
Conversation
682d89c to
aab476f
Compare
9f9daab to
df388ef
Compare
alexrashed
reviewed
Oct 31, 2023
Member
alexrashed
left a comment
There was a problem hiding this comment.
Nice! Really cool implementation of the strict service loading. Awesome that it stays pretty simple and clean. I only had a few comments, most of them are nitpicks :)
alexrashed
reviewed
Nov 1, 2023
Member
alexrashed
left a comment
There was a problem hiding this comment.
Sorry about the confusion with my (mistaken) PR comment in the last review.
Besides the new change concerning the port mapping, the code is looking great! 🚀
1158008 to
4504510
Compare
alexrashed
approved these changes
Nov 2, 2023
This was referenced Nov 6, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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
Disclaimer: targeting
masterfor now to validate all tests, and we will set theSTRICT_SERVICE_LOADINGvariable to default toTruein the release branch afterwards. This variable won't be advertised and is used to decouple eager service loading from "strict" service loading, and might be removed after the release.When some services are problematic, or we want to use LocalStack for only one or more services, we should be able to use the
SERVICESvariable coupled withSTRICT_SERVICE_LOADING=1in order to be able to only enable the listed services.The
EAGER_SERVICE_LOADINGfunctionality is untouched for now, and is applied on top: meaning if you don't haveSTRICT_SERVICE_LOADINGset then you'll have all available services, and will only eager load the services inSERVICES.If
STRICT_SERVICE_LOADING=1is set, then the services inSERVICESwill be the only ones available. You can additionally eager load them by specifyingEAGER_SERVICE_LOADING =1.Example: you only want S3 and SQS loaded:
SERVICES=sqs,s3+STRICT_SERVICE_LOADING=1You want kinesis eager loaded at startup, but still lazy load other services:
SERVICES=kinesis+EAGER_SERVICE_LOADING =1You want to only use kinesis, dynamodb, s3 and sqs, but with eager loading:
SERVICES=kinesis,dynamodb,sqs,s3+STRICT_SERVICE_LOADING=1+EAGER_SERVICE_LOADING =1We should also do a new pass on the
API_DEPENDENCIESconstant to validate the inter-service dependencies, and be sure we will load the necessary services.\cc @steffyP
Changes
Change the logic for
get_enabled_apis, which is now linked toSTRICT_SERVICE_LOADING.Create new logic for eager loading, linked to the
get_preloaded_servicesmethod andEAGER_SERVICE_LOADING.Add a test to validate the new behaviour of disabling services.