fix(dev): share auth across dev frontend proxy
This commit is contained in:
@@ -1043,6 +1043,25 @@ function devK3sPrepullImages(service: UniDeskMicroserviceConfig): string[] {
|
||||
return ["oven/bun:1-alpine"];
|
||||
}
|
||||
|
||||
function syncDevFrontendAuthScript(config: UniDeskConfig): string {
|
||||
const data = {
|
||||
AUTH_USERNAME: Buffer.from(config.auth.username, "utf8").toString("base64"),
|
||||
AUTH_PASSWORD: Buffer.from(config.auth.password, "utf8").toString("base64"),
|
||||
SESSION_SECRET: Buffer.from(config.auth.sessionSecret, "utf8").toString("base64"),
|
||||
};
|
||||
const runtimeConfig = {
|
||||
SESSION_TTL_SECONDS: String(config.auth.sessionTtlSeconds),
|
||||
};
|
||||
return [
|
||||
"set -euo pipefail",
|
||||
`secret_patch=${shellQuote(JSON.stringify({ data }))}`,
|
||||
`config_patch=${shellQuote(JSON.stringify({ data: runtimeConfig }))}`,
|
||||
`KUBECONFIG=${shellQuote(k8sKubeconfig)} kubectl -n unidesk-dev patch secret unidesk-dev-runtime-secrets --type merge -p "$secret_patch"`,
|
||||
`KUBECONFIG=${shellQuote(k8sKubeconfig)} kubectl -n unidesk-dev patch configmap unidesk-dev-runtime-config --type merge -p "$config_patch"`,
|
||||
"echo dev_frontend_auth_synced=ok",
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
function prepareSourceScript(service: UniDeskMicroserviceConfig, desired: DeployManifestService, exportDir: string): string {
|
||||
if (targetIsMain(service) && isUnideskRepo(desired.repo)) {
|
||||
return [
|
||||
@@ -2315,6 +2334,11 @@ async function applyOneService(config: UniDeskConfig, service: UniDeskMicroservi
|
||||
if (!pushStep(steps, patchManifest)) return { ok: false, serviceId: service.id, startedAt, finishedAt: nowIso(), resolvedCommit, before, steps };
|
||||
}
|
||||
|
||||
if (isDevK3sDeployService(service) && service.id === "frontend") {
|
||||
const authSync = await step(config, service, "sync-dev-frontend-auth", syncDevFrontendAuthScript(config), "/home/ubuntu", 60_000, false);
|
||||
if (!pushStep(steps, authSync)) return { ok: false, serviceId: service.id, startedAt, finishedAt: nowIso(), resolvedCommit, before, steps };
|
||||
}
|
||||
|
||||
const buildScript = isDirectComposeDeployMode(service)
|
||||
? buildDirectImageScript(service, desired, resolvedCommit)
|
||||
: buildImageScript(service, desired, resolvedCommit);
|
||||
|
||||
Reference in New Issue
Block a user