[3] At its core, Caddy is an extensible platform for deploying long-running services ("apps") using a single, unified configuration that can be updated on-line with a REST API.
[4] Official Caddy distributions ship with a set of standard modules which include HTTP server, TLS automation, and PKI apps.
[8] The command is the extensible interface by which the program is executed; it can also load configuration files, run common modes, manage installed plugins, and offer relevant utility functions.
Official Caddy distributions ship with dozens of standard modules;[5] others can be added from the project's website,[15] using the xcaddy command line tool, or by manually compiling a custom build.
[16] Miek Gieben forked Caddy to use as the core of CoreDNS, now a project of the Cloud Native Computing Foundation, as he appreciated its overall architecture and simplicity of its configuration.
[19] While the basis of Caddy's HTTP features use the implementation found in Go's standard library,[20] a variety enhancements and customizations are available as middleware and exposed through configuration parameters:[6] By default, TLS is used automatically if any routes have a non-empty host matcher.