Caddy
Render, validate, and remotely apply Caddy JSON reverse-proxy configuration using a containerized Caddy runtime.
2026.08.12.1
Changed: Rendered Caddy configurations now use their SHA-256 digest as the
artifact name, so validation and deployment refer to exact configuration
content instead of mutable current outputs.
Changed: Validation and apply results are recorded by swamp method outputs;
the redundant validation and apply data resources are no longer produced.
Fixed: Compound apply methods no longer return duplicate data instance names after successfully updating the remote Caddy service.
Upgrade note: validateConfig and applyConfig now require configName
instead of configJson. Run renderReverseProxy first and pass its config
artifact name. Replace consumers of validation/current and apply/current
with the corresponding swamp method output or @swamp/method-summary report.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| nodeHost? | string | SSH hostname or IP of the node running Caddy; required for apply methods |
| nodeUser | string | SSH user for the node |
| nodePort | number | SSH port |
| nodeIdentityFile | string | SSH private key path |
| workDir | string | Remote directory containing Caddy config and compose file |
| containerImage | string | Caddy container image used for validation/apply |
| Argument | Type | Description |
|---|---|---|
| sites | array |
| Argument | Type | Description |
|---|---|---|
| configName | string |
Resources
2026.07.20.1
Added: Initial release of @evrardjp/caddy, with reverse-proxy JSON
rendering, Caddy-native validation, and remote Docker Compose deployment over
SSH.
Added: Upstream transport configuration requires an explicit decision about TLS certificate verification.
Fixed: Remote paths and file content are safely encoded, HTTP-only sites honor disabled TLS, and failed Compose startup no longer removes a running proxy.
Fixed: Container and host restarts now load the durable managed Caddy configuration instead of returning to the bootstrap placeholder.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned