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