[[wp:Juju (software)|Juju]] (formerly Ensemble) is an open source service orchestration management tool developed by Canonical Ltd., the company behind [[Ubuntu]]. Juju allows software to be quickly deployed, integrated and scaled on a wide choice of cloud services or servers.
Juju can deploy to LXC (for local environments), OpenStack (for HP Cloud), Windows Azure, Joyent or Amazon EC2
Kapil Thangavelu wrote [https://github.com/kapilt/juju-digitalocean JuDo] - A juju provider for digital ocean using a client side plugin and manual provisioning.
== Links ==
# https://jujucharms.com/get-started
# https://jujucharms.com/docs/1.20/config-manual
# https://jujucharms.com/docs/1.20/config-aws
# https://jujucharms.com/docs/1.20/config-digitalocean
# https://jujucharms.com/docs/1.20/config-vagrant
== TLDR ==
<source lang="bash">
sudo add-apt-repository ppa:juju/stable
sudo apt-get install juju-quickstart
sudo apt-get install juju-core
# to just show existing/default
# juju generate-config --show
juju generate-config
# edit to add your AWS KEYS
juju bootstrap
juju status
# assuming it shows a single machine numbered '0'
juju deploy mediawiki --to 0
# juju deploy cs:trusty/mediawiki-3
juju deploy mysql --to 0
juju add-relation mediawiki:db mysql
juju expose mediawiki
juju status
juju ssh
</source>
Make sure to obtain and assign an "elastic IP" so that the instance has a static IP
You can see what keys were added to the machine
<code>juju authorised-keys list</code>
and verify the key fingerprint for the key you want to use
<code>ssh-keygen -lf /home/user/.ssh/id_rsa</code>
but you have to know/guess what user was installed by your charm
<code>ssh -i /home/user/.ssh/id_rsa -o IdentitiesOnly=true -vvv ubuntu@ec2-55-5-555-55.compute-1.amazonaws.com</code>
https://jujucharms.com/mediawiki/trusty/3
== Help ==
<source lang="bash">
juju help
</source>
<pre>
Juju -- devops distilled
https://juju.ubuntu.com/
Juju provides easy, intelligent service orchestration on top of environments
such as Amazon EC2, HP Cloud, OpenStack, MaaS, or your own local machine.
Basic commands:
juju init generate boilerplate configuration for juju environments
juju bootstrap start up an environment from scratch
juju deploy deploy a new service
juju add-relation add a relation between two services
juju expose expose a service
juju help bootstrap more help on e.g. bootstrap command
juju help commands list all commands
juju help glossary glossary of terms
juju help topics list all help topics
Provider information:
juju help azure-provider use on Windows Azure
juju help ec2-provider use on Amazon EC2
juju help hpcloud-provider use on HP Cloud
juju help local-provider use on this computer
juju help openstack-provider use on OpenStack
</pre>
[[Category:DevOps]]
[[Category:Service Orchestration]]