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 , then it should compile as .”

NamespaceExpected TypeDescription
caddy.AppCaddy app
caddy.logging.encoders.filterlogging.LogFieldFilterLog field filter
caddy.logging.writerscaddy.WriterOpenerLog writers
caddy.storagecaddy.StorageConverterStorage backends
http.authentication.hashescaddyauth.ComparerPassword hashers/comparers
http.authentication.providerscaddyauth.AuthenticatorHTTP authentication providers
http.handlerscaddyhttp.MiddlewareHandlerHTTP handlers
http.matcherscaddyhttp.RequestMatcherHTTP request matchers
⚠️ Subject to change
http.reverse_proxy.circuit_breakersreverseproxy.CircuitBreakerReverse proxy circuit breakers
http.reverse_proxy.selection_policiesreverseproxy.SelectorLoad balancing selection policies
⚠️ Subject to change
http.reverse_proxy.transporthttp.RoundTripperHTTP reverse proxy transports
tls.certificatescaddytls.CertificateLoaderTLS certificate source
tls.handshake_matchcaddytls.ConnectionMatcherTLS connection matcher
tls.issuancecertmagic.IssuerTLS certificate issuer
⚠️ Subject to change
tls.stekcaddytls.STEKProviderTLS session ticket key source