feat: optional site.yaml 'middlewares' list appended to Ingress middleware annotation

Lets a site opt into extra file-provider middlewares (e.g. authentik-forwardauth
to auth-gate a site). Backward-compatible: absent/empty key renders the exact
previous annotation.
This commit is contained in:
2026-06-12 13:01:05 +00:00
parent d431fbddb4
commit f1f780f5a3
4 changed files with 12 additions and 1 deletions
+5
View File
@@ -87,6 +87,10 @@ def parse_site_yaml(site_dir):
if not isinstance(excludes, list) or any(not isinstance(p, str) for p in excludes):
die("excludes must be a list of string patterns")
middlewares = cfg.get("middlewares") or []
if not isinstance(middlewares, list) or any(not isinstance(m, str) for m in middlewares):
die("middlewares must be a list of Traefik file-provider middleware names")
site = {
"domain": cfg["domain"],
"type": site_type,
@@ -95,6 +99,7 @@ def parse_site_yaml(site_dir):
"content_dir": cfg.get("content_dir", ""),
"tidy": cfg.get("tidy", True),
"excludes": excludes,
"middlewares": middlewares,
}
print("Site config:")