{ "info": { "author": "James Pic", "author_email": "jamespic@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development", "Topic :: System" ], "description": "ansible-compose: deploy docker-compose over ssh\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nDeploying a docker-compose.yml\n==============================\n\nFirst, configure the dsn variable to have the user/host and path to store the\ncompose files in. If not set, localhost in current working directory will be\nused::\n\n export dsn=user@host:22/absolute/target/path\n\nThen, run ansible-compose apply -f as you would with k8s::\n\n ansible-compose apply -f ./docker-compose-example.yml -f ./examples/nginx.yml\n\nOr, deploy from a url, just like kubectl apply would let you::\n\n ansible-compose apply -f https://raw.git.../docker-compose.yml\n\nRunning commands on the compose of a target\n===========================================\n\nProvide ssh configuration and target dir as first argument, then the\ndocker-compose command::\n\n export dsn=user@host:22/absolute/target/path\n ansible-compose stop\n ansible-compose start\n ansible-compose logs\n ansible-compose help\n\nTransforms for docker-compose.yml on the CLI\n============================================\n\nTransforms apply on the docker-compose.yml as if it was a template we are going\nto render using environment variables.\n\nSuppose that you start with such a docker-compose.yml:\n\n.. code-block:: yaml\n\n version: '3.4'\n services:\n web:\n build: .\n environment:\n base: here\n wrong: todrop\n\nFirst, all build lines will be dropped. You will have to\nspecify images with env vars ie.::\n\n web_image=abc # sets services[web][image]=abc\n\nIf you wanted to drop the environment line use the drop\nprefix::\n\n drop_web_environment= # dels services[web][environment]\n\nYou can also override deeper in the YAML tree::\n\n web_environment_SECRET_TOKEN=yoursecret\n\nEven for drop::\n\n drop_web_environment_VERSION=\n\nOr even drop a whole service::\n\n drop_web=\n\nYou can however require all variables to have a particular prefix, ie::\n\n dev_drop_mail= # to prevent the mail service on dev branches\n ansible_compose_prefix=dev # to enable only variables starting with dev_\n\nDon't forget ansible-compose will also forward extraneous arguments to the\nansible-playbook call beneath.\n\nAutomatic creation of volume dirs\n=================================\n\nIt will try to automatically create the volume bind dirs for you. To set the\nuid and/or guid, set them as env vars, either in the compose.yml::\n\n environment:\n uid: 1001\n gid: 100\n\nOr with an env var::\n\n web_environment_uid=1001\n\nInstallation\n============\n\nLocal::\n\n pip install --user ansible-compose\n export PATH=\"$HOME/.local/bin:$PATH\"\n echo 'export PATH=\"$HOME/.local/bin:$PATH\"' >> ~/.bashrc\n\nThe current configuration in CI for image yourlabs/ansible-compose is:\n\n- ANSIBLE_HOST_KEY_CHECKING=false\n- SSH_PRIVATE_KEY=our passwordless private key generated with ssh-keygen -t ed25519 and default options\n- SSH_INSECURE=true not checking any host key today !\n\nExample gitlab ci job\n=====================\n\n.. code-block:: yaml\n\n deploy:\n stage: deploy\n image: yourlabs/ansible-compose\n variables:\n - dsn=deploy@example.com/home/staging\n script:\n - ansible-compose apply -f ./docker-compose.yml", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://yourlabs.io/oss/ansible-compose", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "ansible-compose", "package_url": "https://pypi.org/project/ansible-compose/", "platform": "", "project_url": "https://pypi.org/project/ansible-compose/", "project_urls": { "Homepage": "https://yourlabs.io/oss/ansible-compose" }, "release_url": "https://pypi.org/project/ansible-compose/1.0.8.post5/", "requires_dist": null, "requires_python": "", "summary": "The obscene docker-compose deploy with ansible cli", "version": "1.0.8.post5" }, "last_serial": 4823070, "releases": { "0.1.0.post1": [ { "comment_text": "", "digests": { "md5": "73698e9b19d2aa02812a80c01b85e778", "sha256": "2a02bc70255a5370beb3e1ed19840d25d892b6e5fc46aae1bd4a28ff3f694c17" }, "downloads": -1, "filename": "ansible-compose-0.1.0.post1.tar.gz", "has_sig": false, "md5_digest": "73698e9b19d2aa02812a80c01b85e778", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1834, "upload_time": "2019-02-14T04:53:25", "url": "https://files.pythonhosted.org/packages/30/33/a2424742e1b5217a2b24019824c79b1ceef48ca31b1a56742702b1613c94/ansible-compose-0.1.0.post1.tar.gz" } ], "0.1.3.post2": [ { "comment_text": "", "digests": { "md5": "e27f98468fbf8015f0a28afffa9ab756", "sha256": "35a5d9fd780222db2f6faa2ba5e2801c5620b6a53e42f466e0c44da143e7ca69" }, "downloads": -1, "filename": "ansible-compose-0.1.3.post2.tar.gz", "has_sig": false, "md5_digest": "e27f98468fbf8015f0a28afffa9ab756", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3219, "upload_time": "2019-02-14T07:14:45", "url": "https://files.pythonhosted.org/packages/f9/0a/1cb0a486f3af31b546e1211040a2aa8ce024deb9837861f5fdc41e8cb75e/ansible-compose-0.1.3.post2.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c619433460995b7aca21f85839908f76", "sha256": "1859ec12f8a1432f80a2e7409aee056aa19434db49d16fac84d00a180ca832eb" }, "downloads": -1, "filename": "ansible-compose-0.1.4.tar.gz", "has_sig": false, "md5_digest": "c619433460995b7aca21f85839908f76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3212, "upload_time": "2019-02-14T07:15:40", "url": "https://files.pythonhosted.org/packages/27/d2/b87cad42ece6f29b16acf649afcd2b8ed6ba8cf94407b267a30ccb906f88/ansible-compose-0.1.4.tar.gz" } ], "0.1.4.post4": [ { "comment_text": "", "digests": { "md5": "501b0600365a917fd2c9d483d18013b9", "sha256": "3e47369a056bd1fc107031fc185063115b646d8b9472e382a19d34765abb34d4" }, "downloads": -1, "filename": "ansible-compose-0.1.4.post4.tar.gz", "has_sig": false, "md5_digest": "501b0600365a917fd2c9d483d18013b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4722, "upload_time": "2019-02-14T07:32:10", "url": "https://files.pythonhosted.org/packages/3f/e4/b75958e27e8623f268bf68bb1280181787d5c13417cec5b66abc049a290f/ansible-compose-0.1.4.post4.tar.gz" } ], "0.1.4.post7": [ { "comment_text": "", "digests": { "md5": "7cda1cd4eccb5c503200478ce26ac006", "sha256": "311b958caeeba3bec19aef8ee3dcf0ae8baaf577c4acf34688c472ce3ad16e84" }, "downloads": -1, "filename": "ansible-compose-0.1.4.post7.tar.gz", "has_sig": false, "md5_digest": "7cda1cd4eccb5c503200478ce26ac006", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5110, "upload_time": "2019-02-14T07:37:37", "url": "https://files.pythonhosted.org/packages/62/d1/95a418da7735faeaa5d18169b3956473529096702cdc1698855e4234098b/ansible-compose-0.1.4.post7.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "3ff82ea17da81380c57177624bb289d7", "sha256": "63405cc0df7148a921f7baaf50a5427dc4f70d7197a24012dd772d3c87f51b68" }, "downloads": -1, "filename": "ansible-compose-1.0.6.tar.gz", "has_sig": false, "md5_digest": "3ff82ea17da81380c57177624bb289d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5320, "upload_time": "2019-02-14T08:25:26", "url": "https://files.pythonhosted.org/packages/1f/59/ba595ebd34e3bbd150bbce799c008e34faf087abf8bdb9d41ddc6ebadd41/ansible-compose-1.0.6.tar.gz" } ], "1.0.6.post15": [ { "comment_text": "", "digests": { "md5": "8344cd073bfeace1756016c4119cd9e8", "sha256": "0bf8e19b859ee51300e1de54daff90dd41247b1776c9b5055b2903118d62e3df" }, "downloads": -1, "filename": "ansible-compose-1.0.6.post15.tar.gz", "has_sig": false, "md5_digest": "8344cd073bfeace1756016c4119cd9e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7462, "upload_time": "2019-02-14T14:39:41", "url": "https://files.pythonhosted.org/packages/f5/a4/f6591171e71dc1bc937c199a4ae3d47eb03db77744c56a0d55866257e357/ansible-compose-1.0.6.post15.tar.gz" } ], "1.0.6.post16": [ { "comment_text": "", "digests": { "md5": "7a2f35be3d957ede2dd5090b5fcee6a2", "sha256": "43125f625efae0636e57bd78e61b9b5f7679800fd495eef48e558cb39cdd2b3b" }, "downloads": -1, "filename": "ansible-compose-1.0.6.post16.tar.gz", "has_sig": false, "md5_digest": "7a2f35be3d957ede2dd5090b5fcee6a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7553, "upload_time": "2019-02-14T14:43:35", "url": "https://files.pythonhosted.org/packages/e2/6b/d4d538eb861ea0399095c3e4692f009a59078e3738d031e5d6288158f842/ansible-compose-1.0.6.post16.tar.gz" } ], "1.0.7.post1": [ { "comment_text": "", "digests": { "md5": "6a57b47b72713ab957014a28260dc38a", "sha256": "444f9dbd129ec35f0e4edb26c7d443477ba00a58f450383aae3a693757c855f8" }, "downloads": -1, "filename": "ansible-compose-1.0.7.post1.tar.gz", "has_sig": false, "md5_digest": "6a57b47b72713ab957014a28260dc38a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7556, "upload_time": "2019-02-14T14:48:19", "url": "https://files.pythonhosted.org/packages/9e/33/089e139d43c8dd77a0c0e44b0809eb64f930e4d0f5b0ac683f4ee9601a18/ansible-compose-1.0.7.post1.tar.gz" } ], "1.0.7.post11": [ { "comment_text": "", "digests": { "md5": "85e0a61986415d5b3ca21972299bd84f", "sha256": "67697a826d4ba92b0d589c5e6521ef7285afc035651dbdda0e3fb55b3f2c1eb1" }, "downloads": -1, "filename": "ansible-compose-1.0.7.post11.tar.gz", "has_sig": false, "md5_digest": "85e0a61986415d5b3ca21972299bd84f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7577, "upload_time": "2019-02-14T15:40:15", "url": "https://files.pythonhosted.org/packages/90/32/fbb32266cd40692de24e567a56d85988dafe8bf6342edc4c204d811723ad/ansible-compose-1.0.7.post11.tar.gz" } ], "1.0.7.post13": [ { "comment_text": "", "digests": { "md5": "9c756ced2aadddf3cef339ba0c822b76", "sha256": "c27a974ff2241ca5933ed5153ad4810d211c503b53dee5d03ed00031af45dc62" }, "downloads": -1, "filename": "ansible-compose-1.0.7.post13.tar.gz", "has_sig": false, "md5_digest": "9c756ced2aadddf3cef339ba0c822b76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7575, "upload_time": "2019-02-14T15:46:54", "url": "https://files.pythonhosted.org/packages/4b/91/50931df931ee43dbe6aa1244505461bac592be03eaa1180c35d8d548aa69/ansible-compose-1.0.7.post13.tar.gz" } ], "1.0.7.post14": [ { "comment_text": "", "digests": { "md5": "ca3b92785203b887aa79646f148a50b6", "sha256": "2f8a11d62511e748b8b0580b7df8838e0875f826261671c886c124fa23a54698" }, "downloads": -1, "filename": "ansible-compose-1.0.7.post14.tar.gz", "has_sig": false, "md5_digest": "ca3b92785203b887aa79646f148a50b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7627, "upload_time": "2019-02-14T15:51:33", "url": "https://files.pythonhosted.org/packages/06/b7/a8b313d8f42a121698a6d0f442bde98590199deb488bdbfdb7160f71729c/ansible-compose-1.0.7.post14.tar.gz" } ], "1.0.7.post16": [ { "comment_text": "", "digests": { "md5": "c1590f317fcbf794eb6c51d39529e9d9", "sha256": "b5b9f3193b4c6752d4ce5a063f920188003b94517deae980ad9d5a5b150fcc2e" }, "downloads": -1, "filename": "ansible-compose-1.0.7.post16.tar.gz", "has_sig": false, "md5_digest": "c1590f317fcbf794eb6c51d39529e9d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7630, "upload_time": "2019-02-14T15:58:23", "url": "https://files.pythonhosted.org/packages/0a/f8/4919de75728c61e08d81165834a92cc902149bf8fc56340603935ac7363e/ansible-compose-1.0.7.post16.tar.gz" } ], "1.0.7.post9": [ { "comment_text": "", "digests": { "md5": "181a854175d9ae417d48512640f47167", "sha256": "c2288ff79ca3528d85c69a3303192be803be677091c72bf6e59f6335c028e22e" }, "downloads": -1, "filename": "ansible-compose-1.0.7.post9.tar.gz", "has_sig": false, "md5_digest": "181a854175d9ae417d48512640f47167", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7600, "upload_time": "2019-02-14T15:41:33", "url": "https://files.pythonhosted.org/packages/fd/7c/c2debd3caae6a12daf74fb6422d7bc6e2cdde3a7bdf5a7fef9453c2d7cef/ansible-compose-1.0.7.post9.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "ba78ab4cbc87e4e73e30539432356cc1", "sha256": "3a1c02f7e307f7064b1731d3a6c053d307595d35a40d80bdc8aaf9f6a233214f" }, "downloads": -1, "filename": "ansible-compose-1.0.8.tar.gz", "has_sig": false, "md5_digest": "ba78ab4cbc87e4e73e30539432356cc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7619, "upload_time": "2019-02-14T16:01:25", "url": "https://files.pythonhosted.org/packages/20/cc/9ba3463a479263789048d546b91a375587b8f829c00a998994029895af5e/ansible-compose-1.0.8.tar.gz" } ], "1.0.8.post5": [ { "comment_text": "", "digests": { "md5": "ee1a3042e8ba0420a0e6246b46ad080b", "sha256": "9ed91770e5fb1086dd4f46a75973a30cd606ac282f951c3fda781d3b97cfc14d" }, "downloads": -1, "filename": "ansible-compose-1.0.8.post5.tar.gz", "has_sig": false, "md5_digest": "ee1a3042e8ba0420a0e6246b46ad080b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7699, "upload_time": "2019-02-15T03:51:47", "url": "https://files.pythonhosted.org/packages/cd/46/24cf26b5d24f7a3ad83d8048bfd43df2059dc8bb50aa12afc89f16e3e45b/ansible-compose-1.0.8.post5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee1a3042e8ba0420a0e6246b46ad080b", "sha256": "9ed91770e5fb1086dd4f46a75973a30cd606ac282f951c3fda781d3b97cfc14d" }, "downloads": -1, "filename": "ansible-compose-1.0.8.post5.tar.gz", "has_sig": false, "md5_digest": "ee1a3042e8ba0420a0e6246b46ad080b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7699, "upload_time": "2019-02-15T03:51:47", "url": "https://files.pythonhosted.org/packages/cd/46/24cf26b5d24f7a3ad83d8048bfd43df2059dc8bb50aa12afc89f16e3e45b/ansible-compose-1.0.8.post5.tar.gz" } ] }