~benji/charms/precise/juju-gui/make-etags-ignore-inode

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`.