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.