Canvas: Implement ingress auth
Change-Id: Id884940feb0ac96559874f698fb213acd60f76f4
diff --git a/apps/canvas/config/src/config.ts b/apps/canvas/config/src/config.ts
index 7fd7066..ea74431 100644
--- a/apps/canvas/config/src/config.ts
+++ b/apps/canvas/config/src/config.ts
@@ -99,8 +99,8 @@
i.data.auth?.enabled || false
? {
enabled: true,
- groups: i.data.auth!.groups,
- noAuthPathPatterns: i.data.auth!.noAuthPathPatterns,
+ groups: (i.data.auth!.groups || []).join(","),
+ noAuthPathPatterns: i.data.auth!.noAuthPathPatterns || [],
}
: {
enabled: false,
@@ -385,7 +385,7 @@
auth: i.auth.enabled
? {
enabled: true,
- groups: i.auth.groups || [],
+ groups: (i.auth.groups || "").split(","),
noAuthPathPatterns: i.auth.noAuthPathPatterns || [],
}
: {
diff --git a/apps/canvas/config/src/graph.ts b/apps/canvas/config/src/graph.ts
index 66c3c07..ef868da 100644
--- a/apps/canvas/config/src/graph.ts
+++ b/apps/canvas/config/src/graph.ts
@@ -150,8 +150,8 @@
https?: PortConnectedTo;
auth?: {
enabled: boolean;
- groups: string[];
- noAuthPathPatterns: string[];
+ groups?: string[];
+ noAuthPathPatterns?: string[];
};
};
@@ -448,6 +448,13 @@
portId: z.string(),
})
.optional(),
+ auth: z
+ .object({
+ enabled: z.boolean(),
+ groups: z.array(z.string()).optional(),
+ noAuthPathPatterns: z.array(z.string()).optional(),
+ })
+ .optional(),
})
.extend(NodeBaseDataSchema.shape),
})
diff --git a/apps/canvas/config/src/types.ts b/apps/canvas/config/src/types.ts
index 4242d97..8b80857 100644
--- a/apps/canvas/config/src/types.ts
+++ b/apps/canvas/config/src/types.ts
@@ -2,11 +2,13 @@
const AuthDisabledSchema = z.object({
enabled: z.literal(false),
+ groups: z.undefined(),
+ noAuthPathPatterns: z.undefined(),
});
const AuthEnabledSchema = z.object({
enabled: z.literal(true),
- groups: z.array(z.string()),
+ groups: z.string().optional(),
noAuthPathPatterns: z.array(z.string()),
});
diff --git a/apps/canvas/front/package.json b/apps/canvas/front/package.json
index 43aa538..b2c1fc8 100644
--- a/apps/canvas/front/package.json
+++ b/apps/canvas/front/package.json
@@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite --port=$DODO_PORT_WEB --host",
- "build": "NODE_OPTIONS=--max-old-space-size=1000 vite build",
+ "build": "NODE_OPTIONS=--max-old-space-size=800 vite build",
"format": "prettier --write src/**/*.{js,ts,jsx,tsx} --list-different",
"format-check": "prettier --check src/**/*.{js,ts,jsx,tsx}",
"lint": "eslint .",