Review app composition for Auto DevOps
Problem to solve
When using multiple services to generate an app, developers need an easy way to declare how to construct a review app.
Further details
Developers can override the Helm chart to use, and that Helm chart can be very complex, but there's currently only one Helm chart specifiable and it will be used for review apps, staging, and production.
Proposal
Some ideas:
- Use environment-specific variables to specify the helm chart for different environments. This already works for Premium+.
- Detect multiple directories for Helm charts that are embedded in the app. Maybe
chart-test
or something like that. - Detect
docker-compose-test.yml
and use that to generate a helm chart specifically for testing. - More broadly, detect
docker-compose-<env>.yml
andchart-<env>
so there can be different compositions for different environments. e.g. CI testing, review apps, staging, and production all use different configurations. Maybe using variables is better here since we already have environment-specific variables and inline charts (in the repo) are only supported for simpler cases. If you have multiple configurations, you have to use external repos and variables to point to them. Then again, environment-specific variables could point to directories in the repo, so maybe technically this would work anyway, at least for Helm charts. Maybe then we just need a variable to specify a docker-compose.yml (if/when we actually support Docker compose).
What does success look like, and how can we measure that?
(If no way to measure success, link to an issue that will implement a way to measure this)