65.2.1
by Nicola Larosa
Added the COPYING file, and headers to source files. |
1 |
<!-- |
2 |
README.md |
|
3 |
Copyright 2013 Canonical Ltd. |
|
4 |
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 |
|
5 |
Unported License. To view a copy of this license, visit |
|
6 |
http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative |
|
7 |
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. |
|
8 |
--> |
|
9 |
||
13.1.1
by Gary Poster
--fixes=lp:1091237 |
10 |
# Juju GUI Charm #
|
3.1.1
by Benji York
initial project structure, especially tests |
11 |
|
12 |
This charm makes it easy to deploy a Juju GUI into an existing environment. |
|
13 |
||
28.1.1
by Francesco Banconi
Fixes to documentation as per review. |
14 |
## Supported Browsers ##
|
15 |
||
60.5.2
by Matthew Scott
Readme updated with firewall instructions. |
16 |
The Juju GUI supports recent releases of the Chrome, Chromium and Firefox web |
17 |
browsers. |
|
18 |
||
81.2.1
by Matthew Scott
Updated docs, added firewall section. |
19 |
## Demo and Staging Servers ##
|
20 |
||
113.2.6
by Francesco Banconi
Update documentation and functional tests. |
21 |
The Juju GUI runs the Juju Charm Store on |
81.2.1
by Matthew Scott
Updated docs, added firewall section. |
22 |
[jujucharms.com](http://jujucharms.com). From there, you can browse charms, |
23 |
try the GUI, and build an example environment to export for use elsewhere. |
|
24 |
||
25 |
A [staging server](http://comingsoon.jujucharms.com/) is also available, |
|
26 |
running the latest and greatest version. |
|
23.1.3
by Nicola Larosa
Add a section about the demo/staging server to the README.md file. |
27 |
|
13.1.1
by Gary Poster
--fixes=lp:1091237 |
28 |
## Deploying the Juju GUI ##
|
9.2.1
by Nicola Larosa
Move testing docs from README.txt to new HACKING.txt, put deploying docs in README.txt . |
29 |
|
12.1.1
by Gary Poster
adjust docs |
30 |
Deploying the Juju GUI is accomplished using Juju itself. |
31 |
||
32 |
You need a configured and bootstrapped Juju environment: see the Juju docs |
|
13.1.1
by Gary Poster
--fixes=lp:1091237 |
33 |
about [getting started](https://juju.ubuntu.com/docs/getting-started.html), |
12.1.1
by Gary Poster
adjust docs |
34 |
and then run the usual bootstrap command. |
9.2.1
by Nicola Larosa
Move testing docs from README.txt to new HACKING.txt, put deploying docs in README.txt . |
35 |
|
23.1.2
by Nicola Larosa
Remove dollar prompts, per jcastro's request. |
36 |
juju bootstrap
|
13.1.1
by Gary Poster
--fixes=lp:1091237 |
37 |
|
38 |
Next, you simply need to deploy the charm and expose it. (See also "Deploying |
|
39 |
with Jitsu" below, for another option.) |
|
40 |
||
60.2.7
by Gary Poster
merge ~juju-gui charm |
41 |
juju deploy juju-gui
|
23.1.2
by Nicola Larosa
Remove dollar prompts, per jcastro's request. |
42 |
juju expose juju-gui
|
12.1.1
by Gary Poster
adjust docs |
43 |
|
23.1.1
by Nicola Larosa
Update the README.md and HACKING.md files. |
44 |
Finally, you need to identify the GUI's URL. It can take a few minutes for the |
45 |
GUI to be built and to start; this command will let you see when it is ready |
|
46 |
to go by giving you regular status updates: |
|
12.1.1
by Gary Poster
adjust docs |
47 |
|
23.1.2
by Nicola Larosa
Remove dollar prompts, per jcastro's request. |
48 |
watch juju status
|
12.1.1
by Gary Poster
adjust docs |
49 |
|
23.1.1
by Nicola Larosa
Update the README.md and HACKING.md files. |
50 |
Eventually, at the end of the status you will see something that looks like |
51 |
this: |
|
12.1.1
by Gary Poster
adjust docs |
52 |
|
13.1.1
by Gary Poster
--fixes=lp:1091237 |
53 |
services:
|
54 |
juju-gui:
|
|
60.3.1
by Curtis Hovey
Update docs to reference the reviewed charm as cs:precise/juju-gui. |
55 |
charm: cs:precise/juju-gui-7
|
13.1.1
by Gary Poster
--fixes=lp:1091237 |
56 |
exposed: true
|
57 |
relations: {}
|
|
58 |
units:
|
|
59 |
juju-gui/0:
|
|
60 |
agent-state: started
|
|
61 |
machine: 1
|
|
62 |
open-ports:
|
|
16.1.5
by Nicola Larosa
Apply fixes from review. |
63 |
- 80/tcp
|
16.1.2
by Nicola Larosa
Fix the port in a few places. |
64 |
- 443/tcp
|
28.1.1
by Francesco Banconi
Fixes to documentation as per review. |
65 |
public-address: ec2-www-xxx-yyy-zzz.compute-1.amazonaws.com
|
12.1.1
by Gary Poster
adjust docs |
66 |
|
59.1.3
by Nicola Larosa
Improve text style, per review request. |
67 |
That means you can go to the public-address in my browser via HTTPS |
28.1.1
by Francesco Banconi
Fixes to documentation as per review. |
68 |
(https://ec2-www-xxx-yyy-zzz.compute-1.amazonaws.com/ in this example), and |
69 |
start configuring the rest of Juju with the GUI. You should see a similar |
|
70 |
web address. Accessing the GUI via HTTP will redirect to using HTTPS. |
|
71 |
||
29.1.19
by Francesco Banconi
Fixed documentation. |
72 |
By default, the deployment uses self-signed certificates. The browser will ask |
73 |
you to accept a security exception once. |
|
74 |
||
59.1.1
by Nicola Larosa
Update the README about deploying to a chosen machine with juju-core. |
75 |
You will see a login form with the username fixed to "user-admin" (for juju- |
76 |
core) or "admin" (for pyjuju). The password is the same as your Juju |
|
77 |
environment's `admin-secret`, found in `~/.juju/environments.yaml`. |
|
12.1.1
by Gary Poster
adjust docs |
78 |
|
81.2.1
by Matthew Scott
Updated docs, added firewall section. |
79 |
### Deploying behind a firewall ###
|
80 |
||
113.2.6
by Francesco Banconi
Update documentation and functional tests. |
81 |
When using the default options the charm uses the network connection only for |
82 |
installing Deb packages from the default Ubuntu repositories. For this reason |
|
83 |
the charm can be deployed behind a firewall in the usual way: |
|
84 |
||
85 |
juju deploy juju-gui
|
|
86 |
||
87 |
There are situations and customizations in which the charm needs to connect to |
|
88 |
Launchpad: |
|
89 |
||
90 |
- juju-gui-source is set to "stable" or "trunk": in this cases the charm pulls
|
|
91 |
the latest stable or development release from Launchpad; |
|
92 |
- juju-gui-source is set to a branch (e.g. "lp:juju-gui"): in this case the
|
|
93 |
charm retrieves a checkout of the specified branch from Launchpad, and adds |
|
94 |
an external Launchpad PPA to install build dependencies; |
|
95 |
- juju-gui-source is set to a specific version number not available in the
|
|
96 |
local store (i.e. in the releases directory of the deployed charm): in this |
|
97 |
case the release is downloaded from Launchpad; |
|
98 |
- builtin-server is set to false: in this case the charm adds an external
|
|
99 |
Launchpad PPA to install the legacy server dependencies. |
|
100 |
||
101 |
If, for any reason, you need to use the legacy server, it is still possible to |
|
102 |
deploy behind a firewall configuring the charm to pull the GUI release from a |
|
103 |
location you specify. |
|
81.2.3
by Matthew Scott
Responding to reviews |
104 |
|
105 |
For both Juju Core and PyJuju, you must simply do the following steps. Note |
|
106 |
that PyJuju must do these steps, plus another set described further below. |
|
107 |
||
81.2.1
by Matthew Scott
Updated docs, added firewall section. |
108 |
The config variable `juju-gui-source` allows a `url:` prefix which understands |
81.2.3
by Matthew Scott
Responding to reviews |
109 |
both `http://` and `file://` protocols. We will use this to load a local copy |
110 |
of the GUI source. |
|
81.2.1
by Matthew Scott
Updated docs, added firewall section. |
111 |
|
112 |
1. Download the latest release of the Juju GUI Source from [the Launchpad
|
|
113 |
downloads page](https://launchpad.net/juju-gui/+download) and save it to a |
|
114 |
location that will be accessible to the *unit* either via filesystem or HTTP.
|
|
115 |
2. Set the config variable to that location using a command such as
|
|
116 |
||
117 |
`juju set juju-gui juju-gui-source=url:...`
|
|
118 |
||
119 |
where the ellipsis after the `url:` is your `http://` or `file://` URI. This
|
|
120 |
may also be done during the deploy step using `--config`.
|
|
121 |
||
122 |
3. If you had already tried to deploy the GUI and received an install error due
|
|
123 |
to not being able to retrieve the source, you may also need to retry the unit |
|
124 |
with the following command (using the unit the GUI is deployed on): |
|
125 |
||
126 |
`juju resolved --retry juju-gui/0`
|
|
127 |
||
81.2.3
by Matthew Scott
Responding to reviews |
128 |
These steps are sufficient for Juju Core. If you are using PyJuju, you need to |
129 |
do another set of steps in addition. |
|
130 |
||
131 |
1. Use bzr to branch lp:~hazmat/juju/rapi-rollup locally ("bzr branch
|
|
132 |
lp:~hazmat/juju/rapi-rollup") and copy the branch to the gui service machine. |
|
133 |
||
134 |
2. Use "juju set juju-gui juju-api-branch=PATH_TO_LOCAL_BZR_BRANCH" (where the
|
|
135 |
path is *not* a file:// URI).
|
|
136 |
||
137 |
3. Retry as described in the step 3 above (`juju resolved --retry juju-gui/0`). |
|
138 |
||
113.2.6
by Francesco Banconi
Update documentation and functional tests. |
139 |
### Upgrading the charm behind a firewall ###
|
140 |
||
141 |
When a new version of Juju GUI is released, the charm is updated to include the |
|
142 |
new release in the local releases repository. Assuming the new version is |
|
143 |
1.0.1, after upgrading the charm, it is possible to also upgrade to the newer |
|
144 |
Juju GUI release by running the following: |
|
145 |
||
146 |
juju set juju-gui-source=1.0.1
|
|
147 |
||
148 |
In this case the new version will be found in the local repository and |
|
149 |
therefore the charm will not attempt to connect to Launchpad. |
|
150 |
||
59.1.1
by Nicola Larosa
Update the README about deploying to a chosen machine with juju-core. |
151 |
### Deploying to a chosen machine ###
|
12.1.3
by Gary Poster
add instructions for using jitsu |
152 |
|
153 |
The instructions above cause you to use a separate machine to work with the |
|
154 |
GUI. If you'd like to reduce your machine footprint (and perhaps your costs), |
|
59.1.1
by Nicola Larosa
Update the README about deploying to a chosen machine with juju-core. |
155 |
you can colocate the GUI with the Juju bootstrap node. |
156 |
||
157 |
This approach might change in the future (possibly with the Juju shipped with |
|
158 |
Ubuntu 13.10), so be warned. |
|
159 |
||
160 |
The instructions differ depending on the Juju implementation. |
|
161 |
||
162 |
#### juju-core ####
|
|
163 |
||
60.3.1
by Curtis Hovey
Update docs to reference the reviewed charm as cs:precise/juju-gui. |
164 |
Replace "juju deploy cs:precise/juju-gui" from the previous |
59.1.1
by Nicola Larosa
Update the README about deploying to a chosen machine with juju-core. |
165 |
instructions with this: |
166 |
||
60.3.1
by Curtis Hovey
Update docs to reference the reviewed charm as cs:precise/juju-gui. |
167 |
juju deploy --force-machine 0 cs:precise/juju-gui
|
59.1.1
by Nicola Larosa
Update the README about deploying to a chosen machine with juju-core. |
168 |
|
169 |
#### pyjuju ####
|
|
170 |
||
171 |
Colocation support is not included by default in the pyjuju implementation; to |
|
172 |
activate it, you will need to install Jitsu: |
|
12.1.5
by Gary Poster
update based on review |
173 |
|
23.1.2
by Nicola Larosa
Remove dollar prompts, per jcastro's request. |
174 |
sudo apt-get install juju-jitsu
|
12.1.3
by Gary Poster
add instructions for using jitsu |
175 |
|
60.3.1
by Curtis Hovey
Update docs to reference the reviewed charm as cs:precise/juju-gui. |
176 |
and then replace "juju deploy cs:precise/juju-gui" from the previous |
59.1.1
by Nicola Larosa
Update the README about deploying to a chosen machine with juju-core. |
177 |
instructions with this: |
13.1.1
by Gary Poster
--fixes=lp:1091237 |
178 |
|
60.3.1
by Curtis Hovey
Update docs to reference the reviewed charm as cs:precise/juju-gui. |
179 |
jitsu deploy-to 0 cs:precise/juju-gui
|
13.1.1
by Gary Poster
--fixes=lp:1091237 |
180 |
|
181 |
## Contacting the Developers ##
|
|
12.1.1
by Gary Poster
adjust docs |
182 |
|
183 |
If you run into problems with the charm, please feel free to contact us on the |
|
13.1.1
by Gary Poster
--fixes=lp:1091237 |
184 |
[Juju mailing list](https://lists.ubuntu.com/mailman/listinfo/juju), or on |
23.1.1
by Nicola Larosa
Update the README.md and HACKING.md files. |
185 |
Freenode's IRC network on #juju. We're not always around (working hours in
|
186 |
Europe and North America are your best bets), but if you send us a mail or |
|
187 |
ping "jujugui" we will eventually get back to you. |
|
12.1.1
by Gary Poster
adjust docs |
188 |
|
23.1.1
by Nicola Larosa
Update the README.md and HACKING.md files. |
189 |
If you want to help develop the charm, please see the charm's `HACKING.md`.
|