From c0c0cfb18aa3a2267547d1be7f05b9766ed4b449 Mon Sep 17 00:00:00 2001 From: Owen Date: Tue, 29 Sep 2026 13:59:46 -0400 Subject: [PATCH] Support exit-node as an alias for gateway type private resources --- server/lib/blueprints/types.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/lib/blueprints/types.ts b/server/lib/blueprints/types.ts index a057eb745..0a570ca8b 100644 --- a/server/lib/blueprints/types.ts +++ b/server/lib/blueprints/types.ts @@ -612,7 +612,18 @@ export function isTargetsOnlyResource(resource: any): boolean { export const PrivateResourceSchema = z .object({ name: z.string().min(1).max(255), - mode: z.enum(["host", "cidr", "http", "ssh", "inference", "gateway"]), + // "exit-node" is accepted as an alias for "gateway" (matches the UI naming) + mode: z + .enum([ + "host", + "cidr", + "http", + "ssh", + "inference", + "gateway", + "exit-node" + ]) + .transform((mode) => (mode === "exit-node" ? "gateway" : mode)), site: z.string().optional(), // DEPRECATED IN FAVOR OF sites sites: z.array(z.string()).optional().default([]), // protocol: z.enum(["tcp", "udp"]).optional(),