1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
# This file is part of the Juju GUI, which lets users view and manage Juju
# environments within a graphical interface (https://launchpad.net/juju-gui).
# Copyright (C) 2012-2013 Canonical Ltd.
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License version 3, as published by
# the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
# SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
options:
juju-gui-source:
description: |
Where to install Juju GUI from. Possible values are:
- 'stable' (default): the latest stable release will be deployed;
- 'trunk': the latest trunk release will be deployed;
- a stable version (e.g '0.1.0'): the specified stable version will be
deployed;
- a trunk version (e.g '0.1.0+build.1'): the specified trunk version
will be deployed;
- a Bazaar branch (e.g. 'lp:juju-gui'): a release will be created and
deployed from the specified Bazaar branch. 'http://' prefixed branches
work as well. It is also possible to include the specific branch
revision, e.g. 'lp:juju-gui:42' will checkout revno 42.
- a 'url:' prefixed url (ex: url:http://...) of a specific location
to pull a release from.
type: string
default: stable
juju-api-branch:
description: |
The Juju API Bazaar branch (implementing the WebSocket server). Since
juju-core includes the WebSocket API server out of the box, this option
is ignored if the charm is deployed using juju-core.
type: string
default: lp:~hazmat/juju/rapi-rollup
staging:
description: |
Connect the Juju GUI to the staging backend (i.e. a simulated Juju
environment). Currently juju-core does not support the staging
backend. For this reason, this option is ignored if the charm is
deployed using juju-core.
type: boolean
default: false
staging-environment:
description: |
The environment JSON export used by the staging server. This option can
be used to change the topology of the simulated Juju environment.
Possible values are 'sample' and 'large'. Currently juju-core does not
support the staging backend. For this reason, this option is ignored if
the charm is deployed using juju-core.
type: string
default: sample
juju-gui-console-enabled:
description: |
Whether or not the console should be enabled for the browser.
type: boolean
default: false
command-log-file:
description: |
The log file where stdout and stderr should be sent for all commands
that are run by charm hooks.
type: string
default: /var/log/juju/juju-gui.log
ssl-cert-path:
description: |
The path to the directory where the SSL certificates are stored.
type: string
default: /etc/ssl/juju-gui
ssl-cert-contents:
description: |
The contents of the certificate file to be used in SSL connections to
the GUI. Both ssl-cert-contents and ssl-key-contents must be provided.
If not, cetificates will be automatically generated.
type: string
ssl-key-contents:
description: |
The contents of the private key file to be used in SSL connections to
the GUI. Both ssl-cert-contents and ssl-key-contents must be provided.
If not, cetificates will be automatically generated.
type: string
login-help:
description: |
The help text shown to the user on the login screen.
type: string
default: |
The password is the admin-secret from the Juju environment. This can
often be found by looking in ~/.juju/environments.yaml.
read-only:
description: |
Whether or not the GUI is in read-only mode. Note that read-only mode is
advisory, and enforced only in the client. If someone can access the
websocket and has the password, they can send commands over the
websocket to mutate the environment.
type: boolean
default: false
serve-tests:
description: |
Whether or not the GUI unit tests are exposed. If this option is
enabled, unit tests can be run in the browser by visiting the URL
"https://[Juju GUI address]/test/".
type: boolean
default: false
secure:
description: |
In order to run the GUI over a non secure connection (HTTP) set this
flag to false. Do not set this property unless you understand and accept
the risks.
type: boolean
default: true
sandbox:
description: |
Run using an in-memory sandbox rather than a real (or even improv) Juju
backend. Sandbox is a client side construct running entirely in the
client. Sandbox does not currently support imported environment
simulation and is exclusive to the staging: true configuration. If
staging is true it will be used in preference to sandbox at this time.
type: boolean
default: false
charmworld-url:
description: |
The URL of the charm catalog site ("charmworld") from which charm
catalog data will be drawn.
type: string
default: https://manage.jujucharms.com/
repository-location:
description: |
The charm depends on several software packages that are not packaged in
Ubuntu. In order to ensure that only versions known to work with our
charm are used, there is a single PPA where all packages are kept. The
juju-gui-charmers team supports 'stable' and 'devel' versions. Only
stable should be used for production. For enterprise deployments that
do not allow access to resources outside of their control, the location
can be any specification as long as it is recognizable by
'add-apt-repository'.
type: string
default: ppa:juju-gui-charmers/stable
use-analytics:
description: |
The team developing the Juju GUI benefits from understanding how
different deployments use the tool. By enabling this setting,
anonymized usage data is reported back using Google Analytics. The type
of data collected includes the charms that are deployed and the number
of units per service. Use of analytics is optional but we hope you will
allow us to improve our tool based on your experience.
type: boolean
default: true
default-viewmode:
description: |
What the charmbrowser's default viewmode should be. Possible options are:
- 'sidebar' (default): the charmwbrowser will appear as a sidebar. This
is also known as build mode.
- 'fullscreen': the charmbrowser will appear in full screen, hiding the
canvas. This is also known as browse mode.
- 'minimized': the charmbrowser will be minimized by default, and hidden.
type: string
default: sidebar
show-get-juju-button:
description: |
There are deployment modes for Juju GUI which are not intended as regular
use mode. In these cases, login/logout are disabled and instead there is a
link to juju.ubuntu.com
type: boolean
default: false
|