From 0 to Hero in a Few Minutes, Introducing Juju Bundles

One of the things I’ve heard about people managing services over the last year or so is that even though it’s useful to do things at the service level, sometimes even doing that can be time consuming or tedious.

For example if you want Discourse or Mediawiki then you need to know which databases those services need. Why not just steal what some other person has put together and deploy it all at once? Services by themselves are fun but I want an entire working thing out of the box!

Bundles are sets of services that are bundled together in one file that you can deploy. And we’re putting them in the Juju Charm Store so that you not only get to share individual services, but clumps of working deployments. It’s easy, you merely model your deployment in the Juju GUI, export, and then share the yaml file. Bundles also have their own page in the store, showing users what components are available, how to use it, and what they consist of.

The nice thing is that you can deploy the entire thing at once:

juju quickstart bundle:~gary/demo/2/instantBigDataNoSQL

This fires up a bootstrap node, add the Juju GUI to the environment and deploys this monster.

Here’s what it looks like from scratch.

sudo add-apt-repository ppa:juju/stable
sudo apt-get install juju-core juju-quickstart
sudo apt-get update

juju init -w

Then edit ~/.juju/environments.yaml with your cloud credentials. Then pick a bundle to deploy.

juju quickstart bundle:~makyo/mediawiki-scalable/5/mediawiki-scalable


juju quickstart bundle:~jorge/mediawiki-simple/3/mediawiki-simple


juju quickstart bundle:~jorge/discourse/5/discourse-simple

Bundles are in beta, so here’s the caveats. Doing the environments.yaml dance gets tedious, so we’re working on the quickstart command to prompt you for credentials for whatever cloud you want to use. We also realize that the URLs aren’t exactly ideal, but we’re working to make that simpler. Bundles don’t support –to right now either, so “run an entire Discourse install on one cheap node” is not quite there yet, but we’ll be there soon. The goal by 14.04 is just to have the one quickstart command do what you want without all the previous mumbojumbo. will continue to grow support for bundles, right now it’s mostly focused on charms, and while charms are great and an important building block we’ll be pushing bundles as a complete solution for a deployment. As far as submitting your bundles to the charm store, the process is slightly different than charms, we’ll be pushing updated documentation on how to do this over the next few days. In the meantime feel free to deploy these example ones.