feat: secure frontend and provider ingress

This commit is contained in:
Codex
2026-05-04 11:40:56 +00:00
parent caa80ee5e7
commit 8726611b6f
25 changed files with 1491 additions and 450 deletions
+10
View File
@@ -11,7 +11,9 @@ export interface UniDeskConfig {
core: { port: number; containerPort: number };
frontend: { port: number; containerPort: number };
database: { port: number; containerPort: number };
providerIngress: { port: number; containerPort: number };
};
auth: { username: string; password: string; sessionSecret: string; sessionTtlSeconds: number };
database: { user: string; password: string; name: string; volume: string; volumeSize: string };
providerGateway: {
id: string;
@@ -67,6 +69,7 @@ export function readConfig(): UniDeskConfig {
const runtime = asRecord(parsed.runtime, "runtime");
const network = asRecord(parsed.network, "network");
const database = asRecord(parsed.database, "database");
const auth = asRecord(parsed.auth, "auth");
const providerGateway = asRecord(parsed.providerGateway, "providerGateway");
const docker = asRecord(parsed.docker, "docker");
const paths = asRecord(parsed.paths, "paths");
@@ -83,6 +86,7 @@ export function readConfig(): UniDeskConfig {
core: portPair(network, "core"),
frontend: portPair(network, "frontend"),
database: portPair(network, "database"),
providerIngress: portPair(network, "providerIngress"),
},
database: {
user: stringField(database, "user", "database"),
@@ -113,5 +117,11 @@ export function readConfig(): UniDeskConfig {
port: numberField(sshForwarding, "port", "sshForwarding"),
user: stringField(sshForwarding, "user", "sshForwarding"),
},
auth: {
username: stringField(auth, "username", "auth"),
password: stringField(auth, "password", "auth"),
sessionSecret: stringField(auth, "sessionSecret", "auth"),
sessionTtlSeconds: numberField(auth, "sessionTtlSeconds", "auth"),
},
};
}