Support multiple processes/types
Problem to solve
Defining processes types other than web, or deploying multiple process types.
Target audience
-
Parker, Product Manager, https://design.gitlab.com/research/personas#persona-parker
-
Delaney, Development Team Lead, https://design.gitlab.com/research/personas#persona-delaney
-
Devon, DevOps Engineer, https://design.gitlab.com/research/personas#persona-devon
-
Sidney, Systems Administrator, https://design.gitlab.com/research/personas#persona-sidney
Further details
Not sure if this is within the scope of this project, but it would be a killer feature and seems like the next step. Every application I've worked on has at some point needed to add support for either a scheduler process or asynchronous worker, usually both.
Currently, when Auto DevOps detects a buildpack based application it builds an image, configures it to run /bin/herokuish procfile start web
and uploads it to the docker image repository.
Proposal
I believe the expected behaviour here should be for auto-devops to deploy as many different containers as their are process types, with the default process type being web
and able to be changed via environmental variables.
Some examples of settings
AUTO_DEVOPS_DEFAULT_PROCESS: web
AUTO_DEVOPS_PROCESSES: "web,worker,scheduler" // Would default to "web"
AUTO_DEVOPS_<PROCESS>_SCALE: 0 //Non default process type should default to scale=0
Support for custom Liveness and Readiness checks in the helm chart will also need to be added.
What does success look like, and how can we measure that?
Users of auto-devops should be able to deploy applications with worker process or processes other than web apps with custom Liveness and Readiness tests to check for app health.