Skip to main content

CLI and bootstrap

Self-hosted deployments use vlunactl for bootstrap and provisioning tasks.

Prereqs​

  • You have a running deployment and Postgres.
  • You have:
    • DATABASE_MIGRATOR_URI
    • VLUNA_PLANE (for OSS/Enterprise use runtime; admin reserved)
    • VLUNA_DB_SCHEMA (default control_plane)
    • BILLING_MASTER_KEY

Common commands​

List realms​

cd vluna/oss
pnpm vlunactl realm list

Create a realm​

cd vluna/oss
pnpm vlunactl realm create --realm-id realm-default --name 'Demo Realm'

Optional metadata:

cd vluna/oss
pnpm vlunactl realm create \
--realm-id realm-default \
--name 'Demo Realm' \
--metadata-json '{
"auth": {
"issuers": [
{
"issuer": "https://issuer.example",
"audiences": ["your-audience"],
"jwks_uri": "https://issuer.example/.well-known/jwks.json"
}
]
}
}'

Create a service key and derive the secret​

cd vluna/oss
pnpm vlunactl service-key create --realm-id realm-default
pnpm vlunactl service-key create --realm-id realm-default --expires-at 2026-06-30T00:00:00Z
pnpm vlunactl service-key secret --realm-id realm-default --key-id pk_example

When calling /mgt/v1 with the service key, include X-Realm-Id and set X-Realm-Admin: true for realm admin RLS.

Next​