Skip to main content
The Cabine API reads its settings from environment variables when it starts. To change a value, restart the service. For the settings of Lerian Cabine in the browser, see Configuring Lerian Cabine. In the tables below, Required marks a variable that you must set: Yes for any deployment, or the condition named. — means no default. The conditions use two terms:
  • Production environment: ENV_NAME is production or prod.
  • Development environment: ENV_NAME is development, develop, dev, local or test.
Variables that hold a duration use the Go duration format, for example 15m or 24h. A duration that cannot be read is replaced by its default. A duration of zero or less in a DESK_ variable stops startup. A number that cannot be read is replaced by its default too.

Runtime and server

DEPLOYMENT_MODE set to saas also needs these values:
  • ENV_NAME is production, prod or staging.
  • DB_SSLMODE is require, verify-ca or verify-full.
  • PLUGIN_AUTH_ADDRESS, PLUGIN_ACCESS_MANAGER_URL and DESK_SPI_CALLBACK_URL use https when they are set.
DESK_CORS_ALLOWED_ORIGINS is a list that you separate with commas. Write each origin as scheme://host[:port], with http or https, a lowercase host, no default port, no path, no query and no credentials. A wildcard or an entry in another form stops startup. An empty value adds no CORS headers.

Database

Telemetry

Authentication

The Cabine API checks the permissions of each request with Access Manager. See Access and roles. PLUGIN_AUTH_ENABLED=false is not accepted when ENV_NAME is not set. An unset ENV_NAME does not count as a development environment.

Calls to Access Manager

After a different Cabine API admin approves the deletion of an operator user, the Cabine API deletes the user in Access Manager. It signs in as an Access Manager application. See Administration.

Calls to Lerian SPI

After an approval, the Cabine API sends the decision to Lerian SPI. It signs in as an Access Manager application. Grant br-spi-operations:update on Lerian SPI to this application. See Manual review approvals.

Retention

Production environment rules

In a production environment, startup stops unless these variables hold a value:
  • PLUGIN_AUTH_ADDRESS
  • PLUGIN_ACCESS_MANAGER_URL, PLUGIN_ACCESS_MANAGER_CLIENT_ID and PLUGIN_ACCESS_MANAGER_CLIENT_SECRET
  • DESK_SPI_CALLBACK_URL, DESK_SPI_CALLBACK_CLIENT_ID and DESK_SPI_CALLBACK_CLIENT_SECRET
  • DEPLOYMENT_MODE
In any environment, an address without its client ID and client secret stops startup.

Health and readiness

The Cabine API serves /health, /readyz and /version on its HTTP port. /readyz answers 200 when the service is ready and 503 when it is not. If the Cabine API cannot reach the database at startup, startup stops. If another dependency is not ready at startup, the service keeps running and stays not ready. The readiness result covers these dependencies:
  • The database: the Cabine API can reach it.
  • The database schema: it is at the current version. Apply the database migrations before you start the service.
  • Access Manager: the service is skipped when PLUGIN_ACCESS_MANAGER_URL is not set. An address that does not answer makes the service not ready.
  • Lerian SPI: the service is skipped when DESK_SPI_CALLBACK_URL is not set. A Lerian SPI that does not answer, an old undelivered decision, a refused decision or an exhausted decision appears as a reason. It does not make the service not ready.