package
module
Version:
v0.0.0-...-e8cb5a0
Opens a new window with list of versions in this module.
Published: Jul 9, 2019
License: Apache-2.0
Opens a new window with license information.
Imports: 9
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
caddyplug
caddyplug is an experimental Caddy plugin manager using Go plugins.
Demonstration Video
Requirements
- Go 1.8
- Linux/macOS
- Caddy with hook.pluginloader plugin. Installable with
caddyplug install-caddy
.
Install
go get github.com/abiosoft/caddyplug/caddyplug
Usage
Usage:
caddyplug <command> [plugins...]
Commands:
install install plugins
uninstall uninstall plugins
list list plugins
install-caddy install caddy
package get plugin package
Example
$ caddyplug install git linode
✓ git
✓ linode
Goal
Building
Current:
- Edit source and add import line for plugin
- Rebuild Caddy
- Or select plugins and download on caddyserver.com/download
- Repeat
Desired:
Docker
Current:
Option 1
- Search for Docker image with desired plugins
- Give up and clone abiosoft/caddy (or similar) image
- Modify plugins arg in Dockerfile
- Worry about keeping track of upgrades to parent git/docker repo.
Option 2
Desired:
Add plugins as required
FROM abiosoft/caddy:plugin # Hopefully this changes to 'FROM caddy'
RUN caddyplug install git hugo digitalocean
Caveats
- Only works on Linux/macOS.
- Due to limitations of Go plugins, Caddy and plugins must be built with same Go version. Installing Caddy with caddyplug is recommended to ensure this.
- Not compatible with caddyserver.com/download yet. Requires
CGO_ENABLED=1
.
- Large Docker images. Multi-stage builds may help.
- Fetches
master
of plugin repositories.
go build --buildmode=plugin
is slow. Stop building on-demand, maybe.
- This is experimental and reliant on the stability of Go plugins.
Note
- This is not an official Caddy product.
Documentation
¶
There is no documentation for this package.
Source Files
¶
Directories
¶
Click to show internal directories.
Click to hide internal directories.