Files
huncode 2ce58fcbc0
Master Production Deploy / production (push) Failing after 49s
feat: complete dashcam catalog ingestion demo
2026-07-31 02:01:58 +03:00

38 lines
940 B
JavaScript

const required = [
'ENVIRONMENT',
'STACK_NAME',
'RELEASE_ID',
'COMMIT_SHA',
'WEB_IMAGE',
'INGESTION_IMAGE',
'POSTGRES_PASSWORD',
'INGESTION_ADMIN_PASSWORD',
'PUBLIC_HOST',
'TRAEFIK_NETWORK',
'SWARM_MANAGER_HOST',
'SWARM_SSH_USER',
];
const missing = required.filter((name) => !process.env[name]);
if (missing.length > 0) {
console.error(`Missing required deploy variables: ${missing.join(', ')}`);
process.exit(1);
}
for (const imageName of ['WEB_IMAGE', 'INGESTION_IMAGE']) {
if (!/@sha256:[a-f0-9]{64}$/i.test(process.env[imageName] ?? '')) {
console.error(`${imageName} must be pinned by immutable digest, got: ${process.env[imageName]}`);
process.exit(1);
}
}
console.log(
JSON.stringify({
event: 'predeploy_check_passed',
environment: process.env.ENVIRONMENT,
stack: process.env.STACK_NAME,
releaseId: process.env.RELEASE_ID,
commitSha: process.env.COMMIT_SHA,
}),
);