#!/usr/bin/env node import { createCloudApiServer } from "../../internal/cloud/server.mjs"; const host = process.env.HWLAB_CLOUD_API_HOST || "0.0.0.0"; const port = Number.parseInt(process.env.HWLAB_CLOUD_API_PORT || process.env.PORT || "6667", 10); const commitId = process.env.HWLAB_COMMIT_ID || process.env.HWLAB_GIT_SHA; if (!process.env.HWLAB_IMAGE && commitId) { process.env.HWLAB_IMAGE = `ghcr.io/pikastech/hwlab-cloud-api:${commitId.slice(0, 7)}`; } if (!process.env.HWLAB_IMAGE_TAG && commitId) { process.env.HWLAB_IMAGE_TAG = commitId.slice(0, 7); } const server = createCloudApiServer(); server.listen(port, host, () => { const address = server.address(); const resolvedPort = typeof address === "object" && address ? address.port : port; process.stdout.write( `${JSON.stringify({ serviceId: "hwlab-cloud-api", status: "listening", host, port: resolvedPort })}\n` ); }); for (const signal of ["SIGINT", "SIGTERM"]) { process.on(signal, () => { server.close(() => { process.exit(0); }); }); }