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

Create shared environment file for ECS tasks #1945

Open
5 tasks
MackHalliday opened this issue Aug 19, 2024 · 3 comments
Open
5 tasks

Create shared environment file for ECS tasks #1945

MackHalliday opened this issue Aug 19, 2024 · 3 comments

Comments

@MackHalliday
Copy link

MackHalliday commented Aug 19, 2024

User Story - Business Need

  • Ticket is understood, and QA has been contacted (if the ticket has a QA label).

While working on #1711, we determined maintaining the environment in the task definition files would be easier if there was a share environment file per environment. The share environment file should be created in the same folder as the other json task files. The shared environment file would be shared among the api, celery, celery-beats, db-downgrade and db-upgrade task definition files.

Developer will have to determine all the unique environment per environment (dev, perf, staging, production) - and move them into a shared file.

ECS will need these integrated into the existing task definitions using a file with a .env extension, using the environmentFiles container defintion parmater

This user story depends on #895

User Story(ies)

As a VA Notify engineer,
I want create a shared environment file for the task definition json files
So that the task definitions json file is easier to maintain.

Additional Info and Resources

  • Spreadsheet reviewing all environment and secret keys in the task definition files. To see only the environment variables, filter by 'type'.
  • Environment variable files will be stored in environment-specific S3 buckets as specified in Add retries in RequestException #895
  • AWS docs on environmentFiles
  • AWS docs on how to prepare the file

Acceptance Criteria

  • Each environment has its own shared environment file
  • env file is pushed to new S3 bucket (created in 895)
  • ECS deploys without issue
  • Unit and regression testing run as expected

QA Considerations

  • Verify key functionality of application works as expected.

Potential Dependencies

@MackHalliday MackHalliday changed the title WIP Create share environment key file for task definitions Create share environment key file for task definitions Aug 22, 2024
@MackHalliday
Copy link
Author

CC: @k-macmillan @npmartin-oddball

Hey! I realized I did not submit this ticket to review
https://app.zenhub.com/workspaces/va-notify-620d21369d810a00146ed9c8/issues/gh/department-of-veterans-affairs/notification-api/1945
I apologize for the delay.

@kyle MacMillan
Re-reading Corey's ticket for infra and my own - I realized I'm unclear as to how exactly the new shared environment files will be uploaded to the new S3 buckets and then read from the S3 buckets.

Was hoping to talk to Corey to fill in the gaps but he has been out.

@k-macmillan k-macmillan changed the title Create share environment key file for task definitions Create shared environment file for ECS tasks Aug 28, 2024
@mjones-oddball
Copy link

@kbelikova-oddball
Copy link

Please add your planning poker estimate with Zenhub @coreycarvalho

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants