bundleservice

  • By makyo
  • Latest version (#0)
  • xenial
  • Stable

Description

Juju Bundle Service provides information about bundles.


Overview

juju charm for bundleservice service

Building

The bundleservice charm starts its life as a reactive charm, and must be built
in order to be deployed. To build the charm from the layer, run:

make -f Makefile.layers build

This will install all of the dependencies and build the charm from a pinned
version of charm-tools.

Usage

General Usage

The bundleservice is a stand-alone service and has no other charm dependencies.

All examples here are for juju 2 command-line usage but the charm can be
deployed with juju 1.

Upgrading the bundleservice Without Upgrading the Charm

Upgrading is done by triggering the config-changed hook by setting the source
configuration value. It can either be set to a new value or by an innocuous
change, such as adding a trailing space. The equivalent of apt-get update and
apt-get upgrade will be done . Afterwards, bundleservice will be
restarted.

When Using PPA

Change the source config to trigger apt-get update & install bundleservice
package. Adding whitespace to source is a good option:

juju get-config bundleservice  # note the source
juju set-config bundleservice source='<SAME AS OLD SOURCE WITH A TRAILING WHITESPACE>'

Scale Out Usage

The bundleservice can be scaled out by deploying more units and using a load balancer. To
use apache as a load balancer, deploy bundleservice and apache.

juju deploy apache2
juju deploy . bundleservice

Add relations between them

juju add-relation bundleservice apache2:balancer

Create a vhost template that uses the balancer, write the something like
the following to a file (e.g. /tmp/vhost-jem.tmpl)

<VirtualHost _default_:80>
  ProxyPreserveHost On
  ProxyPass / balancer://bundleservice/
  ProxyPassReverse / balancer://bundleservice/
</VirtualHost>

Upload the configuration to the apache charm

juju set-config apache2 "vhost_http_template=$(base64 /tmp/vhost-bundleservice.tmpl)"

Expose apache

juju expose apache2

Additional bundleservice capacity can now be added by adding more units

juju add-unit bundleservice

Configuration

The source for getting the bundleservice can be set. It can be a public PPA or a
sources.list entry if using a private PPA, e.g.

juju set-config bundleservice source='deb https://USER:TOKEN@private-ppa.launchpad.net/yellow/theblues-unstable/ubuntu trusty main'

Other config

The TCP port on which to listen can be set using the listen-port variable.

 juju set-config bundleservice listen-port=8000

Series Support

The bundleservice charm only supports being deployed on trusty (Ubuntu 14.04) and
later. This can cause problems with subordinate charms, at the time of writing
there is no trusty/nrpe charm. If nrpe functionality is required
~rcj/trusty/nrpe is known to work.

Contact Information

[#juju-gui] on freenode

Upstream - bundleservice

Configuration

nagios_servicegroups
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup.
listen-port
(int) (READ ONLY) This is the tcp port on which the bundleservices server will listen for connections.
8000
nagios_context
(string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you are running multiple environments with the same services in them this allows you to differentiate between them.
juju
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.
install_keys
(string) (READ ONLY) List of keys to accept (none required for PPAs)
- null
install_sources
(string) (READ ONLY) apt source list line from where to get bundleservices deb.
- ppa:yellow/ppa