Components

The Content Cache charm is deployed together with other charms to provide backend configuration and, optionally, ingress in front of the cache.

Content Cache

The Content Cache charm is the primary charm of the project. It is a machine charm that manages an NGINX instance configured as a content cache. It exposes a cache-config endpoint (interface: content-cache-config) that a backend-configuration charm uses to describe which backends to cache, and a certificates/receive-ca-cert pair of endpoints used for TLS.

Content Cache Backends Config

The Content Cache Backends Config charm is a subordinate charm to the Content Cache charm. It provides the Content Cache charm with the configuration required to expose a set of backend services behind the caching capabilities of the Content Cache charm, directly over the cache-config endpoint.

Ingress configurator

The Ingress configurator charm is an alternative way to configure Content Cache’s backends. Like Content Cache Backends Config, it integrates with Content Cache over the cache-config endpoint, translating its own configuration options (backend addresses and ports, health check parameters, cache validity, TLS/hostname settings) into the content-cache-config relation data that Content Cache consumes.

Deploying Ingress configurator together with the HAProxy charm (over the haproxy-route interface) additionally provides an ingress layer in front of Content Cache, adding hostname/path-based routing, TLS termination, DDoS protection, and other features that Content Cache Backends Config does not offer on its own. See the Ingress configurator documentation for its full configuration reference, and Tutorial for a walkthrough of this deployment.