Juju Resources (a tool / library)
Cory Johns
cory.johns at canonical.com
Wed Feb 11 16:25:28 UTC 2015
Hi all,
(cross-posting to juju & juju-dev)
I've created a tool / library for organizing and managing resources
(binary blobs, tarballs, Python packages, and, eventually, apt
packages) required by a charm. The idea is to be an interim tool, and
a test-bed for the resource features that have been discussed for the
future in Juju core.
It is available on GitHub [1] and PyPI [2], and the full documentation
is on PythonHosted.org [3].
The goals of this project are:
* Organize all external resource dependencies into a single
resources.yaml file
* Provide easy, consistent interfaces to manage, install, and mirror resources
* CLI and Python bindings
* Enforce best practices, such as cryptographic hash validation
I asked around to see if there was an existing proposal for a
resources.yaml file format, but couldn't find one. If someone is
aware of an existing spec / proposal, I'd prefer to match that as much
as possible.
The current version is fully functional, and is currently being used
in the framework refactor of the Apache Hadoop charms (e.g., [4]).
Note that I created this separately from Charm Helpers primarily
because I wanted to use it to bootstrap CH, but this also makes it
easier to use in Bash charms.
My next step is to add apt-get support, but that will requiring
cleaning up the mirror server (possibly converting it to use squid,
but I may want to keep it self-contained), and learning a bit more
about how the apt proxy settings work. Advice here is appreciated.
[1] https://github.com/juju-solutions/jujuresources
[2] https://pypi.python.org/pypi/jujuresources
[3] http://pythonhosted.org/jujuresources/
[4] https://code.launchpad.net/~bigdata-dev/charms/trusty/apache-hadoop-hdfs-master/trunk
More information about the Juju-dev
mailing list