From 7f2b3eb481f7fce099322ab4173563d0a5184b44 Mon Sep 17 00:00:00 2001 From: Owen Date: Mon, 3 Aug 2026 14:34:11 -0400 Subject: [PATCH] Move rate linmit to file --- server/lib/readConfigFile.ts | 19 ++++++++++++++++++- .../private/lib/traefik/getTraefikConfig.ts | 10 ++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/server/lib/readConfigFile.ts b/server/lib/readConfigFile.ts index 6b6ac95aa..cb4b83ccf 100644 --- a/server/lib/readConfigFile.ts +++ b/server/lib/readConfigFile.ts @@ -258,7 +258,24 @@ export const configSchema = z pp_transport_prefix: z .string() .optional() - .default("pp-transport-v") + .default("pp-transport-v"), + rate_limit: z + .object({ + average: z + .number() + .positive() + .gt(0) + .optional() + .default(10), + burst: z + .number() + .positive() + .gt(0) + .optional() + .default(16) + }) + .optional() + .prefault({}) }) .optional() .prefault({}), diff --git a/server/private/lib/traefik/getTraefikConfig.ts b/server/private/lib/traefik/getTraefikConfig.ts index 03b7bfa73..b1a34842a 100644 --- a/server/private/lib/traefik/getTraefikConfig.ts +++ b/server/private/lib/traefik/getTraefikConfig.ts @@ -420,6 +420,8 @@ export async function getTraefikConfig( // logger.debug(`Valid certs for domains: ${JSON.stringify(validCerts)}`); } + const traefikRateLimit = config.getRawConfig().traefik.rate_limit; + const config_output: any = { http: { middlewares: { @@ -437,14 +439,14 @@ export async function getTraefikConfig( }, [landingRateLimitMiddlewareName]: { rateLimit: { - average: 3, - burst: 6 + average: traefikRateLimit.average, + burst: traefikRateLimit.burst } }, [bgRateLimitMiddlewareName]: { rateLimit: { - average: 3, - burst: 6 + average: traefikRateLimit.average, + burst: traefikRateLimit.burst } } }