Browse Source

add additional_middlewares

Milo Schwartz 6 months ago
parent
commit
397036640e
2 changed files with 5 additions and 2 deletions
  1. 2 1
      server/lib/config.ts
  2. 3 1
      server/routers/traefik/getTraefikConfig.ts

+ 2 - 1
server/lib/config.ts

@@ -90,7 +90,8 @@ const configSchema = z.object({
         http_entrypoint: z.string(),
         https_entrypoint: z.string().optional(),
         cert_resolver: z.string().optional(),
-        prefer_wildcard_cert: z.boolean().optional()
+        prefer_wildcard_cert: z.boolean().optional(),
+        additional_middlewares: z.array(z.string()).optional()
     }),
     gerbil: z.object({
         start_port: portSchema

+ 3 - 1
server/routers/traefik/getTraefikConfig.ts

@@ -106,13 +106,15 @@ export async function traefikConfigProvider(
                     : {}),
             };
 
+            const additionalMiddlewares = config.getRawConfig().traefik.additional_middlewares || [];
+
             http.routers![routerName] = {
                 entryPoints: [
                     resource.ssl
                         ? config.getRawConfig().traefik.https_entrypoint
                         : config.getRawConfig().traefik.http_entrypoint,
                 ],
-                middlewares: [badgerMiddlewareName],
+                middlewares: [badgerMiddlewareName, ...additionalMiddlewares],
                 service: serviceName,
                 rule: `Host(\`${fullDomain}\`)`,
                 ...(resource.ssl ? { tls } : {}),