page:recipes:rest api:hono:persistent state

Host rest api with Hono: Postgres-backed state

Summary

Deploy a rest api built with Hono on Ample using the durable job state pattern. Compute runs the app in an isolated microVM behind a public HTTPS URL, a managed PostgreSQL 16 database is auto-provisioned and injected as DATABASE_URL. Verified on Hono: a jobs table with a state and attempts counter, processing inside a row-locked transaction, and a second run that is a no-op (job=done attempts=1 idempotent=true). Not separately tested: your job types, payload schema and retry policy; treat the rest api-specific behavior as your application code.

Representative Queries

Resource Requirements

Infrastructure Requirements

Compute

Postgres

Framework

Hono

Workload

REST API

Release Status

published

Support Status

verified

Execution Status

ready

Prerequisites

Tested Configuration

Workflow Steps

  1. Build and start
    npm install and npm run start with @hono/node-server on the node-22 template. The server must bind 0.0.0.0 on PORT.
  2. Implement the pattern on PostgreSQL
    The fixture's module implements durable job state: a jobs table with a state and attempts counter, processing inside a row-locked transaction, and a second run that is a no-op (job=done attempts=1 idempotent=true). Copy the approach into your schema; keep migrations idempotent and run them with --release-command.
  3. Deploy
    Run the synchronous deploy once and read the result (exit 0 live, 1 failed, 2 blocked). Re-running with no change is a no-op.
    • Command: ample deploy . --name --public
  4. Verify
    Fetch the live URL and the pattern self-test route(s) (/p/durable-job-state) from the example; then run your own checks. On failure read ample logs --kind build then --kind runtime.
    • Command: ample logs --kind build

Examples

Success Checks

Limitations

Cost Estimate

Components

Note: Always-on monthly price of the tested sizes; apps and databases auto-pause when idle. Buckets are allocation-priced per quota and not included.

Evidence Summary

Next Actions