Docker-compose package manager
Project description
Description
Still very much in alpha. But a package manager similar to that of helm but for docker-compose applications.
Handles sub-applications and values.yaml files with templates similar to that used for kubernetes.yaml files.
To start you need three files (see examples here: https://github.com/sam-technesci/composer/tree/main/examples):
app.yaml
template.yaml
values.yaml
The templating language used is Jinja2 and you substitute variables from your values.yaml(s) into the template.
Quick install
cd examples/basic_application && composer install
See the README.md at examples/basic_application/README.md
for a walk-through.
Defaults to using values.yaml in the same directory.
To view your template before installing it you can do composer template
or you can save a template with composer template > docker-compose.yaml
For more commands do: composer --help
Installation
Helper Script
curl -fsSL https://raw.githubusercontent.com/sam-technesci/composer/main/install.sh -o get-composer.sh && sudo /bin/bash get-composer.sh
Manual
Install python39 and pip3.
Then do:
pip3 install --upgrade docker-composition
.deb Creation
Install
sudo apt-get install python3-stdeb
Project setup
Using hatch as a tool to manage package: https://hatch.pypa.io/latest/intro/
hatch new composition
Publishing
Ensured the pyproject.toml
looked like this:
[build-system]
requires = [
"hatchling>=1.7.0",
]
build-backend = "hatchling.build"
[project]
name = "docker-composition"
description = "Docker-compose package manager"
readme = "README.md"
license = ""
authors = [
{ name = "sam", email = "sam@fake.com" },
]
dependencies = [
"humanize",
"petname",
"PyYAML",
"Jinja2",
"click"
]
dynamic = [
"version",
]
[project.scripts]
composer = "composition.composer:entrypoint"
[project.urls]
Homepage = "https://github.com/sam-technesci/composer"
[tool.hatch.version]
path = "composition/__init__.py"
[tool.hatch.build.targets.sdist]
include = [
"/composition",
]
Note: remember to update __version__.py
Then run:
sudo hatch build && sudo hatch publish
Generating requirements
pip3 install pip-tools
pip-compile requirements.in > requirements.txt
To install locally
pip3 install --upgrade docker-composition
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
Built Distribution
File details
Details for the file docker_composition-1.0.5.tar.gz
.
File metadata
- Download URL: docker_composition-1.0.5.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4107f805f2cad3e0bb54fa6753406054fdd0fd63531f0392a1ab479db081a61 |
|
MD5 | 7a55fc8173550a1ae23baeb45d3f4119 |
|
BLAKE2b-256 | 5a8f28beb699b1b3a4ee42685e6f99cc1f991f1aeb7144fce4bf7e633837eb54 |
File details
Details for the file docker_composition-1.0.5-py2.py3-none-any.whl
.
File metadata
- Download URL: docker_composition-1.0.5-py2.py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee424cd6b7e6d15066fcbcf7d2dcafc15d030d25cec432f688a464232f7c98e0 |
|
MD5 | 2f106a51a8a5ff776e29ed180d4e363e |
|
BLAKE2b-256 | ab387f8d112b7cddd93809fdc0d8d381f45f41f07dd38108766e4c6fad6eae48 |