Skip to content

Add-ons Overview

Add-ons are managed services you attach to apps. They’re how you give an app a database, a cache, a stream, object storage, or a monitoring stack — without running any of it yourself.

When you attach an add-on, Watasu:

  1. provisions the underlying service (creates the database, the bucket, the broker)
  2. injects connection details into the app as config vars (DATABASE_URL, REDIS_URL, S3 credentials)
  3. triggers a release so your app picks up the new environment

From there your app talks to the add-on like it would any other service. There’s no Watasu-specific SDK to import.

Add-ons live at the team level. They’re attached to apps. That separation is deliberate:

  • one add-on can be attached to multiple apps (with aliases to distinguish them)
  • destroying an app doesn’t destroy its add-ons
  • backups, restores, and promotions happen at the add-on level, not the app level
ServiceUse it for
PostgreSQLTransactional application data, relational queries, migrations
ValkeyCache, sessions, rate limiting, ephemeral coordination, queue speed paths
ClickHouseAnalytics, event data, large append-heavy datasets, dashboard queries
RedpandaDurable event streams, Kafka-style producer/consumer pipelines
Object StorageUser uploads, static assets, exports, archives — anything S3-shaped
Monitoring (logs, metrics, traces, Grafana)See Observability

If you need transactional storage and you’re not sure, start with PostgreSQL. It’s the right default for almost every web app.

Terminal window
watasu addons:create postgresql --app my-app

You can pass a plan slug to pick a specific tier:

Terminal window
watasu addons:create postgresql:standard-0 --app my-app

Plans differ on size, durability, replication, and whether scheduled backups are included. See Add-on Plans.

Terminal window
watasu addons:attach team-cache --app my-app

When an app needs more than one of the same service (e.g. primary + reporting database):

Terminal window
watasu addons:attach reporting-db --app my-app --as REPORTING

Watasu exports alias-prefixed env vars (e.g. REPORTING_DATABASE_URL) so your app can distinguish them.

Terminal window
watasu addons --app my-app # everything attached to an app
watasu addons:info my-database # plan, status, connection metadata

Provisioning isn’t instant. Block until the add-on is ready before depending on it:

Terminal window
watasu addons:wait my-database
Terminal window
watasu addons:destroy my-database

This is destructive. For databases, take a backup first.

PostgreSQL, Valkey, and ClickHouse all support a backup/restore flow. The Backups and Restores workflow page walks through it end-to-end.

Object Storage and Redpanda are durable by design and don’t ship with a tenant-facing backup product — see their individual pages for what their durability model actually is.