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

Condense API manifests #1278

Open
exalate-issue-sync bot opened this issue Jan 10, 2025 · 3 comments
Open

Condense API manifests #1278

exalate-issue-sync bot opened this issue Jan 10, 2025 · 3 comments
Assignees
Labels

Comments

@exalate-issue-sync
Copy link

exalate-issue-sync bot commented Jan 10, 2025

With the recent additions of the TEST space and the fecfile-api-migrator app, the API now has 12 different manifest files, with each of them independently defining their environment variables. If a dev needs to change the value of an environment variable, they’ll need to keep track of its value between every single manifest file. In order to reduce code duplication and minimize the risk of mistakes, the manifest files should be condensed down to just four different files, one for each space (DEV, STAGE, TEST, and PROD).

Manifest-level environment variables should be defined once for each space with the ability to override them for a specific app if necessary.

QA Notes

There will be no externally visible changes. Dev will include artifact for verification.

DEV Notes

Cloud Foundry has a developers guide which describes how to deploy a single app from a multi-app manifest [here|https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#multi-apps].

You’ll need to ensure that the {{name}} attribute of each app in each manifest exactly corresponds to the APP_NAME parameter as supplied to the {{cf push}} commands in our {{tasks.py}} deploy script (See the cf push documentation [here|https://cli.cloudfoundry.org/en-US/v7/push.html]).

Cloud Foundry also describes a few different strategies for reducing duplication in manifests in the developers guide [here|https://docs.cloudfoundry.org/devguide/deploy-apps/manifest-attributes.html].

Specifically a YAML anchor for the environment variables would probably be a good idea

Design

null

See full ticket and images here: FECFILE-1945

Pull Request: #1311

Copy link
Author

Todd Lees commented: applications deployed as expected [https://app.circleci.com/pipelines/github/fecgov/fecfile-web-api/4975/workflows/4516762c-4cc9-41f0-986f-3d0cb2f0227e/jobs/13873|https://app.circleci.com/pipelines/github/fecgov/fecfile-web-api/4975/workflows/4516762c-4cc9-41f0-986f-3d0cb2f0227e/jobs/13873]

Copy link
Author

Todd Lees commented: passes cr moving to qa

Copy link
Author

Shelly Wise commented: QA review verified applications deployed as expected per DEV.

!image-20250203-222057.png|width=1518,height=747,alt="image-20250203-222057.png"!

QA Review Completed. Moved to Stage Ready.

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

No branches or pull requests

2 participants