- environment variables (.env) don't allow to have default values, lists etc
- extend is very limited - multi-value sets are merged, links don't inherited etc
- Dockerfile can have conditions for RUN, but not for other commands
- there is no repository for compose.yml files and collections
So there will be great to have tool which generates all needed files with use of some templating engine (if/for/while support inside docker-compose.yml, Dockerfile and other files as well)
use cases:
1. docker-compose-cauldron init {git url or name at repository}
- downloads source of template (into local subdir or somewhere under /home/.cache/
- creates docker-couldron.yml.example and docker-couldron.yml (project wide settings, i.e. will be stored in git) and .env.example (sample config for local environment (i.e. development/dev settings etc), stored in git but copied/edited to .env for local environment )
2. docker-compose-cauldron build
Builds docker-compose.yml and related "build" files for local environment (does not stored in git) based on settings from docker-couldron.yml and template
3. docker-compose-cauldron update
Updates source of template, as well docker-couldron.yml.example and .env.example , user should manually update docker-couldron.yml and .env files