A converter for various docker cluster formats
Project description
container-transform
container-transform is a small utility to transform various docker container formats to one another.
Currently, container-transform can parse and convert:
ECS task definitions
Docker-compose configuration files
Marathon Application Definitions or Groups of Applications
Chronos Task Definitions
and it can output to:
Systemd unit files
Quickstart
$ cat docker-compose.yml | container-transform -v { "family": "python-app", "volumes": [ { "name": "host_logs", "host": { "sourcePath": "/var/log/myapp" } } ], "containerDefinitions": [ { "memory": 1024, "image": "postgres:9.3", "name": "db", "essential": true }, { "memory": 128, "image": "redis:latest", "name": "redis", "essential": true }, { "name": "web", "memory": 64, "command": [ "uwsgi", "--json", "uwsgi.json" ], "mountPoints": [ { "sourceVolume": "host_logs", "containerPath": "/var/log/uwsgi/" } ], "environment": [ { "name": "AWS_ACCESS_KEY_ID", "value": "AAAAAAAAAAAAAAAAAAAA" }, { "name": "AWS_SECRET_ACCESS_KEY", "value": "1111111111111111111111111111111111111111" } ], "essential": true } ] } Container web is missing required parameter "image". Container web is missing required parameter "cpu".
Quick Help
Usage: container-transform [OPTIONS] [INPUT_FILE] container-transform is a small utility to transform various docker container formats to one another. Default input type is compose, default output type is ECS Default is to read from STDIN if no INPUT_FILE is provided All options may be set by environment variables with the prefix "CT_" followed by the full argument name. Options: -i, --input-type [ecs|compose|marathon|chronos] -o, --output-type [ecs|compose|systemd|marathon|chronos] -v, --verbose / --no-verbose Expand/minify json output -q, --quiet Silence error messages --version Show the version and exit. -h, --help Show this message and exit.
Docker Image
To get the docker image, run:
docker pull micahhausler/container-transform:latest
To run the docker image:
docker run --rm -v $(pwd):/data/ micahhausler/container-transform docker-compose.yml # or cat docker-compose.yml | docker run --rm -i micahhausler/container-transform
Installation
To install the latest release (Python 3 only), type:
pip install container-transform
To install the latest code directly from source, type:
pip install git+git://github.com/micahhausler/container-transform.git
Documentation
Full documentation is available at http://container-transform.readthedocs.org
License
MIT License (see LICENSE)
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
Hashes for container-transform-1.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2c2afb16d77ff4cb6a680f2c4975d4ec7b71bd0efe26063947f4c26f79bf2a9 |
|
MD5 | 51c2ab20f2df3c8508d7786e06825d2a |
|
BLAKE2b-256 | aad000ca35d00ca04fd35f853563be4d1b79da1e193d7250ce8bf7be21214cf1 |
Hashes for container_transform-1.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a81547f16c7da958d941c45b556e2f3a1268effc57ecfb95d8dc5b07bd5271e2 |
|
MD5 | 550e699eda656da04d9a281e42a570f7 |
|
BLAKE2b-256 | 2a27e9f101b7dd1c46d969a810058049a1457e2e7c48e7d6a1c6bef2a5aa474a |