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.
One way to read this table is, “If your module is in
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 |