diff options
author | Matthew Holt <[email protected]> | 2019-11-04 12:13:21 -0700 |
---|---|---|
committer | Matthew Holt <[email protected]> | 2019-11-04 12:13:21 -0700 |
commit | 6011ce120a4b2df9314a800fc93a61f852b766c1 (patch) | |
tree | 9618ae2d2196fb07fff6d0a8bc3b6ea49b03190d | |
parent | 27e288ab19a3a4d9243a8871d5b3c6426478e008 (diff) | |
download | caddy-6011ce120a4b2df9314a800fc93a61f852b766c1.tar.gz caddy-6011ce120a4b2df9314a800fc93a61f852b766c1.zip |
cmd: Move module imports into standard packages
This makes it easier to make "standard" caddy builds, since you'll only
need to add a single import to get all of Caddy's standard modules.
There is a package for all of Caddy's standard modules (modules/standard)
and a package for the HTTP app's standard modules only
(modules/caddyhttp/standard).
We still need to decide which of these, if not all of them, should be
kept in the standard build. Those which aren't should be moved out of
this repo. See #2780.
-rw-r--r-- | cmd/caddy/main.go | 39 | ||||
-rw-r--r-- | modules/caddyhttp/standard/imports.go | 21 | ||||
-rw-r--r-- | modules/standard/import.go | 14 |
3 files changed, 49 insertions, 25 deletions
diff --git a/cmd/caddy/main.go b/cmd/caddy/main.go index 54220ded0..2383546a2 100644 --- a/cmd/caddy/main.go +++ b/cmd/caddy/main.go @@ -12,36 +12,25 @@ // See the License for the specific language governing permissions and // limitations under the License. +// Package main is the entry point of the Caddy application. +// Most of Caddy's functionality is provided through modules, +// which can be plugged in by adding their import below. +// +// There is no need to modify the Caddy source code to customize your +// builds. You can easily build a custom Caddy with these simple steps: +// +// 1. Copy this file (main.go) into a new folder +// 2. Edit the imports below to include the modules you want plugged in +// 3. Run `go mod init caddy` +// 4. Run `go install` or `go build` - you now have a custom binary! +// package main import ( caddycmd "github.com/caddyserver/caddy/v2/cmd" - // this is where modules get plugged in - _ "github.com/caddyserver/caddy/v2/caddyconfig/caddyfile" - _ "github.com/caddyserver/caddy/v2/caddyconfig/json5" - _ "github.com/caddyserver/caddy/v2/caddyconfig/jsonc" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/caddyauth" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode/brotli" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode/gzip" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode/zstd" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/fileserver" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/headers" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/httpcache" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/markdown" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/requestbody" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy/fastcgi" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/starlarkmw" - _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/templates" - _ "github.com/caddyserver/caddy/v2/modules/caddytls" - _ "github.com/caddyserver/caddy/v2/modules/caddytls/distributedstek" - _ "github.com/caddyserver/caddy/v2/modules/caddytls/standardstek" - _ "github.com/caddyserver/caddy/v2/modules/filestorage" - _ "github.com/caddyserver/caddy/v2/modules/logging" + // plug in Caddy modules here + _ "github.com/caddyserver/caddy/v2/modules/standard" ) func main() { diff --git a/modules/caddyhttp/standard/imports.go b/modules/caddyhttp/standard/imports.go new file mode 100644 index 000000000..0e4e1b88a --- /dev/null +++ b/modules/caddyhttp/standard/imports.go @@ -0,0 +1,21 @@ +package standard + +import ( + // standard Caddy HTTP app modules + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/caddyauth" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode/brotli" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode/gzip" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode/zstd" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/fileserver" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/headers" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/httpcache" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/markdown" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/requestbody" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy/fastcgi" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/starlarkmw" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/templates" +) diff --git a/modules/standard/import.go b/modules/standard/import.go new file mode 100644 index 000000000..5ecfb4ac4 --- /dev/null +++ b/modules/standard/import.go @@ -0,0 +1,14 @@ +package standard + +import ( + // standard Caddy modules + _ "github.com/caddyserver/caddy/v2/caddyconfig/caddyfile" + _ "github.com/caddyserver/caddy/v2/caddyconfig/json5" + _ "github.com/caddyserver/caddy/v2/caddyconfig/jsonc" + _ "github.com/caddyserver/caddy/v2/modules/caddyhttp/standard" + _ "github.com/caddyserver/caddy/v2/modules/caddytls" + _ "github.com/caddyserver/caddy/v2/modules/caddytls/distributedstek" + _ "github.com/caddyserver/caddy/v2/modules/caddytls/standardstek" + _ "github.com/caddyserver/caddy/v2/modules/filestorage" + _ "github.com/caddyserver/caddy/v2/modules/logging" +) |