{ "info": { "author": "Fatih Sarhan", "author_email": "f9n@protonmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Docker Compose Expand\n\nExpand your docker-compose.yml file with this tool.\n\n# Install\n\n```bash\n$ pip3 install --user docker-compose-expand\n```\n\n# Usage\n\nYour services in `docker-compose.yml` file.\n\n```yaml\nversion: \"3\"\nservices:\n api:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n ports:\n - \"9001:9001\"\n\n products:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n ports:\n - \"9002:9001\"\n\n analysis:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n ports:\n - \"9003:9001\"\n\n monitoring:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n ports:\n - \"9004:9001\"\n```\n\nInstead of using the `docker-compose` tool, define the same services in the `docker-compose-expand.yml` file and use the `docker-compose-expand` tool that generates the `docker-compose.yml` file for your expandable services.\n\n- You can define variables in `loop` field or `vars` field.\n\n- In the `loop` field, you can refer to a variable which is in the `vars` field.\n\n### Loop Field\n\n```yaml\nversion: \"3\"\nservices:\n api:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n ports:\n - \"9001:9001\"\n\nexpand:\n vars:\n services:\n - name: \"{{ name }}\"\n service:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n volumes:\n - \"/tmp/{{ name }}/:/opt/{{name}}/\"\n ports:\n - \"{{ port }}:9001\"\n loop:\n - name: products\n port: 9002\n - name: analysis\n port: 9003\n - name: monitoring\n port: 9004\n```\n\n### Vars Field\n\n```yaml\n# Vars Field\nversion: \"3\"\nservices:\n api:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n ports:\n - \"9001:9001\"\n\nexpand:\n vars:\n supervisors:\n - name: products\n port: 9002\n - name: analysis\n port: 9003\n - name: monitoring\n port: 9004\n services:\n - name: \"{{ name }}\"\n service:\n image: ef9n/supervisord:0.1.0\n restart: on-failure\n volumes:\n - \"/tmp/{{ name }}/:/opt/{{name}}/\"\n ports:\n - \"{{ port }}:9001\"\n loop: \"{{ supervisors }}\"\n```\n\n# Examples\n\nLook up the [examples](https://github.com/f9n/docker-compose-expand/tree/master/examples) directory.\n\n# Credits\n\n- [Docker Compose](https://github.com/docker/compose)\n- [Ansible Yaml Standard](https://github.com/ansible/ansible)\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/f9n/docker-compose-expand", "keywords": "", "license": "GPL-3.0", "maintainer": "Fatih Sarhan", "maintainer_email": "f9n@protonmail.com", "name": "docker-compose-expand", "package_url": "https://pypi.org/project/docker-compose-expand/", "platform": "", "project_url": "https://pypi.org/project/docker-compose-expand/", "project_urls": { "Homepage": "https://github.com/f9n/docker-compose-expand", "Repository": "https://github.com/f9n/docker-compose-expand" }, "release_url": "https://pypi.org/project/docker-compose-expand/0.1.0/", "requires_dist": [ "oyaml (>=0.7.0,<0.8.0)", "jinja2 (>=2.10,<3.0)" ], "requires_python": ">=3.4,<4.0", "summary": "Expand your docker-compose.yml file", "version": "0.1.0" }, "last_serial": 4646469, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "c73df946a8bd384a8e811b2ca6c62835", "sha256": "ac7532d254bd0638391c287177465b3e97fd0b3d9c5848f50da2d42a466cc53f" }, "downloads": -1, "filename": "docker_compose_expand-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c73df946a8bd384a8e811b2ca6c62835", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 6774, "upload_time": "2018-12-30T15:53:06", "url": "https://files.pythonhosted.org/packages/e9/3b/08ea469946bbda374093458b4cd53f04ec6ba313346ffecdf74f933e1796/docker_compose_expand-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2fe23ab54e0059989cdd3f42a777bf7", "sha256": "3b03d700ef930c0876305b57b0286bd630639b98cba8eefb8447db908e0cf16a" }, "downloads": -1, "filename": "docker-compose-expand-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c2fe23ab54e0059989cdd3f42a777bf7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 3327, "upload_time": "2018-12-30T15:53:04", "url": "https://files.pythonhosted.org/packages/a5/49/bb9104007bdceeb18b08420058728a37d8955fc6dc80197aff9b28476694/docker-compose-expand-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c73df946a8bd384a8e811b2ca6c62835", "sha256": "ac7532d254bd0638391c287177465b3e97fd0b3d9c5848f50da2d42a466cc53f" }, "downloads": -1, "filename": "docker_compose_expand-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c73df946a8bd384a8e811b2ca6c62835", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 6774, "upload_time": "2018-12-30T15:53:06", "url": "https://files.pythonhosted.org/packages/e9/3b/08ea469946bbda374093458b4cd53f04ec6ba313346ffecdf74f933e1796/docker_compose_expand-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2fe23ab54e0059989cdd3f42a777bf7", "sha256": "3b03d700ef930c0876305b57b0286bd630639b98cba8eefb8447db908e0cf16a" }, "downloads": -1, "filename": "docker-compose-expand-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c2fe23ab54e0059989cdd3f42a777bf7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 3327, "upload_time": "2018-12-30T15:53:04", "url": "https://files.pythonhosted.org/packages/a5/49/bb9104007bdceeb18b08420058728a37d8955fc6dc80197aff9b28476694/docker-compose-expand-0.1.0.tar.gz" } ] }