fix: clean legacy code queue deployment
This commit is contained in:
@@ -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 };
|
||||
|
||||
Reference in New Issue
Block a user