fix: clean legacy code queue deployment

This commit is contained in:
Codex
2026-05-16 17:35:45 +00:00
parent a85c2a1854
commit d61db81b68
4 changed files with 34 additions and 5 deletions
+29
View File
@@ -880,6 +880,30 @@ function importK3sImageScript(service: UniDeskMicroserviceConfig): string {
].join("\n");
}
function cleanupLegacyDirectCodeQueueScript(service: UniDeskMicroserviceConfig): string {
if (service.id !== "code-queue") return "";
return [
"set -euo pipefail",
"container=code-queue-backend",
"if docker ps -a --format '{{.Names}}' | grep -Fx \"$container\" >/dev/null; then",
" docker update --restart=no \"$container\" >/dev/null 2>&1 || true",
` compose_file=${shellQuote(`${targetWorkDir(service)}/src/components/microservices/code-queue/docker-compose.d601.yml`)}`,
" if [ -f \"$compose_file\" ]; then",
" docker compose -p code-queue -f \"$compose_file\" down --remove-orphans",
" else",
" docker rm -f \"$container\"",
" fi",
" echo stopped_legacy_direct_code_queue=$container",
"else",
" echo stopped_legacy_direct_code_queue=not-present",
"fi",
"if docker ps --format '{{.Names}}' | grep -Fx \"$container\" >/dev/null; then",
" echo legacy_direct_code_queue_still_running=$container >&2",
" exit 1",
"fi",
].join("\n");
}
function k8sDeploymentsForService(service: UniDeskMicroserviceConfig): string[] {
if (service.id === "code-queue") return ["d601-provider-egress-proxy", "d601-tcp-egress-gateway", "code-queue", "code-queue-read", "code-queue-write"];
return [service.repository.composeService];
@@ -1373,6 +1397,11 @@ async function applyOneService(config: UniDeskConfig, service: UniDeskMicroservi
if (!pushStep(steps, stamp)) return { ok: false, serviceId: service.id, startedAt, finishedAt: nowIso(), resolvedCommit, before, steps };
const rollout = await step(config, service, "rollout", rolloutK8sScript(service), targetWorkDir(service), 240_000, true);
if (!pushStep(steps, rollout)) return { ok: false, serviceId: service.id, startedAt, finishedAt: nowIso(), resolvedCommit, before, steps };
const legacyCleanupScript = cleanupLegacyDirectCodeQueueScript(service);
if (legacyCleanupScript.length > 0) {
const cleanup = await step(config, service, "legacy-direct-cleanup", legacyCleanupScript, targetWorkDir(service), 90_000, false);
if (!pushStep(steps, cleanup)) return { ok: false, serviceId: service.id, startedAt, finishedAt: nowIso(), resolvedCommit, before, steps };
}
} else {
const deploy = await step(config, service, "compose-up", composeDeployScript(service), targetIsMain(service) ? repoRoot : targetWorkDir(service), 180_000, !targetIsMain(service));
if (!pushStep(steps, deploy)) return { ok: false, serviceId: service.id, startedAt, finishedAt: nowIso(), resolvedCommit, before, steps };