~charmers/charms/precise/juju-gui/trunk

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