Skip to content

Capabilities ​

Capabilities are the glue that stitches Applications to the rest of your infrastructure. Module creators build capabilities to fully automate the connection between applications and other infrastructure.

A common example is relational databases like postgresql. An application needs a database created in the database cluster along with network access and credentials. A postgresql capability would do the following:

  • open network access to the database
  • create a user in the cluster for the service along with secure credentials
  • create a database owned by this role
  • inject the credentials into the app
  • inject database host/port into the app

Users can use capabilities for more than just database access:

  • Datastores
  • Secrets Injection (e.g Rails secrets, JWT keys)
  • Public-entry (e.g. Load Balancers, CDNs, API Gateways)
  • Events (e.g. Cron jobs, Data streams, Alarm Triggers)
  • Container Sidecars (e.g. envoy)