Hello everyone, Following what has quickly become a 2 week release cadence as we prepare for charm-tools 2.0, I'm happy to announce yet another release! Charm Tools 1.11.0 succeeds 1.10.0 and 1.10.1 as the latest release of charm-tools. If you've managed to install 1.10.0 or 1.10.1 please be sure to upgrade. As always you can verify the version you are running by executing: `charm version`
# Changes 8b23dcd [Marco Ceppi] version bump 2dba307 [Marco Ceppi] Match source dependency as found in Xenial e6890e0 [Cory Johns] Resolve #65: Add support for layer options in layer.yaml 0b06f42 [Cory Johns] Refactor common code out of InterfaceBind and StorageBind 892578f [Cory Johns] Revert unnecessary move of BuildError 15ea634 [Cory Johns] Removed superfluous HOOK_TEMPLATE_FILES and fix doc copypasta error 8ce76ee [Cory Johns] Resolve #74: Use hook template from layers instead of embedding in charm-tools # Highlights This fix includes a mix of new feature and bug fixes. Here are a few highlights. ## Base layers determine hook templates This is an advantage which paves the way for hook templates to be in additional languages, such as powershell, and makes it easier to address and plug future hooks into the build process ## Support for layer options in layer.yaml This is a great new feature that helps steamline the charm build process. Currently, several layers attempt to handle distribution data, they do this by saying "fill out this yaml file" and the yaml file is usually named after the layer, IE nginx.yaml, apache.yaml, django.yaml this makes it harder for users to find options and provides no build time inspection. With 1.11.0 layer authors can declare what their layer `defines` and an `options` key in their layer.yaml. These "defines" are a jsonschema of the "options" each layer accepts. Other layers can set values for these "options" in their layer.yaml files. At build time, charm-tools will validate that the options provided matches the defines schema to avoid errors at deploy time. Furthermore the build process automatically namespaces these options to avoid collisions between layers. For more information about this feature, please see https://github.com/juju/charm-tools/issues/65. I will follow up to this post with an actual example of this implementation. # Install Charm Tools is available to users either via the juju/stable PPA, Homebrew, or pip ## PPA sudo add-apt-repository ppa:juju/stable sudo apt-get update sudo apt-get install charm-tools * There is a delay with precise version as some deps, mainly jsonschema, are not available yet for this platform ## Homebrew brew install charm-tools * Will be available once https://github.com/Homebrew/homebrew/pull/47095 is merged ## PIP pip install -U charm-tools Given our rapid release pace, we will be adding a new feature to charm-tools which will provide a warning when charm-tools running locally is out of date. This should help prompt swift upgrades as bugs are fixed and new features land in our continued march to charm-tools 2.0! Thanks, Marco Ceppi
-- Juju mailing list Juju@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju