Skip to content
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

Docker lastpass #4528

Merged
merged 25 commits into from
May 18, 2023
Merged

Docker lastpass #4528

merged 25 commits into from
May 18, 2023

Conversation

amenasse
Copy link
Contributor

@amenasse amenasse commented May 4, 2023

A Dockerfile for downloading environment config from LastPass and writing to a directory.

Attempting multiple logins to LastPass from the same IP in succession often results in LastPass blocking the IP for some time. To avoid getting blocked, a "non essential" container can be run in the ECS Task to fetch configuration from LastPass prior to the application containers starting. The configuration is written to a Docker volume which can be mounted into each application container.

The container uses a script slightly modified from scripts/bash/downloadEnvironmentVariables.sh

The following changes have been made to the original script:

  • By not being in the ../../scripts/bash directory, modifications to this script don't invalidate the Docker cache prior to the application packages build. This was done to speed up development of the script.

  • Containers running in the ECS task will read env files from a common volume mount. To support this a destination directory needs to be provided as the first argument.

  • The fallback to 'dev' environments has been removed, if the specified deployment name is missing from the LastPass vault the script will error.

amenasse added 23 commits May 4, 2023 09:43
Seems to be the blessed yarn way now.
Dockerfile is no longer specific to a particular service
Avoids invalidating layer cache and reduces image bloat. Approach
courtesy of @passcod.
Fetching env from LastPass to be handled by a separate container.
Remove the devops package  from .dockerignore. Scripts from this package are
required by CodeShip services containers.

This means the devops package is included in the image, which is
a little redundant but most likely harmless.

Move the Dockerfile out of devops so changes to the Dockerfile don't
invalidate the layer cache unnecessarily.
@amenasse amenasse requested review from passcod, IgorNadj and rohan-bes May 4, 2023 00:39
@amenasse amenasse marked this pull request as ready for review May 4, 2023 00:39
Co-authored-by: Félix Saparelli <felix@passcod.name>
@amenasse amenasse merged commit 4f0e63d into dev May 18, 2023
@amenasse amenasse deleted the docker-lastpass branch May 18, 2023 01:09
@amenasse amenasse mentioned this pull request May 18, 2023
@IgorNadj IgorNadj mentioned this pull request Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants