-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Add localstack and cf-mock for local development #4349
Open
drewbo
wants to merge
11
commits into
main
Choose a base branch
from
chore-localstack
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
drewbo
force-pushed
the
chore-localstack
branch
from
December 22, 2023 20:32
6fc153e
to
1ec8b92
Compare
Marking this as ready for WIP review to test it out and comment on the known issues |
apburnes
force-pushed
the
chore-localstack
branch
from
February 27, 2024 16:03
7aae066
to
b2d7fae
Compare
Noting the latest plans:
(captured in linked epic below) |
drewbo
force-pushed
the
chore-localstack
branch
from
March 21, 2024 22:23
b2d7fae
to
bc31b1f
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
High-level PR intent
I'd like this PR to close #4326 by allowing all (or most) of the application functionality to be run locally in some capacity. There are some functions that are likely too difficult to replicate locally noted below.
Notes on Github
If AWS and CloudFoundry are mocked, the only "real" service that this will connect to locally is Github. I see two potential options on how to handle the Github connection:
Moctokit
) but I didn't find anything immediately that would satisfy our need for a standalone serverFunctionality Replication List (WIP)
Add site*Site build*Remove site*Provision/delete domainInvite user*Require Github
Known Issues to write more about or solve
S3Client
needs to be initialized withforcePathStyle: true
. This is currently conditionally set viaNODE_ENV
but will break development because both the local application and the development environment useNODE_ENV=development
. More info: https://docs.localstack.cloud/user-guide/integrations/sdks/javascript/localstack-setup
service reads data from the local database to create the necessary buckets, development objects, etc. This generally works well with one exception: to create archived build logs, it actually deletes the corresponding items from the database, so on a newdocker compose up
, those items won't appear again without re-runningdocker compose run --rm app yarn create-dev-data
localstack-setup
service requires bothlocalstack
anddb
for thewait-for-it.sh
can only easily wait for one port to be available./etc/hosts
change to resolvelocalstack
host in browser. Add documentationChanges proposed in this pull request:
security considerations
None, all services are running locally and don't expose external ports