Description

Automates jobs in a ScaleBot Lab.

What is ScaleBot?

ScaleBot is a framework for running scheduled jobs against a cloud. It is built upon the Jenkins CI and Juju modeling tools.

Architecture

ScaleBot is deployed from a Juju charm that builds a running instance of Jenkins CI, initialized with a git repository that provides job definitions and a target cloud to run those jobs against. We refer to this target cloud as a "lab". ScaleBot will use the target cloud ("lab") configuration to automatically setup an internal Juju controller which Jenkins jobs can use to deploy systems and workloads as necessary within the lab.

alt text

Configuration

scalebot_juju_bootstrap_constraints
(string) Bootstrap constraints for Juju controller
scalebot_repo
(string) URI to a Scalebot git repository (e.g. git+ssh://dannf@git.launchpad.net/hyperscale)
scalebot_juju_model_defaults
(string) Juju model defaults configuration YAML
scalebot_juju_credentials
(string) Credentials YAML for Juju cloud defined in scalebot_juju_clouds
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.
lp_ssh_key
(string) A null-passphrase SSH private key with access to $scalebot_repo
scalebot_juju_clouds
(string) Juju cloud config YAML for target cloud
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.
scalebot_branch
(string) The branch of $scalebot_repo to checkout