plugin/file: trigger reload of zones based on mtime (#8085)

* Added fs.FileInfo.ModTime() based reload feature

Signed-off-by: Endre Szabo <git@end.re>

* Updated the plugin documentation.

Signed-off-by: Endre Szabo <git@end.re>

---------

Signed-off-by: Endre Szabo <git@end.re>
This commit is contained in:
Endre Szabo
2026-05-20 04:43:46 +02:00
committed by GitHub
parent ee7ff82cf5
commit 35391dd8a9
6 changed files with 283 additions and 4 deletions

View File

@@ -77,6 +77,7 @@ func fileParse(c *caddy.Controller) (Zones, fall.F, error) {
var openErr error
reload := 1 * time.Minute
reload_by_mtime := false
for c.Next() {
// file db.file [zones...]
@@ -131,6 +132,8 @@ func fileParse(c *caddy.Controller) (Zones, fall.F, error) {
return Zones{}, fall, plugin.Error("file", err)
}
reload = d
case "reload_by_mtime":
reload_by_mtime = true
case "upstream":
// remove soon
c.RemainingArgs()
@@ -143,6 +146,7 @@ func fileParse(c *caddy.Controller) (Zones, fall.F, error) {
for i := range origins {
z[origins[i]].ReloadInterval = reload
z[origins[i]].Upstream = upstream.New()
z[origins[i]].ReloadByMtime = reload_by_mtime
}
}