options:
  global_log:
    default: "127.0.0.1 local0, 127.0.0.1 local1 notice"
    type: string
    description: Global log line ( multiples ... comma separated list )
  global_maxconn:
    default: 4096
    type: int
    description: |
        Sets the maximum per-process number of concurrent connections to
        <number>.
  global_user:
    default: "haproxy"
    type: string
    description: User
  global_group:
    default: "haproxy"
    type: string
    description: Group
  global_debug:
    default: False
    type: boolean
    description: Debug or not
  global_quiet:
    default: False
    type: boolean
    description: Quiet
  global_spread_checks:
    default: 0
    type: int
    descriptions: |
        Sometimes it is desirable to avoid sending health checks to servers at
        exact intervals, for instance when many logical servers are located on
        the same physical server. With the help of this parameter, it becomes 
        possible to add some randomness in the check interval between 0 and 
        +/- 50%. A value between 2 and 5 seems to show good results.
  default_log:
    default: "global"
    type: string
    description: Default log
  default_mode:
    default: "http"
    type: string
    description: Default mode
  default_options:
    default: "httplog, dontlognull"
    type: string
    description: Default options
  default_retries:
    default: 3
    type: int
    description: |
        Set the number of retries to perform on a server after a connection
        failure. It is important to understand that this value applies to the
        number of connection attempts, not full requests. When a connection 
        has effectively been established to a server, there will be no more 
        retry.
        In order to avoid immediate reconnections to a server which is 
        restarting, a turn-around timer of 1 second is applied before a retry
        occurs.
  default_timeouts:
    default: "queue 1000, connect 1000, client 1000, server 1000"
    type: string
    description: Default timeouts 
  enable_monitoring:
    default: False
    type: boolean
    description: Enable monitoring
  monitoring_port:
    default: 10000
    type: int
    description: Default monitoring port
  monitoring_allowed_cidr:
    default: "127.0.0.1/32"
    type: string
    description: |
        CIDR allowed ( multiple CIDRs separated by space ) access to the
        monitoring interface.
  monitoring_username:
    default: "haproxy"
    type: string
    description: Monitoring username
  monitoring_password:
    default: "changeme"
    type: string
    description: |
        Password to the monitoring interface ( if "changeme", a new password
        will be generated and displayed in juju-log )
  monitoring_stats_refresh:
    default: 3
    type: int
    description: Monitoring interface refresh interval (in seconds)
  services:
    default: |
              - service_name: haproxy_service
                service_host: "0.0.0.0"
                service_port: 80
                service_options: [balance leastconn]
                server_options: maxconn 100
    type: string
    description: |
        Services definition(s). Although the variable type is a string, this is
        interpreted in the charm as yaml. To use multiple services within the
        same haproxy instance, specify all of the variables (service_name,
        service_host, service_port, service_options, server_options) with a "-"
        before the first variable, service_name, as above. Service options is a
        comma separated list, server options will be appended as a string to
        the individual server lines for a given listen stanza.
  nagios_context:
    default: "juju"
    type: string
    description: |
        Used by the nrpe-external-master subordinate charm.
        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-postgresql-0
        If you're running multiple environments with the same services in them
        this allows you to differentiate between them.
