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/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(), }); 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