Features:
* specify what services are available
* for each service specify the deployment steps (e.g. script) for creating, starting, stopping, checking health, removing a service
* upon user request or some other trigger, schedule a service's deployment steps
* execute and monitor status of deployment steps
* should have a cli and/or REST API
* track deployment status in a database for easy persistence
* run periodic health checks
My preference is to have a Python component, perhaps a Django app, but I'm open to any other implementation that is easily docker deployable. I have already implemented a Django app because last time I checked there were no ready made tools available. Not sure if I should continue investing in it.
PS: I know there are some potentially applicable tools, but they are either too specific in use case (e.g. rancher, terraform), or too complex (e.g. puppet, chef).