Backing services

When your app needs a database or cache, Jollop provisions it for you. There is no separate “create a database” step and no connection string to paste.

Two ways a need is discovered

  1. Statically, from your dependencies. A database driver in your manifest (a Postgres, MySQL, Redis, or Mongo client) means the service is provisioned before the first boot, and a conventional environment variable is injected: DATABASE_URL, REDIS_URL, MONGO_URL, and the DB_HOST / DB_PORT family.
  2. By observation. If your app boots and then fails trying to connect to a well-known database port, a repair rule provisions that service and retries. This catches cases the dependency list did not make obvious.

What’s available

  • PostgreSQL
  • MySQL (via MariaDB)
  • Redis
  • MongoDB

Connection details are injected as environment variables using each ecosystem’s conventional names, so most libraries pick them up with zero code changes.

A note on “boots ≠ works”

An app with a lazy connector can probe green without ever touching its database, so for those the service comes only from the static dependency signal, not from observation. If you rely on a database but connect lazily, make sure the driver is in your manifest so it is provisioned up front. Deeper health checks are on the roadmap.