jujushell #16

  • By juju-gui
  • Latest version (#16)
  • bionic
  • Stable
  • Edge

Description

This is the first proof-of-concept implementation of JAAS.sh, which allows one to access the juju CLI connected to the model through a shell instance accessed via xterm.js and terminado


jujushell charm

A Juju charm for allowing access to the Juju CLI through WebSocket connections.

States

This charm sets the following states:

  • jujushell.installed --- set when the installed hook completes.
  • jujushell.stopped --- set when the charm is stopped, removed when the jujushell service starts.
  • jujushell.started --- set when the service is (re)started, removed when the service is stopped.

Configuration

tls
(boolean) Whether or not to serve jujushell behind TLS.
True
lxc-quota-ram
(string) Memory quota for LXCs (supports kB, MB, GB, TB, PB and EB suffixes).
256MB
tls-cert
(string) The TLS certificate, if any. If tls is true and none is provided the charm will use a self signed key.
lxc-quota-processes
(int) Number of processes allowed inside LXD containers.
200
limit-termserver
(boolean) Whether or not to use the limited-functionality termserver.
allowed-users
(string) A space separated list of user names that are allowed to access the service. An empty list means that all users who can authenticate against the controller are allowed. For external users, names must include the "@external" suffix.
log-level
(string) The log level to apply to jujushell itself.
info
dns-name
(string) The optional DNS name for Let's Encrypt, used when TLS is enabled. If not empty, the TLS keys will be managed by Let's Encrypt and therefore the service will run on port 443. As a consequence, the port, tls-cert and tls-key charm options will be ignored.
port
(int) The port on which the service will be listening for WebSocket connections.
8047
tls-key
(string) The TLS key, if any. If tls is true and none is provided the charm will use a self signed key.
package_status
(string) The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
install
extra_packages
(string) Space separated list of extra deb packages to install.
juju-addrs
(string) A space separated list of Juju controller addresses, including ports. If not provided, the addresses will be obtained from the hooks context.
welcome-message
(string) An optional message to be displayed when users start the shell session.
lxc-quota-cpu-allowance
(string) How much of the CPU can be used (percentage, or chunk of time, e.g. 25ms/100ms).
100%
juju-cert
(string) The certificate to use when connecting to the Juju controller API. If not provided, no certificate is used for the connection. If it is set to "from-unit" (the default), then the certificate is obtained from the unit agent file.
from-unit
lxc-quota-cpu-cores
(int) CPU quota for LXCs (cores).
1
install_keys
(string) List of signing keys for install_sources package sources, per charmhelpers standard format (a yaml list of strings encoded as a string). The keys should be the full ASCII armoured GPG public keys. While GPG key ids are also supported and looked up on a keyserver, operators should be aware that this mechanism is insecure. null can be used if a standard package signing key is used that will already be installed on the machine, and for PPA sources where the package signing key is securely retrieved from Launchpad.
install_sources
(string) List of extra apt sources, per charm-helpers standard format (a yaml list of strings encoded as a string). Each source may be either a line that can be added directly to sources.list(5), or in the form ppa:<user>/<ppa-name> for adding Personal Package Archives, or a distribution component to enable.
session-timeout
(int) The number of minutes of inactivity to wait before expiring a session and stopping user container instances. A zero value means that the session never expires.