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

# Ingress configurator charm.

[Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

* [Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

Platform:

24.04

stable 53d1c7f6

```
juju deploy ingress-configurator
```

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

* [additional-hostnames](https://charmhub.io/ingress-configurator/configurations#additional-hostnames)
* [allow-http](https://charmhub.io/ingress-configurator/configurations#allow-http)
* [backend-addresses](https://charmhub.io/ingress-configurator/configurations#backend-addresses)
* [backend-ports](https://charmhub.io/ingress-configurator/configurations#backend-ports)
* [backend-protocol](https://charmhub.io/ingress-configurator/configurations#backend-protocol)
* [cache-backend-hostname](https://charmhub.io/ingress-configurator/configurations#cache-backend-hostname)
* [cache-fail-timeout](https://charmhub.io/ingress-configurator/configurations#cache-fail-timeout)
* [cache-healthcheck-ssl-verify](https://charmhub.io/ingress-configurator/configurations#cache-healthcheck-ssl-verify)
* [cache-inactive](https://charmhub.io/ingress-configurator/configurations#cache-inactive)
* [cache-max-size](https://charmhub.io/ingress-configurator/configurations#cache-max-size)
* [cache-proxy-cache-valid](https://charmhub.io/ingress-configurator/configurations#cache-proxy-cache-valid)
* [deny-paths](https://charmhub.io/ingress-configurator/configurations#deny-paths)
* [external-grpc-port](https://charmhub.io/ingress-configurator/configurations#external-grpc-port)
* [header-rewrite-expressions](https://charmhub.io/ingress-configurator/configurations#header-rewrite-expressions)
* [health-check-fall](https://charmhub.io/ingress-configurator/configurations#health-check-fall)
* [health-check-interval](https://charmhub.io/ingress-configurator/configurations#health-check-interval)
* [health-check-path](https://charmhub.io/ingress-configurator/configurations#health-check-path)
* [health-check-port](https://charmhub.io/ingress-configurator/configurations#health-check-port)
* [health-check-rise](https://charmhub.io/ingress-configurator/configurations#health-check-rise)
* [hostname](https://charmhub.io/ingress-configurator/configurations#hostname)
* [http-server-close](https://charmhub.io/ingress-configurator/configurations#http-server-close)
* [load-balancing-algorithm](https://charmhub.io/ingress-configurator/configurations#load-balancing-algorithm)
* [load-balancing-consistent-hashing](https://charmhub.io/ingress-configurator/configurations#load-balancing-consistent-hashing)
* [load-balancing-cookie](https://charmhub.io/ingress-configurator/configurations#load-balancing-cookie)
* [path-rewrite-expressions](https://charmhub.io/ingress-configurator/configurations#path-rewrite-expressions)
* [paths](https://charmhub.io/ingress-configurator/configurations#paths)
* [retry-count](https://charmhub.io/ingress-configurator/configurations#retry-count)
* [retry-redispatch](https://charmhub.io/ingress-configurator/configurations#retry-redispatch)
* [tcp-backend-addresses](https://charmhub.io/ingress-configurator/configurations#tcp-backend-addresses)
* [tcp-backend-port](https://charmhub.io/ingress-configurator/configurations#tcp-backend-port)
* [tcp-enable-proxy-protocol](https://charmhub.io/ingress-configurator/configurations#tcp-enable-proxy-protocol)
* [tcp-enforce-tls](https://charmhub.io/ingress-configurator/configurations#tcp-enforce-tls)
* [tcp-frontend-port](https://charmhub.io/ingress-configurator/configurations#tcp-frontend-port)
* [tcp-health-check-db-user](https://charmhub.io/ingress-configurator/configurations#tcp-health-check-db-user)
* [tcp-health-check-expect](https://charmhub.io/ingress-configurator/configurations#tcp-health-check-expect)
* [tcp-health-check-fall](https://charmhub.io/ingress-configurator/configurations#tcp-health-check-fall)
* [tcp-health-check-interval](https://charmhub.io/ingress-configurator/configurations#tcp-health-check-interval)
* [tcp-health-check-rise](https://charmhub.io/ingress-configurator/configurations#tcp-health-check-rise)
* [tcp-health-check-send](https://charmhub.io/ingress-configurator/configurations#tcp-health-check-send)
* [tcp-health-check-type](https://charmhub.io/ingress-configurator/configurations#tcp-health-check-type)
* [tcp-hostname](https://charmhub.io/ingress-configurator/configurations#tcp-hostname)
* [tcp-load-balancing-algorithm](https://charmhub.io/ingress-configurator/configurations#tcp-load-balancing-algorithm)
* [tcp-load-balancing-consistent-hashing](https://charmhub.io/ingress-configurator/configurations#tcp-load-balancing-consistent-hashing)
* [tcp-port-mapping](https://charmhub.io/ingress-configurator/configurations#tcp-port-mapping)
* [tcp-retry-count](https://charmhub.io/ingress-configurator/configurations#tcp-retry-count)
* [tcp-retry-redispatch](https://charmhub.io/ingress-configurator/configurations#tcp-retry-redispatch)
* [tcp-timeout-connect](https://charmhub.io/ingress-configurator/configurations#tcp-timeout-connect)
* [tcp-timeout-queue](https://charmhub.io/ingress-configurator/configurations#tcp-timeout-queue)
* [tcp-timeout-server](https://charmhub.io/ingress-configurator/configurations#tcp-timeout-server)
* [tcp-tls-terminate](https://charmhub.io/ingress-configurator/configurations#tcp-tls-terminate)
* [timeout-connect](https://charmhub.io/ingress-configurator/configurations#timeout-connect)
* [timeout-queue](https://charmhub.io/ingress-configurator/configurations#timeout-queue)
* [timeout-server](https://charmhub.io/ingress-configurator/configurations#timeout-server)

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

* additional-hostnames | string

  Comma-separated list of additional\_hostnames to route to the service.
  Will be ignored if hostname is not set.
* allow-http | boolean

  If set to true, allows HTTP traffic in addition to HTTPS. Defaults to False.
  Warning: enabling HTTP is a security risk, make sure you apply the necessary precautions.
* backend-addresses | string

  (integrator mode) Comma-separated list of IP addresses of the backend services.
  For gateway-route, all IP addresses must be in the same address family (IPv4 or IPv6).
* backend-ports | string

  (integrator mode) Comma-separated list of ports of the backend services.
  For gateway-route, exactly one port must be provided.
* backend-protocol | string

  The protocol that the backend service speaks. "http" (default) or "https".
* cache-backend-hostname | string

  Hostname content-cache should present (SNI and HTTP Host header) when
  connecting to the origin backend over HTTPS. Use this when the origin's own
  hostname differs from the externally-facing hostname (e.g. backend-addresses
  point at "blog.ubuntu.internal" while hostname is "blog.ubuntu.com").
  Required when backend-protocol is https; unrelated to and never derived from
  hostname. Generally left unset for HTTP backends: content-cache passes the
  incoming Host header through unchanged in that case. Setting it changes the
  Host header the backend receives, so the backend application must be aware
  it's being fronted by a cache (e.g. its own hostname allowlist/CORS config
  must accept this value).
  Only used when the cache-config relation is present.
* cache-fail-timeout | string

  Default: 30s

  Time before marking a backend as unavailable after a failed health check,
  sent to the content-cache via the cache-config relation (e.g. "30s", "1m").
  Only used when the cache-config relation is present.
* cache-healthcheck-ssl-verify | boolean

  Default: True

  Whether content-cache should verify TLS certificates when performing
  health checks against backends. Set to false when backends use
  self-signed certificates.
  Only used when the cache-config relation is present.
* cache-inactive | string

  Default: 10m

  Time after which a cached item is evicted from disk if not accessed.
  Uses nginx time format: positive integer followed by s (seconds),
  m (minutes), h (hours), or d (days). For example: 10m, 1h, 7d.
  Only used when the cache-config relation is present.
* cache-max-size | string

  Maximum total disk space used by the cache. Uses nginx size format:
  positive integer followed by k, m, or g (case-insensitive).
  For example: 512m, 2g. When set, content-cache evicts least-recently-used
  entries when the limit is reached. Empty string means no limit.
  Only used when the cache-config relation is present.
* cache-proxy-cache-valid | string

  Cache validity rule to send to the content-cache, e.g. "200 1h".
  Only used when the cache-config relation is present.
  If not set, no cache validity rules are sent to content-cache.
* deny-paths | string

  Comma-separated list of URL paths that should not be routed to the service.
* external-grpc-port | int

  (integrator mode) Frontend port to expose gRPC services.
  If not set, gRPC will be routed through port 443 with HTTPS traffic.
  Do not set this if the backend is not gRPC.
* header-rewrite-expressions | string

  New line ('\n') separated list of header rewrite expressions.
  Each header rewrite expression will consist of the header name and the header rewrite
  expression separated by colon (':').
  Example: "X-Forwarded-For:%[src]\nHost:maintenance.domain.com"
* health-check-fall | int

  Number of failed health checks before server is considered down.
* health-check-interval | int

  Interval between health checks in seconds.
* health-check-path | string

  The path to use for server health checks.
* health-check-port | int

  The port to use for http-check.
* health-check-rise | int

  Number of successful health checks before server is considered up.
* hostname | string

  The hostname to route to the backend service.
* http-server-close | boolean

  If set to true, the server will close the connection after each request.
  This can be useful for certain applications that do not support keep-alive.
* load-balancing-algorithm | string

  Default: leastconn

  Algorithm to use to load balance incoming requests.
  Can be leastconn, roundrobin, cookie or source
* load-balancing-consistent-hashing | boolean

  Only applies when the `algorithm` is "source" or "cookie".
  Use consistent hashing to avoid redirection when servers are added/removed.
* load-balancing-cookie | string

  Only applies with algorithm is "cookie". Cookie name to use for load balancing.
* path-rewrite-expressions | string

  New line ('\n') separated list of path rewrite expressions.
  Example: "%[path,regsub(^/,/new)]\n%[path,regsub(^/api,/v1)]"
* paths | string

  Comma-separated list of URL paths to route to the service.
* retry-count | int

  Number of times to retry failed requests.
* retry-redispatch | boolean

  Whether to redispatch failed requests to another server.
* tcp-backend-addresses | string

  (integrator mode, TCP) Comma-separated list of IP addresses of the TCP backend.
* tcp-backend-port | int

  (deprecated) (integrator mode, TCP) Port of the TCP backend.
  This config option is deprecated in favor of tcp-port-mapping.
* tcp-enable-proxy-protocol | boolean

  Whether to enable PROXY protocol when connecting to backend servers.
  When enabled, HAProxy will send PROXY protocol headers to the backend servers.
* tcp-enforce-tls | boolean

  Default: True

  Whether to enforce TLS for all TCP traffic.
  When true, all TCP connections must use TLS.
  Note: tcp-hostname (SNI) cannot be used when this option is disabled.
* tcp-frontend-port | int

  (deprecated) (integrator mode, TCP) Port opened on the haproxy charm.
  This config option is deprecated in favor of tcp-port-mapping.
* tcp-health-check-db-user | string

  Database user for health checks.
  Only used when tcp-health-check-type is "mysql" or "postgres".
* tcp-health-check-expect | string

  Expected response string from the health check.
  Only used when tcp-health-check-type is "generic".
* tcp-health-check-fall | int

  Number of failed health checks before server is considered down.
* tcp-health-check-interval | int

  Interval between health checks in seconds.
* tcp-health-check-rise | int

  Number of successful health checks before server is considered up.
* tcp-health-check-send | string

  String to send in the health check request.
  Only used when tcp-health-check-type is "generic".
* tcp-health-check-type | string

  Health check type. Can be "generic", "mysql", "postgres", "redis" or "smtp".
  Use "generic" for custom TCP checks with send/expect strings.
  Use "mysql" or "postgres" for database-specific checks (requires tcp-health-check-db-user).
* tcp-hostname | string

  Specify the SNI (Server Name Indication).
* tcp-load-balancing-algorithm | string

  Default: leastconn

  Algorithm to use to load balance incoming connections.
  Can be leastconn, roundrobin or source
* tcp-load-balancing-consistent-hashing | boolean

  Only applies when the `algorithm` is "source".
  Use consistent hashing to avoid redirection when servers are added/removed.
* tcp-port-mapping | string

  (integrator mode, TCP) Port range mapping from frontend to backend, in the format
  '{frontend\_start}-{frontend\_end}:{backend\_start}-{backend\_end}'
  (e.g. '4000-4499:20000-20499'). The frontend range is exposed on the load balancer,
  and backend ports are computed by adding the offset between the two ranges.
  Mutually exclusive with tcp-frontend-port and tcp-backend-port.
  Specifying a single port is also supported, e.g. '4000:20000'.
* tcp-retry-count | int

  Number of times to retry failed connections to the backend.
* tcp-retry-redispatch | boolean

  Whether to redispatch failed connections to another server.
* tcp-timeout-connect | int

  Timeout for client requests to haproxy in seconds.
* tcp-timeout-queue | int

  Timeout for requests waiting in queue in seconds.
* tcp-timeout-server | int

  Timeout for requests from haproxy to backend servers in seconds.
* tcp-tls-terminate | boolean

  Default: True

  Whether to enable TLS termination on the TCP route.
* timeout-connect | int

  Default: 60

  Timeout for client requests to haproxy in seconds.
* timeout-queue | int

  Default: 60

  Timeout for requests waiting in queue in seconds.
* timeout-server | int

  Default: 60

  Timeout for requests from haproxy to backend servers in seconds.
