{ "info": { "author": "Anthon van der Neut", "author_email": "a.van.der.neut@ruamel.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "docker-compose wrapper allowing for user data and env. var defaults\n===================================================================\n\n``dcw`` can be invoked with exactly the same commands as\ndocker-compose. If ``-f``/``--file`` is specified as the first option\nthe filename to be read will be taken from the argument. Otherwise\n``docker-compose.yml`` is assumed (currently the alternative default\nfiles are not tested/read) the YAML file.\n\nThe YAML file has to be in the version: \"2\" format.\n\n``dcw`` loads and processes the YAML file and invokes\n``docker-compose --file=-`` and the original commandline arguments,\nthen pipes in the processed data (as YAML).\n\nThe examples in usage refer to a container `smtp` that implements an SMTP\n\"filter\", accepting material on an incoming port, filtering spam and\nviruses, and sending mail on to a relay for delivery.\n\nversion\n=======\n\nTested version combinations:\n- `docker-compose 1.8.1`, `dcw 0.5.0`\n\nprocessing\n==========\n\nThe following subsections describe the processing that ``dcw`` does\nand the reasons for doing so.\n\nreading defaults\n----------------\n\nThe key value pairs under ``user-data -> env-defaults`` are taken\nto populate ``os.environ``, unless the key already exists. This means\nyou can set defaults for the environment variables used in the\ndocker-compose YAML file.\n\n\nFor `smtp` this allows you to have specific ports that will be used on\nthe deployment machine \"backed in\", while on the development machine\n(where there is the need for uninterrupted \"normal\" mail during\ntesting) some environment variables can be set, for port-numbers and\ndirectories, that override the values in the YAML file.\n\n\nstripping user-data\n-------------------\n\nAny existing top-level key \"user-data\" or starting with \"user-data-\" is\nremoved. This allows for storing additional data in the file\n(which would require yet another configuration file or extraction\nfrom YAML comments).\n\nincluding defaults in Dockerfile actions\n----------------------------------------\n\nAll of the environment variables specified in `env-defaults` are\nwritten to the file ``.dcw_env_vars.inc`` (if the YAML file is newer\nthan that file). They are written with the environment variable value\nif that is available, otherwise with the default as specified in the\nYAML file.\n\nThe file looks like::\n\n export DOCKER_SMTP_HOST=\"some_host_name\"\n export DOCKER_SMTP_DOMAIN=\"your_domain.com\"\n export DOCKER_SMTP_RELAY=\"192.168.0.101\"\n\nand this file can be mapped in the Dockerfile with::\n\n ADD .dcw_env_vars.inc /tmp/env_vars.inc\n\nand then used in some script in later (RUN) stanzas with::\n\n source /tmp/env_vars.inc\n\n\nExample\n=======\n\nThis is the first part of one of my ``docker-compose.yml`` files::\n\n version: '2'\n user-data:\n author: Anthon van der Neut \n description: postfix container\n env-defaults:\n NAME: submission\n PORT: 587 # external port, overridden during development\n DOCKER_HOST_IP: =1.8.0)", "ruamel.showoutput", "ruamel.std.pathlib", "ruamel.yaml (>=0.11)" ], "requires_python": "", "summary": "docker-compose wrapper allowing for user data and env. var defaults", "version": "0.5.0" }, "last_serial": 2922247, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "dfdd7812e3014800668f9bc293b94d50", "sha256": "fc38a847614d97601788dfb8d553333e6c92313282eb6bca84cfe568c4df195d" }, "downloads": -1, "filename": "ruamel.dcw-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dfdd7812e3014800668f9bc293b94d50", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7374, "upload_time": "2016-02-17T16:42:28", "url": "https://files.pythonhosted.org/packages/1d/0a/d76d6f616c961c6d0b86eca6d1450f612df5502e60df9b33d347186ee4ea/ruamel.dcw-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "487a215cbfeffc99b8d52f7936227c4f", "sha256": "b1e18c5a2574704f6036193da4e8170a29c4577c864d84b56e32a5369fa61318" }, "downloads": -1, "filename": "ruamel.dcw-0.1.0.tar.gz", "has_sig": false, "md5_digest": "487a215cbfeffc99b8d52f7936227c4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11814, "upload_time": "2016-02-17T16:42:34", "url": "https://files.pythonhosted.org/packages/84/ad/077b23ef7abb780fd85414af1f0796404de15a2ce51d027aeaffa1cdcd42/ruamel.dcw-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "caa05d64a9721319fb005f3fba7fb4b5", "sha256": "851cfc580016b995a1c50957516c30ab41330bad3c7b06a984e54e3072cc2fe6" }, "downloads": -1, "filename": "ruamel.dcw-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "caa05d64a9721319fb005f3fba7fb4b5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7471, "upload_time": "2016-02-17T17:37:07", "url": "https://files.pythonhosted.org/packages/62/89/abb40c0c0dbfe575f474de12a38d17755b84a3c96c6606d0dc87746ad572/ruamel.dcw-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c0ec4940ea6fc2afb9d5b109f59330b", "sha256": "b0470c3bba3c1c41e6c01370923d354a7fee1ddb1c1fac84cb0aa7d7ed0ed765" }, "downloads": -1, "filename": "ruamel.dcw-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7c0ec4940ea6fc2afb9d5b109f59330b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11879, "upload_time": "2016-02-17T17:37:16", "url": "https://files.pythonhosted.org/packages/6e/d2/aa4d69a180eb0232da85c3d0883680b0355e8e9356626d824c2b0bce59d5/ruamel.dcw-0.1.1.tar.gz" } ], "0.1.1.dev0": [], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a58b0781cba6e6719d7e4aeaee4ce7d0", "sha256": "8ed66b2eebdb64f1fe7b1d96377638088142be86bb5938d8cecdeaafc40d6282" }, "downloads": -1, "filename": "ruamel.dcw-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a58b0781cba6e6719d7e4aeaee4ce7d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7533, "upload_time": "2016-02-17T18:18:17", "url": "https://files.pythonhosted.org/packages/4c/45/01c58ecf2d1ce7ec7e853337d1747e875b7cd0b73f82cba20aef5d6e192d/ruamel.dcw-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0ebe28a9fdeb45dc200168534ef4d5e", "sha256": "006a60195228e140e8b1ada913e7fc987cde42477f2a1fd4979b221b426591b5" }, "downloads": -1, "filename": "ruamel.dcw-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e0ebe28a9fdeb45dc200168534ef4d5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11931, "upload_time": "2016-02-17T18:18:22", "url": "https://files.pythonhosted.org/packages/75/f7/f81b64398918a1171925ca09ee6e741601419f0f1a5c568de803459a3a55/ruamel.dcw-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "95ef5a240b860562afa8186eeed95de1", "sha256": "c2cf037bf9262d2d8f9bef76e776d45588d96ec0345263c2dc84eefadb7d7206" }, "downloads": -1, "filename": "ruamel.dcw-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95ef5a240b860562afa8186eeed95de1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8804, "upload_time": "2016-02-22T16:51:18", "url": "https://files.pythonhosted.org/packages/4f/e0/4974a97e448e12150f03ef699c380ea50ca6e165dd23eb38692b324831d8/ruamel.dcw-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d37d844f83e1da47df696f79a930e653", "sha256": "f48bd90e7332008480e43b995d3077554f71dd4db9ebb92eb8c6d3b95152042b" }, "downloads": -1, "filename": "ruamel.dcw-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d37d844f83e1da47df696f79a930e653", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13265, "upload_time": "2016-02-22T16:51:33", "url": "https://files.pythonhosted.org/packages/99/e4/4f17e490bc26c32fa807394993f6cecab0aca1a102a29f348acc438a991a/ruamel.dcw-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b2315ac1548223e893fc7c3236464858", "sha256": "ae2594722f35fe5b7dd46545ee2ce759088dd22ea3aca8146377218b11611b3d" }, "downloads": -1, "filename": "ruamel.dcw-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b2315ac1548223e893fc7c3236464858", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8924, "upload_time": "2016-02-24T11:44:17", "url": "https://files.pythonhosted.org/packages/17/f8/0628e60d484c56106cfd7e5bf7f44f26af25fc8c37a33526533de7a05a67/ruamel.dcw-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57faf3c2391686db3dc642dea7328f0e", "sha256": "0d589761c42ce84a91a0d5251d87cc269ce3b6483bffe9e66c758a1d29a92e90" }, "downloads": -1, "filename": "ruamel.dcw-0.2.1.tar.gz", "has_sig": false, "md5_digest": "57faf3c2391686db3dc642dea7328f0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13439, "upload_time": "2016-02-24T11:44:38", "url": "https://files.pythonhosted.org/packages/4a/34/9ae98cb3471f94369f954d44fa71451a39f7013a7280e585ecbc0a8a1af1/ruamel.dcw-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "3d8dd429003386e13a9daa717d922c2c", "sha256": "a33a9246f918bda1cb321d2f3533ce5bebb63d8fd508b991173cb6da45ae782b" }, "downloads": -1, "filename": "ruamel.dcw-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d8dd429003386e13a9daa717d922c2c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9217, "upload_time": "2016-03-06T15:54:21", "url": "https://files.pythonhosted.org/packages/02/a6/ab53eac3618b6ae21a8ee91f9bf004ba1ceabb561147f47229cfc50dea86/ruamel.dcw-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c35d43b2663aaf50a8be3fb15f85104d", "sha256": "e616fbc86c15565636ab8109940a8c437f9149dcba93fd71fe58cea14304cd7a" }, "downloads": -1, "filename": "ruamel.dcw-0.2.2.tar.gz", "has_sig": false, "md5_digest": "c35d43b2663aaf50a8be3fb15f85104d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13696, "upload_time": "2016-03-06T15:54:26", "url": "https://files.pythonhosted.org/packages/70/c8/875bc07026d05cd5e243ca120cd00cf3ef9aaeca95a88887f586e69c3355/ruamel.dcw-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "3ac6d6b0ca79ee430ea3956a1ec6c182", "sha256": "cb0e56d62e66f47e2a23bc8082143581f142fcc7b7cb802a40fc97227ffc4d74" }, "downloads": -1, "filename": "ruamel.dcw-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ac6d6b0ca79ee430ea3956a1ec6c182", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9486, "upload_time": "2016-03-12T12:37:32", "url": "https://files.pythonhosted.org/packages/52/61/247dbe6df71ca41f5a59c313c0e8bd436e33d1fd7467136f97da9106a8d6/ruamel.dcw-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "775e3ee1c9aec95ac812f835ddbc1dda", "sha256": "1184835ef5b6e668f65b5f062645ab41542ed1589f2c1fe8c2f311656017560d" }, "downloads": -1, "filename": "ruamel.dcw-0.2.3.tar.gz", "has_sig": false, "md5_digest": "775e3ee1c9aec95ac812f835ddbc1dda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13793, "upload_time": "2016-03-12T12:37:37", "url": "https://files.pythonhosted.org/packages/3a/d4/92352729a5ee5938d43cdfd4638320f7c8ed39f6e833a086a5134a11360d/ruamel.dcw-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "c9799e3c75383bced21c0aabc9dc1c35", "sha256": "212f7efe803e572cba286a3cd2feccdce6078880c457ad9218a0722b7ef4c971" }, "downloads": -1, "filename": "ruamel.dcw-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9799e3c75383bced21c0aabc9dc1c35", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9812, "upload_time": "2016-03-23T12:09:00", "url": "https://files.pythonhosted.org/packages/45/4a/70c1a8935557a2db99785e644d1ac5911deb0b2fefadcb72c71961c22096/ruamel.dcw-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71f0821fe2a194bd7af98d9ff11f1a3b", "sha256": "343900a90785351ba061f071f446c7243391cdbae73f6365555a8f9fde72654d" }, "downloads": -1, "filename": "ruamel.dcw-0.2.4.tar.gz", "has_sig": false, "md5_digest": "71f0821fe2a194bd7af98d9ff11f1a3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14104, "upload_time": "2016-03-23T12:17:49", "url": "https://files.pythonhosted.org/packages/41/cf/8aa5be80a234a8e04a9f5a0fe7db5f9b1e8b2e69a2442eb9dd258fe7b08b/ruamel.dcw-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "85ca383f7f697e7723cc1808da8e7148", "sha256": "92f89f2c149e74d0ce58ac45dfe76fc37672991e54637947b0d4c366c5c007d4" }, "downloads": -1, "filename": "ruamel.dcw-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85ca383f7f697e7723cc1808da8e7148", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10889, "upload_time": "2016-09-26T12:29:44", "url": "https://files.pythonhosted.org/packages/64/eb/ed14905520c4707456ff5a4ba40d1307a0a1e69c70e74ed7fd378a126f49/ruamel.dcw-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f547d9d386065349b502576416790d48", "sha256": "80dee7701cadbae06410d0ae95d4927687a6cfff0e20b3bc1c7af8648e934efe" }, "downloads": -1, "filename": "ruamel.dcw-0.2.5.tar.gz", "has_sig": false, "md5_digest": "f547d9d386065349b502576416790d48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15301, "upload_time": "2016-09-26T12:29:47", "url": "https://files.pythonhosted.org/packages/57/ae/b8cdefe08eca0c6cc64813254d0553d3e7ffec469a19190496a6b8ccd6f4/ruamel.dcw-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "e86bc279688331c4a85d3aba8d42d58e", "sha256": "3ca746780969667b8dcb0cb1b6a3061d5f62a7b3d856956199fa91d1c2802900" }, "downloads": -1, "filename": "ruamel.dcw-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e86bc279688331c4a85d3aba8d42d58e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10907, "upload_time": "2016-09-26T15:47:15", "url": "https://files.pythonhosted.org/packages/28/b3/606c1b287adc94230c2790a653760fb0f1da80bc0feb3a8ddb8f16088768/ruamel.dcw-0.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8e92c51073a6064907838235a93ded4", "sha256": "386fceaf52b7a0e57ca063e91bafe2d2c06acdcfe28871e4f563b5621f79da94" }, "downloads": -1, "filename": "ruamel.dcw-0.2.6.tar.gz", "has_sig": false, "md5_digest": "d8e92c51073a6064907838235a93ded4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15312, "upload_time": "2016-09-26T15:47:18", "url": "https://files.pythonhosted.org/packages/15/40/a087c29043fbd24355e554ccf4b08b897d75a1b11e64ac8a6b68bcd13e3a/ruamel.dcw-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "faacd4f43e6e20e54bbfd09771222071", "sha256": "7dc07952bfa274494862feefb34f0d56faae439bd968edff61116c2318697c86" }, "downloads": -1, "filename": "ruamel.dcw-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "faacd4f43e6e20e54bbfd09771222071", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10886, "upload_time": "2016-09-26T15:49:20", "url": "https://files.pythonhosted.org/packages/25/03/26ef7489f2acf1c7ae2d943f88ba5e618ff5356e3d53c8c89803b73f2819/ruamel.dcw-0.2.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55f54c09a3c34e37327784ebe2076d18", "sha256": "c686bc2ca95e478562c57049113c2fcfff591a137595215d2c207f84fd6c93ee" }, "downloads": -1, "filename": "ruamel.dcw-0.2.7.tar.gz", "has_sig": false, "md5_digest": "55f54c09a3c34e37327784ebe2076d18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15293, "upload_time": "2016-09-26T15:49:22", "url": "https://files.pythonhosted.org/packages/0c/67/0fab856e378b14d7dee559f3f41198778182a8ff5e2665d21e3a496d5115/ruamel.dcw-0.2.7.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "0e274a447549df6477e001004d57b07f", "sha256": "3743ecac1b09f43d9b15bc47d3ede065b01dec20bd440461946c5e1146c3af32" }, "downloads": -1, "filename": "ruamel.dcw-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e274a447549df6477e001004d57b07f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17244, "upload_time": "2017-06-03T06:43:49", "url": "https://files.pythonhosted.org/packages/55/1d/7c04d1057920f6f657f319d4bc7cb0b5d9460aebeeb8474d2a0c06f637f5/ruamel.dcw-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c80537340de7d56ff477f530ad258d73", "sha256": "f86be4da82c798dba7015d7d637084dd6495b9c532882a140c832ad14a59951b" }, "downloads": -1, "filename": "ruamel.dcw-0.5.0.tar.gz", "has_sig": false, "md5_digest": "c80537340de7d56ff477f530ad258d73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21387, "upload_time": "2017-06-03T06:43:51", "url": "https://files.pythonhosted.org/packages/6e/e3/3f48380b0c80658f1c0f96a97f2168890784243e1f5616fbbc5ec8d377ea/ruamel.dcw-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0e274a447549df6477e001004d57b07f", "sha256": "3743ecac1b09f43d9b15bc47d3ede065b01dec20bd440461946c5e1146c3af32" }, "downloads": -1, "filename": "ruamel.dcw-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e274a447549df6477e001004d57b07f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17244, "upload_time": "2017-06-03T06:43:49", "url": "https://files.pythonhosted.org/packages/55/1d/7c04d1057920f6f657f319d4bc7cb0b5d9460aebeeb8474d2a0c06f637f5/ruamel.dcw-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c80537340de7d56ff477f530ad258d73", "sha256": "f86be4da82c798dba7015d7d637084dd6495b9c532882a140c832ad14a59951b" }, "downloads": -1, "filename": "ruamel.dcw-0.5.0.tar.gz", "has_sig": false, "md5_digest": "c80537340de7d56ff477f530ad258d73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21387, "upload_time": "2017-06-03T06:43:51", "url": "https://files.pythonhosted.org/packages/6e/e3/3f48380b0c80658f1c0f96a97f2168890784243e1f5616fbbc5ec8d377ea/ruamel.dcw-0.5.0.tar.gz" } ] }