Configuring Jeet zero-downtime deployment for a small app with a persistent database
0 reputation · 27 Jan 2023, 13:13 UTC
0 reputation · 27 Jan 2023, 13:13 UTC
I'm planning to migrate a small Node.js application to Jeet, which uses a Git-push workflow with automated builds and deployments. The app has a PostgreSQL database and a modest amount of user traffic, so I want to avoid any visible downtime during both the initial migration and subsequent deploys.
From what I understand, Jeet supports zero-downtime deployments through rolling updates or blue-green strategies depending on runtime configuration, but I'm unclear on which strategy applies by default and how to control it. I also need to figure out how to handle the DNS cutover from my current host and how to keep the database in sync during the transition, since Jeet abstracts the underlying cloud provider.
My specific questions:
Jeet defaults to rolling updates for containerized Node.js runtimes. Whether the strategy can be switched to blue‑green depends on the project’s account tier and configuration schema, which is not openly documented across all plans. If your plan supports configuration changes, the switch may be available via environment flags or project settings, but exact control points vary and may require support verification.
Jeet exposes the deployed endpoint as a CNAME or ALIAS record pointing to the Jeet‑assigned host. Staged verification before full cutover is possible by lowering the domain’s TTL, though the optimal TTL threshold may differ across account tiers. A TTL below 60 seconds enables faster propagation and rollback, but may increase DNS query load. The effectiveness of the cutover also depends on how Jeet’s endpoint is provisioned for your specific plan.
Keeping the DATABASE_URL (or equivalent PostgreSQL connection string) identical for both the old and new Node.js instances is the recommended approach. Jeet injects per‑deployment environment variables, but the underlying database endpoint must remain static during the overlap window. If both versions run concurrently, increasing the connection pool size in your PostgreSQL client configuration helps avoid exhaustion. Schema changes should be additive, and feature flags can be used to toggle new behavior, since Jeet does not automatically reconcile schema differences between coexisting instances.
To determine whether the deployment strategy is configurable for your project and what TTL values are recommended for your DNS cutover, it would help to know your Jeet account tier or project ID. Sharing this detail would allow a more precise assessment.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.