Canvas: Process pre-build commands
Change-Id: I236f154c430b9ea29a4e0e491e1de27e78438440
diff --git a/apps/canvas/front/src/lib/config.ts b/apps/canvas/front/src/lib/config.ts
index f8d82ed..3eed93e 100644
--- a/apps/canvas/front/src/lib/config.ts
+++ b/apps/canvas/front/src/lib/config.ts
@@ -54,6 +54,7 @@
ingress?: Ingress[];
expose?: PortDomain[];
volume?: string[];
+ preBuildCommands?: string[];
};
export type Volume = {
@@ -123,6 +124,7 @@
auth: { enabled: false },
})),
expose: findExpose(n),
+ preBuildCommands: [n.data.preBuildCommands.split("\n").map((cmd) => ({ bin: cmd }))],
};
}),
volume: nodes.filter((n) => n.type === "volume").map((n): Volume => ({
diff --git a/apps/canvas/front/src/lib/state.ts b/apps/canvas/front/src/lib/state.ts
index 8d728d0..664ba6e 100644
--- a/apps/canvas/front/src/lib/state.ts
+++ b/apps/canvas/front/src/lib/state.ts
@@ -67,7 +67,16 @@
value: number;
};
-export const ServiceTypes = ["node-23.1.0", "nextjs:deno-2.0.0"] as const;
+export const ServiceTypes = [
+ "deno:2.2.0",
+ "golang:1.20.0",
+ "golang:1.22.0",
+ "golang:1.24.0",
+ "hugo:latest",
+ "php:8.2-apache",
+ "nextjs:deno-2.0.0",
+ "node-23.1.0"
+] as const;
export type ServiceType = typeof ServiceTypes[number];
export type ServiceData = NodeData & {
@@ -79,6 +88,7 @@
};
env: string[];
volume: string[];
+ preBuildCommands: string;
isChoosingPortToConnect: boolean;
};