Skip to main content

Configuration

PostKit uses a postkit.config.json file in your project root for configuration.

Basic Configuration

{
"db": {
"localDbUrl": "postgres://user:pass@localhost:5432/myapp_local",
"schemaPath": "db/schema",
"schema": "public",
"remotes": {
"dev": {
"url": "postgres://user:pass@dev-host:5432/myapp",
"default": true
},
"staging": {
"url": "postgres://user:pass@staging-host:5432/myapp"
}
}
}
}

Configuration Options

db.localDbUrl (required)

PostgreSQL connection URL for your local clone database.

db.schemaPath (optional)

Path to your schema files, relative to project root. Default: "db/schema".

db.schema (optional)

Database schema name. Default: "public".

db.remotes (required)

Named remote database configurations. At least one remote must be configured.

Remote Properties

PropertyTypeRequiredDescription
urlstringYesPostgreSQL connection URL
defaultbooleanNoMark as default remote (one must be default)
addedAtstringNoISO timestamp when remote was added (auto-set)

Environment Variables

For sensitive data like database passwords, use environment variables:

# .env file
DEV_DB_URL="postgres://user:pass@dev-host:5432/myapp"
STAGING_DB_URL="postgres://user:pass@staging-host:5432/myapp"

Then reference them in your config:

{
"db": {
"localDbUrl": "postgres://user:pass@localhost:5432/myapp_local",
"remotes": {
"dev": {
"url": "${DEV_DB_URL}",
"default": true
}
}
}
}

Auth Module Configuration

The auth module is configured in postkit.config.json:

{
"auth": {
"source": {
"url": "https://keycloak-dev.example.com",
"adminUser": "admin",
"adminPass": "dev-password",
"realm": "myapp-realm"
},
"target": {
"url": "https://keycloak-staging.example.com",
"adminUser": "admin",
"adminPass": "staging-password"
},
"configCliImage": "adorsys/keycloak-config-cli:6.4.0-24"
}
}

Auth Configuration Options

FieldTypeRequiredDescription
auth.source.urlstringYesSource Keycloak base URL
auth.source.adminUserstringYesSource admin username
auth.source.adminPassstringYesSource admin password
auth.source.realmstringYesRealm name to export
auth.target.urlstringYesTarget Keycloak base URL
auth.target.adminUserstringYesTarget admin username
auth.target.adminPassstringYesTarget admin password
auth.configCliImagestringNoDocker image for import (default: adorsys/keycloak-config-cli:6.4.0-24)

See Auth Configuration for more details.