charm svg #3

Supports: trusty xenial
Add to new model

Description

Deploys the svg.juju.solutions web application and python-jujusvg binary
which allows the web framework to generate and serve SVG images of those
bundles.


Overview

This deploys the Juju SVG web service. This service, when deployed, will
generage SVGs once fed a valid bundle.

Usage

This charm is mostly standalone and self contained.

juju deploy charm-svg
juju expose charm-svg

Once deployed and exposed, any web requests can be made against the
HTTP endpoint to generate an SVG.

Resources and Upgrading

This charm makes use of resources, a feature only available in Juju 2.0. During
deploy or at upgrade time you can replace the following resources for newer
ones:

python-jujusvg

This is the binary used to generate the SVGs given a bundle. The python-jujusvg
builds upon the jujusvg project and is
available on Github.

juju deploy --resource python-jujusvg=./python-jujusvg charm-svg

or

juju upgrade-charm charm-svg --resource python-jujusvg=./python-jujusvg

webapp

A tar.gz archive of the svg.juju.solutions web application
this web application is used to interpret web requests and generate the SVG

juju deploy --resource webapp=./app.tar.gz charm-svg

or

juju upgrade-charm charm-svg --resource webapp=./app.tar.gz

Scale out Usage

This charm easily scales by placing a load balancer in front of charm-svg. One
example is HAProxy

juju deploy haproxy
juju add-relation charm-svg haproxy
juju unexpose charm-svg
juju expose haproxy

However, there are several viable loadbalancing options

Configuration

Those don't do anything, don't use them yet

use-venv

repository

reference

Contact Information

The author of this charm is also the author of the project!


Configuration

extra_packages
(string) Space separated list of extra deb packages to install.
host
(string) listen address
127.0.0.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.
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
port
(int) NGINX listen port
80
reference
(string) when repository is set, will be the ref to use. can be branch, shasum, tag, or any other valid ref
master
repository
(string) when set, will pull the webapp from this repository. this will incur a network lookup
use-venv
(boolean) when true, the charm will build a virtualenv and use PyPI to fetch upstream