Skip to main content

The obscene docker-compose deploy with ansible cli

Project description

Deploying a docker-compose.yml

Provide ssh configuration and target dir as first argument, then the path to a docker-compose.yml file:

ansible-compose user@host:22/absolute/target/path ./docker-compose-example.yml

Or, deploy from a url, just like kubectl apply would let you:

ansible-compose user@host:22/absolute/target/path https://raw.git.../docker-compose.yml

Automatic creation of volume dirs

It will try to automatically create the volume bind dirs for you. To set the uid and/or guid, set them as env vars, either in the compose.yml:

environment:
  uid: 1001
  gid: 100

Or on the command line

Transforms for docker-compose.yml on the CLI

You can also apply transforms to the docker-compose.yml on the command line with env vars: servicename_environment_something=foo will overwrite the something env var of the servicename service with the foo value, whereas setting drop_servicename_environment_something=1 will drop the value at all.

This kind of filter will also work on service options ie. servicename_image=foo or drop_servicename_image=1 would respectively override and drop the image key of the servicename service. It also works on services themselves, and any other key at the first level of the compose document.

Note that any other argument will be passed to ansible-playbook.

Running commands on the compose of a target

Provide ssh configuration and target dir as first argument, then the docker-compose command:

ansible-compose user@host:22/absolute/target/path stop
ansible-compose user@host:22/absolute/target/path start
ansible-compose user@host:22/absolute/target/path logs
ansible-compose user@host:22/absolute/target/path help

Installation

pip install --user ansible-container
export PATH="$HOME/.local/bin:$PATH"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

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

ansible-compose-0.1.3.post2.tar.gz (3.2 kB view details)

Uploaded Source

File details

Details for the file ansible-compose-0.1.3.post2.tar.gz.

File metadata

  • Download URL: ansible-compose-0.1.3.post2.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.2

File hashes

Hashes for ansible-compose-0.1.3.post2.tar.gz
Algorithm Hash digest
SHA256 35a5d9fd780222db2f6faa2ba5e2801c5620b6a53e42f466e0c44da143e7ca69
MD5 e27f98468fbf8015f0a28afffa9ab756
BLAKE2b-256 f90a1cb0a486f3af31b546e1211040a2aa8ce024deb9837861f5fdc41e8cb75e

See more details on using hashes here.

Supported by

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