Utility to render docker-compose files with different states
Project description
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
CLI usage:
tcompose [-h] [-f FILE] state [docker-compose parameters]
Positional arguments:
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)
Optional arguments:
-h, –help - to show help message
-f FILE, –file FILE - path to states file, by default: states.yml
Examples:
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file telega-compose-0.0.2.tar.gz.
File metadata
- Download URL: telega-compose-0.0.2.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb28884cf89a6f119df88a39bd9cfb93d970dc6849019b5d8df1f5d0b46c263a
|
|
| MD5 |
0e0dfcfe2538da6bb723eea42f0e9ece
|
|
| BLAKE2b-256 |
522d62f5a977232cd10bcf0cedf2c471eb72da4647d20479914828b01108a5fa
|