Utility to render docker-compose files with different states
This is a wrapper on docker-compose, which extends compose file syntax to keep several configurations (states) of your services in one file, with similar to docker-compose file syntax using native YAML anchors and aliases.
How it works:
- Render in-memory docker-compose file for required state from states file.
- Call docker-compose app with rendered file (state) and apply required docker-compose command on it.
States file reference:
It’s a YAML file with two required sections: compose and states.
Section compose is regular docker-compose config excluding services section:
compose: version: '3.4' configs: my_config: file: ./my_config.txt my_other_config: external: true secrets: my_secret: file: ./my_secret.txt my_other_secret: external: true volumes: data: media:
Section states is a list of states with description of services section for each state:
states: live: services: backend: *backend_service database: *database_service webserver: *webserver_service
You can describe service in separate section or inside states section. Also, you can inherit early described service and override some parameters in place:
states: local: services: database: &database_local_service <<: *database_service ports: - "127.0.0.1:5432:5432"
The rest of the sections you can use for you own purposes. For example to configure logging for all services:
--- compose: ... config: logging: &logging_config driver: "json-file" options: max-size: 50m components: backend: &backend_service ... logging: *logging_config database: &database_service ... logging: *logging_config webserver: &webserver_service ... logging: *logging_config states: live: services: backend: *backend_service database: *database_service webserver: *webserver_service
tcompose [-h] [-f FILE] state [docker-compose parameters]
- state - state to render docker-compose file
- docker-compose parameters - any command and its parameters accepted by docker-compose except parameter for docker-compose file (-f, –file)
- -h, –help - to show help message
- -f FILE, –file FILE - path to states file, by default: states.yml
tcompose local_dev config tcompose live -f /path/to/my-custom-states.yml up -d tcompose qa -f /path/to/states.yml --project-name acme up
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size telega-compose-0.0.2.tar.gz (4.9 kB)||File type Source||Python version None||Upload date||Hashes View|