{ "info": { "author": "Cory Johns", "author_email": "cory.johns@canonical.com", "bugtrack_url": null, "classifiers": [], "description": "Juju Resources |badge|\n-----------------------------------------------------------------\n\n.. |badge| image:: https://travis-ci.org/juju-solutions/jujuresources.svg\n :target: https://travis-ci.org/juju-solutions/jujuresources\n\nJuju Resources provides helpers for charms to load binary resources from\nexternal sources, as well as tools for creating mirrors of external resources\nfor network-restricted deployments.\n\nThis is intended as a stop-gap until Juju has core support for resources,\nas well as to prototype what features are needed.\n\nThe full documentation is available online at: http://pythonhosted.org/jujuresources/\n\n\nInstalling\n----------\n\nInstall Juju Resources using pip:\n\n pip install jujuresources\n\n\nCharm Usage\n-----------\n\nA charm using Juju Resources will need to define a ``resources.yaml``,\nsuch as::\n\n resources:\n my_resource:\n url: http://example.com/path/to/my_resource.tgz\n hash: b377b7cccdd281bc5e4c4071f80e84a3\n hash_type: sha256\n my_py:\n pypi: jujuresources>=0.2\n optional_resources:\n my_optional_resource:\n url: http://example.com/path/to/my_optional_resource.tgz\n hash: 476881ef4012262dfc8adc645ee786c4\n hash_type: sha256\n\nThen, once the charm has installed Juju Resources, it can fetch\nand verify resources, either in Python::\n\n from jujuresources import fetch, verify, install, config_get\n\n if not fetch(mirror_url=config_get('resources_mirror')):\n print \"Mandatory resources did not download; check resources_mirror option\"\n sys.exit(1)\n install('my_py')\n\n fetch('my_optional_resource', mirror_url=config_get('resources_mirror'))\n if verify('my_optional_resource'):\n install('my_optional_resource', destination='/usr/lib/myres', skip_top_level=True)\n\nOr via the command-line / bash::\n\n if ! juju-resources fetch -u `config-get resources_mirror`; then\n echo \"Mandatory resources did not download; check resources_mirror option\"\n exit 1\n fi\n juju-resources install my_py\n\n juju-resources fetch -u `config-get resources_mirror` my_optional_resource\n if juju-resources verify my_optional_resource; then\n juju-resources install my_optional_resource -D /usr/lib/myres -s\n fi\n\n\nMirroring Resources\n-------------------\n\nIf you will need to deploy charms in an environment with limited network access,\nyou can create a mirror ahead of time, or on a gateway node which has access::\n\n mkdir local_mirror\n juju-resources fetch --all -d local_mirror -r http://github.com/me/my-charm/blob/master/resources.yaml\n juju-resources serve -d local_mirror\n\nYou will then have a lightweight HTTP server running to which you can set the\ncharm's ``resources_mirror`` (or equivalent) config option to point to,\nserving all (``--all``, optional as well as required) resources defined in the\nremote ``resources.yaml`` (``-r ``), which are cached in the\n``local_mirror`` directory (``-d local_mirror``).\n\nNote that the charms will need to be able to access the machine and port you run\nthe mirror on, and the charms must support a config option to point Juju Resources\nto the mirror (as well as handle the possibility that their resources may not\nbe available when they are first deployed).", "description_content_type": null, "docs_url": "https://pythonhosted.org/jujuresources/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/juju-solutions/jujuresources", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "jujuresources", "package_url": "https://pypi.org/project/jujuresources/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/jujuresources/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/juju-solutions/jujuresources" }, "release_url": "https://pypi.org/project/jujuresources/0.4.0/", "requires_dist": null, "requires_python": null, "summary": "Helpers for Juju Charms to load external resources", "version": "0.4.0" }, "last_serial": 1984104, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4fdc461dcde13b1e919c17bac6e01464", "sha256": "790d3dcb0d1a6a3673a23e85228d9382fa307ae9b10eb866089b9f519c88ace9" }, "downloads": -1, "filename": "jujuresources-0.1.tar.gz", "has_sig": true, "md5_digest": "4fdc461dcde13b1e919c17bac6e01464", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5915, "upload_time": "2015-02-05T19:00:36", "url": "https://files.pythonhosted.org/packages/a0/02/cdb2d3ef5d5d74e07236fba01758ec902b95692ade494af1ab9940dc5382/jujuresources-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "ed6d0d0455775cf5fe1d3445769ecce0", "sha256": "59f2c2dd478f7370e17e486a3989e409e612d04b2b207bbae336287354765d18" }, "downloads": -1, "filename": "jujuresources-0.2.tar.gz", "has_sig": false, "md5_digest": "ed6d0d0455775cf5fe1d3445769ecce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10600, "upload_time": "2015-02-09T22:27:50", "url": "https://files.pythonhosted.org/packages/7c/19/6e1a48e4c5d4753443e2ac591d4d78b3da7673e3153432e16b9128631633/jujuresources-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1123769f77e05a6bbb3fa349abafab72", "sha256": "01d440e2cb2c23a2345368e6c859fcd76038367a780dc175444a9bc7fd5e798a" }, "downloads": -1, "filename": "jujuresources-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1123769f77e05a6bbb3fa349abafab72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12563, "upload_time": "2015-02-10T21:42:12", "url": "https://files.pythonhosted.org/packages/97/d0/3e8884504213961768d872d5fd9b55573f5aea722f548442b576ef657fc3/jujuresources-0.2.1.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "db05d37d0d50fd5e1a5cb4087ae3bad1", "sha256": "f082c0ef921f5bb52b7777183ef40df9db9c6ba1fef901c7b84330fa60ec50b9" }, "downloads": -1, "filename": "jujuresources-0.2.11.tar.gz", "has_sig": false, "md5_digest": "db05d37d0d50fd5e1a5cb4087ae3bad1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12679, "upload_time": "2015-08-28T20:14:23", "url": "https://files.pythonhosted.org/packages/3e/df/b3639c85da90c41b0095030185a36952320d315acf8e84500688c0699707/jujuresources-0.2.11.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "28bf3ed59bf7620f9a3ca19c32b994b8", "sha256": "a7b7313a328882e5a8033633373d069013afc5f9d5298b100d91b62612c1918a" }, "downloads": -1, "filename": "jujuresources-0.2.2.tar.gz", "has_sig": false, "md5_digest": "28bf3ed59bf7620f9a3ca19c32b994b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12694, "upload_time": "2015-02-10T23:27:40", "url": "https://files.pythonhosted.org/packages/6b/bb/5c1816085f762709caffbbd767ad32760be2475c17b8f9401c7b10d995bf/jujuresources-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "4231d4a9f0ae88ac2376b469c672dbb3", "sha256": "4f3bea8fea7bb83c73add16ffb1ff8f6c41d34f942d061f146a92ed8a9e2323d" }, "downloads": -1, "filename": "jujuresources-0.2.3.tar.gz", "has_sig": false, "md5_digest": "4231d4a9f0ae88ac2376b469c672dbb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12720, "upload_time": "2015-02-11T22:48:10", "url": "https://files.pythonhosted.org/packages/34/5e/f3e91ea0535e5c0efef45c190ef8c8e48366488f24ad7f01e3b4a7963c1b/jujuresources-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "6e121e381d70d650481988be8a1b987a", "sha256": "521baa9d1c38c285352630c52a49424de63d11e71d9be23615fae71c94646782" }, "downloads": -1, "filename": "jujuresources-0.2.4.tar.gz", "has_sig": false, "md5_digest": "6e121e381d70d650481988be8a1b987a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12896, "upload_time": "2015-02-20T18:57:42", "url": "https://files.pythonhosted.org/packages/40/2e/fb75b31184506834c900cf84b12370561beac18f40aa38e4ca1a2b3d8120/jujuresources-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "85ba47ea1462061ac0e93fdce4f54445", "sha256": "07be968891a25d48081273998eb1bf115aea44d2351349fbea31ab32daf30d33" }, "downloads": -1, "filename": "jujuresources-0.2.5.tar.gz", "has_sig": false, "md5_digest": "85ba47ea1462061ac0e93fdce4f54445", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13187, "upload_time": "2015-03-03T19:44:20", "url": "https://files.pythonhosted.org/packages/38/fe/a93dd826a678052df568bceb4c6330fccfe201eb2480c25b0f205b8dd961/jujuresources-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "371e84e62b7da50862e1a29c1bcf9b8f", "sha256": "c1df1bd215dd411f76f4b271d6c9a9824a2f6f5eebb942dfd9c523a825ff8013" }, "downloads": -1, "filename": "jujuresources-0.2.6.tar.gz", "has_sig": false, "md5_digest": "371e84e62b7da50862e1a29c1bcf9b8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13309, "upload_time": "2015-05-07T17:24:23", "url": "https://files.pythonhosted.org/packages/08/d7/9eb71b48e259939a33da90d4550065af3092c849712af8b86f0e5688270b/jujuresources-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "a356bd22418d084faba93127b31549dc", "sha256": "b7c242437241be746a3a40a5987b9ff73a31a24319a79c20e6a22c7a78a16f4c" }, "downloads": -1, "filename": "jujuresources-0.2.7.tar.gz", "has_sig": false, "md5_digest": "a356bd22418d084faba93127b31549dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13364, "upload_time": "2015-05-07T18:22:03", "url": "https://files.pythonhosted.org/packages/d6/e6/ecbc77855ada7c0ca5ca68f0e29e2b7689c9371a396c15ff56997e861a5c/jujuresources-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "399ca3c64cc1bb18e8203f76b55429bd", "sha256": "1ca70cdeb674746cc5943c2facd3200708d1135fa0fdddbe960861e492a5b187" }, "downloads": -1, "filename": "jujuresources-0.2.8.tar.gz", "has_sig": false, "md5_digest": "399ca3c64cc1bb18e8203f76b55429bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13361, "upload_time": "2015-06-23T18:01:12", "url": "https://files.pythonhosted.org/packages/a2/d5/21556d531815aece806aee0076cb871efcc62b535571b2537391a49de1d8/jujuresources-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "bf688250aae6094725d0fc29b4cb1461", "sha256": "da910bd788778764c81ca5c53903093a6a1e3f6836ee9d7c59a071c0279fe790" }, "downloads": -1, "filename": "jujuresources-0.2.9.tar.gz", "has_sig": false, "md5_digest": "bf688250aae6094725d0fc29b4cb1461", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13639, "upload_time": "2015-07-24T14:50:18", "url": "https://files.pythonhosted.org/packages/be/dc/0022d7ba55fb7fac607a9c710e47755bbb173d1f65ffc33d0c43cf647f35/jujuresources-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "16a2bc29573107f1e3ba4ce6e5c1bc60", "sha256": "f4056bf25801a13c9602a8021684f842cecb31e0dad4bdfddbd6c8dc39c614e4" }, "downloads": -1, "filename": "jujuresources-0.3.0.tar.gz", "has_sig": false, "md5_digest": "16a2bc29573107f1e3ba4ce6e5c1bc60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12342, "upload_time": "2015-11-09T18:13:48", "url": "https://files.pythonhosted.org/packages/88/aa/c13bec1184bc8a5169fa4feb0cbfdf4b9db9d599d104034cf28d88382dd6/jujuresources-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "626c053e486a985b0dc3bbd8e8cb6aec", "sha256": "cd8989a80f6aa33ad52149767d7200529e327ab4a92d2bdbc200fe86ec7b0cb4" }, "downloads": -1, "filename": "jujuresources-0.3.1.tar.gz", "has_sig": false, "md5_digest": "626c053e486a985b0dc3bbd8e8cb6aec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13744, "upload_time": "2015-11-20T14:42:56", "url": "https://files.pythonhosted.org/packages/0c/1f/ba24822a8bd16ac4a4dc82574fff9dcb218ac7e865ab8ec8dd053e433564/jujuresources-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "a7a826394f2cd3cff9e6e74927009a7d", "sha256": "5ac3bff2ea6158f1698ee341c0596c762f47e8178a8935e61d3363657e3514c9" }, "downloads": -1, "filename": "jujuresources-0.3.2.tar.gz", "has_sig": false, "md5_digest": "a7a826394f2cd3cff9e6e74927009a7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13770, "upload_time": "2015-12-08T14:29:59", "url": "https://files.pythonhosted.org/packages/8c/90/c8ce4574174378b502c2881f1540039adf23e5f6107dee93790668d9535d/jujuresources-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "5a3d66b1cdae535c0dfb6f72b11a296c", "sha256": "c9d7332b2ee4b6148a1b54db3f14dfcf03e5b7a90fc8f61cda207feb5bbca4a3" }, "downloads": -1, "filename": "jujuresources-0.3.3.tar.gz", "has_sig": false, "md5_digest": "5a3d66b1cdae535c0dfb6f72b11a296c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13779, "upload_time": "2015-12-11T16:18:26", "url": "https://files.pythonhosted.org/packages/fd/f9/14dbac7606eb838fcd2f50f0948fa355823584a31ba2d57a3145e1ecaba7/jujuresources-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "fd11f4664de4aa695bbffd70cc0d0252", "sha256": "dbade544066885c2db48d18eca4512c89ca5c38c81ff8bd5b8ff228166dedb72" }, "downloads": -1, "filename": "jujuresources-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fd11f4664de4aa695bbffd70cc0d0252", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13815, "upload_time": "2016-03-01T15:12:54", "url": "https://files.pythonhosted.org/packages/f5/52/99d235b36fab485e4fbdc805806ab213b835aed1bd26ee19babf2309f8cf/jujuresources-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fd11f4664de4aa695bbffd70cc0d0252", "sha256": "dbade544066885c2db48d18eca4512c89ca5c38c81ff8bd5b8ff228166dedb72" }, "downloads": -1, "filename": "jujuresources-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fd11f4664de4aa695bbffd70cc0d0252", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13815, "upload_time": "2016-03-01T15:12:54", "url": "https://files.pythonhosted.org/packages/f5/52/99d235b36fab485e4fbdc805806ab213b835aed1bd26ee19babf2309f8cf/jujuresources-0.4.0.tar.gz" } ] }