Skip to content

Apps / Service Catalog

The DPF (Deployment Platform Framework) lets you deploy managed applications from the b'nerd service catalog. Apps are containerized workloads provisioned and operated on your Kubernetes clusters — databases, monitoring stacks, message brokers, and similar services.

Endpoints

Method Path Description
GET /apps List apps
POST /apps Create an app
GET /apps/{id} Show an app
PATCH /apps/{id} Update an app
DELETE /apps/{id} Delete an app

List apps

GET /apps
Authorization: Bearer <token>

Returns all apps visible to the authenticated account across all projects in the organization.

Create an app

POST /apps
Authorization: Bearer <token>
Content-Type: application/json

{
  "app": {
    "name": "my-postgres",
    "kind": "postgres",
    "organization_id": "<uuid>",
    "project_id": "<uuid>"
  }
}

Returns 201 Created. The kind value determines which service from the catalog is deployed. Available kinds depend on your organization's catalog subscription — query GET /apps to see deployed kinds or contact your account manager for the current catalog.

Show an app

GET /apps/{id}
Authorization: Bearer <token>

Key response fields:

Field Description
id App UUID
name Display name
kind App type (e.g. postgres, redis)
project_id Project the app belongs to
organization_id Organization UUID
status Current deployment status object (nullable while provisioning)
stack_id Underlying stack identifier (nullable)
parent_app_id Parent app UUID for child/plugin apps (nullable)
deleted_at Soft-delete timestamp; null for active apps

Update an app

PATCH /apps/{id}
Authorization: Bearer <token>
Content-Type: application/json

{ "app": { "name": "renamed-postgres" } }

Delete an app

DELETE /apps/{id}
Authorization: Bearer <token>

Returns 204 No Content. Deleting an app deprovisions the underlying workload. This is irreversible for stateful services — ensure you have taken a backup or snapshot before proceeding.

Webhooks and reconciliation

Apps integrate with the platform's webhook system. When a container image is pushed to the b'nerd registry and a webhook target mapping matches the resource_url, the corresponding app is reconciled automatically — pulling the new image tag and rolling out the update.

Authorization

App operations use the apps permission category:

Operation Required permission
List / show apps:read
Create apps:create
Update apps:update
Delete apps:delete

See RBAC Presets for which roles carry these permissions.