Skip to main content

Declarative Configuration Management Tool for Docker Compose.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Kompozit

:construction_worker: This tool is currently in beta and still under development!

Declarative Configuration Management Tool for Docker Compose.

Like kustomize, but for Docker Compose.

Kompozit provides flexible, declarative overlays to manage complex Docker Compose configurations with support for:

But Why...? :thinking:

There are scenarios where you might need different Docker Compose configurations for the same application on different machines.

  • For example, I use slightly different configurations for the Traefik reverse proxy when managing my public WordPress site versus my home server. Instead of maintaining multiple, slightly different docker-compose.yml files for the same app, you can use kompozit to simplify and manage these variations efficiently.

Additionally, kompozit allows you to combine multiple docker-compose.yml files into a single stack.

  • For instance, you can keep a generic docker-compose.yml for PostgreSQL in a central location and customize it for different stacks in other locations as needed.

Installation :computer:

python -m pip install kompozit

Usage :gear:

git clone git@github.com:veerendra2/kompozit.git
cd kompozit
python -m pip install .

kompozit --help
usage: kompozit [-h] [-b BUILD_PATH] [-o OUTPUT_DIR] [-v]

Declarative Configuration Management Tool for Docker Compose.

options:
  -h, --help            show this help message and exit
  -b, --build BUILD_PATH
                        Path to a directory containing 'komposition.yaml'. (default: .)
  -o, --output-dir OUTPUT_DIR
                        Directory to save the generated Docker Compose files. (default: None)
  -v, --version         Show kompozit version

kompozit --build ./examples/overlay

# inside docker
docker pull kompozit:latest
docker run -it --rm -v ./examples:/examples kompozit:latest -b /examples/overlay

Local Development :wrench:

git clone git@github.com:veerendra2/kompozit.git
cd kompozit

python -m venv venv
source venv/bin/activate
pip install -e .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kompozit-0.1.0b0.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file kompozit-0.1.0b0.tar.gz.

File metadata

  • Download URL: kompozit-0.1.0b0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kompozit-0.1.0b0.tar.gz
Algorithm Hash digest
SHA256 b293536073e4f3e4643785d81718701a71ceda717b2dd77d417319a17bf140dc
MD5 1431a444bc5dd6b58bcb9a1e95de44a3
BLAKE2b-256 e4664e7581f4d98de74b689f64de2f8d3874ceae25e48415fed7769156a431c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page