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
- ops ›
A Juju charm for allowing access to the Juju CLI through WebSocket connections.
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.
- (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.
- (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.
- (string) Space separated list of extra deb packages to install.
- (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.
- (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.
- (string) A space separated list of Juju controller addresses, including ports. If not provided, the addresses will be obtained from the hooks context.
- (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.
- (boolean) Whether or not to use the limited-functionality termserver.
- (string) The log level to apply to jujushell itself.
- (string) How much of the CPU can be used (percentage, or chunk of time, e.g. 25ms/100ms).
- (int) CPU quota for LXCs (cores).
- (int) Number of processes allowed inside LXD containers.
- (string) Memory quota for LXCs (supports kB, MB, GB, TB, PB and EB suffixes).
- (string) The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
- (int) The port on which the service will be listening for WebSocket connections.
- (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.
- (boolean) Whether or not to serve jujushell behind TLS.
- (string) The TLS certificate, if any. If tls is true and none is provided the charm will use a self signed key.
- (string) The TLS key, if any. If tls is true and none is provided the charm will use a self signed key.
- (string) An optional message to be displayed when users start the shell session.