diff --git a/v2:-Writing-a-Module.md b/v2:-Writing-a-Module.md index 5d5b065..3712ec1 100644 --- a/v2:-Writing-a-Module.md +++ b/v2:-Writing-a-Module.md @@ -173,6 +173,8 @@ This is typically where host modules will load their guest/child modules, but it Provisioning MUST NOT depend on other apps; since provisioning is when modules are loaded. To rely on other app modules, you must wait until after the Provision phase. The provisioning of apps is done in an arbitrary order. +Additionally, you should avoid performing "expensive" operations in Provision, since provisioning is performed even if a config is only being validated. + ### Logs If your module emits logs, **do not use `log.Print*()` from the Go standard library**. In other words, do not use Go's global logger. Caddy uses high-performance, highly flexible, structured logging with [zap](https://github.com/uber-go/zap).