A LakeQL project is an ordinary Node application, so it deploys like any Node service. A few things are worth getting right for production.
Build and Generated Files #
The generated endpoint files under your source path are part of your source. Commit them, and regenerate with pull when a table changes. Build the project with its build script before deploying.
Environment #
Provide the connection variables through your platform's environment or secrets manager, not a committed .env. Validate them at startup so a misconfiguration fails fast. See environment variables.
Lifecycle #
The application owns the runtime. Wire runtime.close() to SIGTERM/SIGINT so connections drain cleanly on shutdown, as shown in server setup. The server exposes a health check at /live for readiness and liveness probes. The path is configurable.
Observability #
LakeQL logs every execution error server-side. It also offers an onError hook to forward errors to your telemetry (OpenTelemetry, Sentry, metrics). The hook keeps the framework decoupled from any provider.
Containers #
The project builds into a standard Node container image. Set the environment at runtime, expose the server port (default 4000), and run the built entry point.