Module Namespaces
Caddy guest modules are loaded generically as interface{} types. In order for the host modules to be able to use them, the loaded guest modules are usually type-asserted to a known type first. This page describes the mapping from module namespaces to Go types for all the standard modules.
Documentation for non-standard module namespaces can be found with the documentation for the host module that defines them.
| Namespace | Expected Type | Description |
|---|---|---|
caddy.App |
Caddy app | |
| caddy.logging.encoders.filter | logging.LogFieldFilter |
Log field filter |
| caddy.logging.writers | caddy.WriterOpener |
Log writers |
| caddy.storage | caddy.StorageConverter |
Storage backends |
| http.authentication.hashes | caddyauth.Comparer |
Password hashers/comparers |
| http.authentication.providers | caddyauth.Authenticator |
HTTP authentication providers |
| http.handlers | caddyhttp.MiddlewareHandler |
HTTP handlers |
| http.matchers | caddyhttp.RequestMatcher |
HTTP request matchers ⚠️ Subject to change |
| http.reverse_proxy.circuit_breakers | reverseproxy.CircuitBreaker |
Reverse proxy circuit breakers |
| http.reverse_proxy.selection_policies | reverseproxy.Selector |
Load balancing selection policies ⚠️ Subject to change |
| http.reverse_proxy.transport | http.RoundTripper |
HTTP reverse proxy transports |
| tls.certificates | caddytls.CertificateLoader |
TLS certificate source |
| tls.handshake_match | caddytls.ConnectionMatcher |
TLS connection matcher |
| tls.issuance | certmagic.Issuer |
TLS certificate issuer ⚠️ Subject to change |
| tls.stek | caddytls.STEKProvider |
TLS session ticket key source |