From 393da9e9847b114b1edb43af341b0c472d6ade38 Mon Sep 17 00:00:00 2001 From: P4PER Date: Thu, 19 Mar 2026 11:31:01 +0100 Subject: [PATCH 1/3] feat: add Chisel app template and SVG icon for service availability --- public/template-icons/chisel.svg | 6 ++ src/shared/templates/all.templates.ts | 5 +- src/shared/templates/apps/chisel.template.ts | 82 ++++++++++++++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 public/template-icons/chisel.svg create mode 100644 src/shared/templates/apps/chisel.template.ts diff --git a/public/template-icons/chisel.svg b/public/template-icons/chisel.svg new file mode 100644 index 0000000..9eba971 --- /dev/null +++ b/public/template-icons/chisel.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/shared/templates/all.templates.ts b/src/shared/templates/all.templates.ts index c807c70..df52848 100644 --- a/src/shared/templates/all.templates.ts +++ b/src/shared/templates/all.templates.ts @@ -44,6 +44,7 @@ import { openwebuiAppTemplate, postCreateOpenwebuiAppTemplate } from "./apps/ope import { AppExtendedModel } from "../model/app-extended.model"; import { tikaAppTemplate } from "./apps/tika.template"; import { libredeskAppTemplate, postCreateLibredeskAppTemplate } from "./apps/libredesk.template"; +import { chiselAppTemplate, postCreateChiselAppTemplate } from "./apps/chisel.template"; export const databaseTemplates: AppTemplateModel[] = [ @@ -95,7 +96,8 @@ export const appTemplates: AppTemplateModel[] = [ duplicatiAppTemplate, openwebuiAppTemplate, tikaAppTemplate, - libredeskAppTemplate + libredeskAppTemplate, + chiselAppTemplate ]; export const postCreateTemplateFunctions: Map Promise> = new Map([ @@ -105,6 +107,7 @@ export const postCreateTemplateFunctions: Map => { + const app = createdApps[0]; + + const { privateKey } = crypto.generateKeyPairSync('ec', { + namedCurve: 'P-256', + privateKeyEncoding: { type: 'sec1', format: 'pem' }, + publicKeyEncoding: { type: 'spki', format: 'pem' }, + }); + + app.appFileMounts.push({ + containerMountPath: '/etc/chisel/chisel.key', + content: privateKey, + } as any); + + return [app]; +}; \ No newline at end of file From dcd9da58028a6d2529258a97d222aefc5ceb952d Mon Sep 17 00:00:00 2001 From: biersoeckli Date: Fri, 20 Mar 2026 15:28:36 +0000 Subject: [PATCH 2/3] fix: add optional appId parameter to optionalParam in AppService --- src/server/services/app.service.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/services/app.service.ts b/src/server/services/app.service.ts index 31124ec..99e4b42 100644 --- a/src/server/services/app.service.ts +++ b/src/server/services/app.service.ts @@ -185,6 +185,7 @@ class AppService { // for new objects, make sure some params are optional, wich will be created by prisma const optionalParam = z.object({ id: z.string().optional(), + appId: z.string().optional(), createdAt: z.date().optional(), updatedAt: z.date().optional(), }); From a403bb04eb53226fc5fcd22abd9ca7d60d9bcbb8 Mon Sep 17 00:00:00 2001 From: biersoeckli Date: Fri, 20 Mar 2026 15:29:41 +0000 Subject: [PATCH 3/3] fix: enable network policy usage in Chisel app template since it does not impact the chisel connection --- src/shared/templates/apps/chisel.template.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/templates/apps/chisel.template.ts b/src/shared/templates/apps/chisel.template.ts index eed141e..96290b8 100644 --- a/src/shared/templates/apps/chisel.template.ts +++ b/src/shared/templates/apps/chisel.template.ts @@ -41,7 +41,7 @@ export function getChiselAppTemplate(config?: { ingressNetworkPolicy: Constants.DEFAULT_INGRESS_NETWORK_POLICY_APPS, egressNetworkPolicy: Constants.DEFAULT_EGRESS_NETWORK_POLICY_APPS, envVars: ``, - useNetworkPolicy: false, + useNetworkPolicy: true, healthCheckPeriodSeconds: Constants.DEFAULT_HEALTH_CHECK_PERIOD_SECONDS, healthCheckTimeoutSeconds: Constants.DEFAULT_HEALTH_CHECK_TIMEOUT_SECONDS, healthCheckFailureThreshold: Constants.DEFAULT_HEALTH_CHECK_FAILURE_THRESHOLD,