---
title: Charmhub | Deploy lp-signing using Charmhub - The Open Operator Collection
description: Deploy the latest version of lp-signing on any cloud.
url: https://charmhub.io/lp-signing/configurations
---

# lp-signing

[Canonical Launchpad Engineering](https://charmhub.io/publisher/launchpad "View all packages from Canonical Launchpad Engineering")

* [Canonical Launchpad Engineering](https://charmhub.io/publisher/launchpad "View all packages from Canonical Launchpad Engineering")

Platform:

24.04

18.04

stable 89306e8

```
juju deploy lp-signing
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [active](https://charmhub.io/lp-signing/configurations#active)
* [build\_label](https://charmhub.io/lp-signing/configurations#build_label)
* [db\_name](https://charmhub.io/lp-signing/configurations#db_name)
* [db\_roles](https://charmhub.io/lp-signing/configurations#db_roles)
* [debuglog](https://charmhub.io/lp-signing/configurations#debuglog)
* [env\_extra](https://charmhub.io/lp-signing/configurations#env_extra)
* [environment](https://charmhub.io/lp-signing/configurations#environment)
* [extra\_packages](https://charmhub.io/lp-signing/configurations#extra_packages)
* [haproxy\_server\_options](https://charmhub.io/lp-signing/configurations#haproxy_server_options)
* [haproxy\_service\_options](https://charmhub.io/lp-signing/configurations#haproxy_service_options)
* [install\_keys](https://charmhub.io/lp-signing/configurations#install_keys)
* [install\_sources](https://charmhub.io/lp-signing/configurations#install_sources)
* [key\_storage\_private\_keys](https://charmhub.io/lp-signing/configurations#key_storage_private_keys)
* [log\_hosts\_allow](https://charmhub.io/lp-signing/configurations#log_hosts_allow)
* [nagios\_context](https://charmhub.io/lp-signing/configurations#nagios_context)
* [nagios\_servicegroups](https://charmhub.io/lp-signing/configurations#nagios_servicegroups)
* [package\_status](https://charmhub.io/lp-signing/configurations#package_status)
* [port](https://charmhub.io/lp-signing/configurations#port)
* [sentry\_dsn](https://charmhub.io/lp-signing/configurations#sentry_dsn)
* [service\_private\_keys](https://charmhub.io/lp-signing/configurations#service_private_keys)
* [slow\_query\_timeout](https://charmhub.io/lp-signing/configurations#slow_query_timeout)
* [soft\_request\_timeout](https://charmhub.io/lp-signing/configurations#soft_request_timeout)
* [statsd\_dsn](https://charmhub.io/lp-signing/configurations#statsd_dsn)
* [swift\_auth\_url](https://charmhub.io/lp-signing/configurations#swift_auth_url)
* [swift\_auth\_version](https://charmhub.io/lp-signing/configurations#swift_auth_version)
* [swift\_container\_name](https://charmhub.io/lp-signing/configurations#swift_container_name)
* [swift\_password](https://charmhub.io/lp-signing/configurations#swift_password)
* [swift\_project\_domain\_name](https://charmhub.io/lp-signing/configurations#swift_project_domain_name)
* [swift\_region\_name](https://charmhub.io/lp-signing/configurations#swift_region_name)
* [swift\_storage\_url](https://charmhub.io/lp-signing/configurations#swift_storage_url)
* [swift\_tenant\_name](https://charmhub.io/lp-signing/configurations#swift_tenant_name)
* [swift\_use\_proxy](https://charmhub.io/lp-signing/configurations#swift_use_proxy)
* [swift\_user\_domain\_name](https://charmhub.io/lp-signing/configurations#swift_user_domain_name)
* [swift\_username](https://charmhub.io/lp-signing/configurations#swift_username)
* [trusted\_networks](https://charmhub.io/lp-signing/configurations#trusted_networks)
* [wsgi\_backlog](https://charmhub.io/lp-signing/configurations#wsgi_backlog)
* [wsgi\_keep\_alive](https://charmhub.io/lp-signing/configurations#wsgi_keep_alive)
* [wsgi\_logrotate\_count](https://charmhub.io/lp-signing/configurations#wsgi_logrotate_count)
* [wsgi\_max\_requests](https://charmhub.io/lp-signing/configurations#wsgi_max_requests)
* [wsgi\_port](https://charmhub.io/lp-signing/configurations#wsgi_port)
* [wsgi\_restart\_maxwait](https://charmhub.io/lp-signing/configurations#wsgi_restart_maxwait)
* [wsgi\_reuse\_port](https://charmhub.io/lp-signing/configurations#wsgi_reuse_port)
* [wsgi\_timeout](https://charmhub.io/lp-signing/configurations#wsgi_timeout)
* [wsgi\_unix\_socket\_only](https://charmhub.io/lp-signing/configurations#wsgi_unix_socket_only)
* [wsgi\_use\_prometheus\_multiproc](https://charmhub.io/lp-signing/configurations#wsgi_use_prometheus_multiproc)
* [wsgi\_worker\_class](https://charmhub.io/lp-signing/configurations#wsgi_worker_class)
* [wsgi\_workers](https://charmhub.io/lp-signing/configurations#wsgi_workers)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* active | boolean

  flag to de/activate service in the lb
* build\_label | string

  Build label to deploy (only used when fetching the payload rather than embedding it in the charm).
* db\_name | string

  database name
* db\_roles | string

  comma separated list of roles
* debuglog | string

  If set to a writable path, application will write size/time constrained
  debug level logs to that path on the unit, see
  http://talisker.readthedocs.io/en/latest/logging.html#debug-logging for
  details.
* env\_extra | string

  Default: {}

  extra environment varibles to include in the process, as a python dict literal
* environment | string

  Default: production

  production, staging, or devel
* extra\_packages | string

  Space separated list of extra deb packages to install.
* haproxy\_server\_options | string

  Default: check inter 3000 rise 2 fall 3 maxconn 100

  haproxy server options
* haproxy\_service\_options | string

  Default: - mode http
  - option httplog
  - option httpchk HEAD /\_status/check
  - balance roundrobin
  - timeout client 5000
  - timeout server 5000
  - capture request header X-Request-Id len 36
  - option forwardfor

  haproxy service options
* 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.
* key\_storage\_private\_keys | string

  Default: []

  A JSON-encoded list of base64-encoded NaCl private keys for decrypting private keys held in the database. Currently only the first one is used, but this may change in future to permit rollover.
* log\_hosts\_allow | string

  Hosts that should be allowed to rsync logs. Note that this relies on basenode.
* nagios\_context | string

  Used by the nrpe subordinate charms.
* nagios\_servicegroups | string

  A comma-separated list of nagios servicegroups.
  If left empty, the nagios\_context will be used as the servicegroup
* package\_status | string

  Default: install

  The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
* port | string

  Default: 8000

  port to run on
* sentry\_dsn | string

  DSN for configuration of Sentry's raven client.
  See https://<sentry\_host>/sentry/snapdeltaservice/settings/keys/
* service\_private\_keys | string

  Default: []

  A JSON-encoded list of base64-encoded private service keys. The first key in the list is the preferred one; older keys may follow, permitting rollover.
* slow\_query\_timeout | string

  Default: -1

  Timeout (in ms) to log SQL queries
* soft\_request\_timeout | string

  Default: -1

  Timeout (in ms) to report soft timeout errors to sentry.
* statsd\_dsn | string

  statsd url, see http://talisker.readthedocs.io/en/latest/statsd.html for details
* swift\_auth\_url | string

  URL for authenticating against Keystone when fetching payloads from Swift.
* swift\_auth\_version | string

  Default: 2

  Auth version, supported values: 2, 3.
* swift\_container\_name | string

  Container to use when fetching payloads from Swift.
* swift\_password | string

  Password to use when fetching payloads from Swift.
* swift\_project\_domain\_name | string

  Default: default

  Openstack project domain name
* swift\_region\_name | string

  Region to use when fetching payloads from Swift.
* swift\_storage\_url | string

  URL for fetching payloads anonymously from Swift.
* swift\_tenant\_name | string

  OpenStack tenant to use when fetching payloads from Swift.
* swift\_use\_proxy | boolean

  use http{s} proxy, if defined in the environment variables: JUJU\_CHARM\_HTTP{S}\_PROXY
* swift\_user\_domain\_name | string

  Default: default

  Openstack user domain name
* swift\_username | string

  Username to use when fetching payloads from Swift.
* trusted\_networks | string

  Space-separated list of networks with trusted access to this service.
* wsgi\_backlog | int

  Default: 2048

  The maximum number of pending connections.
* wsgi\_keep\_alive | int

  Default: 2

  Keep alive time in seconds.
* wsgi\_logrotate\_count | int

  Default: 7

  The number of rotated log files to retain.
* wsgi\_max\_requests | int

  max requests for a worker to serve before being rebooted
* wsgi\_port | string

  Port to listen on. By default it is set to an empty string to indicate
  that the http layer port config option will be used. The default is
  usually desired, unless the application unit is expected to host some
  dedicated proxying software locally.
* wsgi\_restart\_maxwait | int

  The max. number of seconds to wait before actually restarting/reloading
* wsgi\_reuse\_port | boolean

  Default: True

  Set the SO\_REUSEPORT flag on the listening socket.
* wsgi\_timeout | int

  Default: 30

  Timeout of a request in seconds.
* wsgi\_unix\_socket\_only | boolean

  Gunicorn will only bind and listen on a unix socket at /srv/gunicorn/run/gunicorn.sock.
* wsgi\_use\_prometheus\_multiproc | boolean

  Handles proper prometheus client setup for multiproc with gunicorn. NOTE: This requires the prometheus client from https://github.com/prometheus/client\_python. Toggling this option results in a gunicorn restart. This will also set the PROMETHEUS\_MULTIPROC\_DIR (and lowercase version) env vars if set. This should not be set to true if using talisker-based services, as those should handle prometheus multiproc metrics properly.
* wsgi\_worker\_class | string

  Default: sync

  Gunicorn worker\_class setting.
* wsgi\_workers | int

  The number of worker process for handling requests. 0 for count(cpu) + 1
