Skip to main content

Configuration reference

All configuration is done via environment variables. Copy .env.example to .env and edit before starting.

Variables set via Portal Config → Integrations are stored in the database and take precedence over env vars after first boot.


Core

VariableDefaultDescription
PORT8080Backend API port
GIN_MODEdebugSet to release in production
JWT_SECRETrandomRequired in production. 32+ random characters. If unset, sessions are lost on restart
APP_EDITIONcommunityDefault tier when no license key is present: community, pro, or enterprise.
EDITION_UPGRADE_URLURL shown in upgrade prompts
LICENSE_KEYPro/Enterprise license key. Validated offline (no external service). Also managed via Portal Config → License.
LICENSE_KEY_FILEPath to a file containing the license key (alternative to LICENSE_KEY).
DEVX_DATA_DIR../dataDirectory for license.key and tasks.db.

Database

VariableDefaultDescription
DB_DRIVERsqlitesqlite or postgres
DB_PATH../data/tasks.dbSQLite file path
DB_DSNPostgreSQL DSN: host=... user=... password=... dbname=... port=5432 sslmode=disable TimeZone=UTC

Frontend

VariableDefaultDescription
VITE_API_URLhttp://localhost:8080/apiBackend API URL (browser-visible)
VITE_N8N_URLn8n URL for embedded workflow UI

Set VITE_API_URL to your public backend URL before building the frontend image.


JIRA

VariableDescription
JIRA_URLAtlassian base URL
JIRA_EMAILService account email
JIRA_API_TOKENAtlassian API token

Slack

VariableDescription
SLACK_BOT_TOKENxoxb-... bot token
SLACK_WEBHOOK_URLIncoming webhook URL
SLACK_SCAN_CHANNEL_IDSComma-separated channel IDs to scan
SLACK_MENTION_USER_IDUser ID to @mention

n8n

VariableDescription
N8N_URLn8n base URL
N8N_API_KEYn8n API key

OpenAI

VariableDescription
OPENAI_API_KEYOpenAI API key
OPENAI_MODELModel ID (default: gpt-4o)
OPENAI_SYSTEM_PROMPTOverride assistant system prompt

GitHub

VariableDescription
GITHUB_ORGGitHub organization name
GITHUB_PATPAT with repo + read:org scopes

Terraform Cloud

VariableDescription
TERRAFORM_ORGTerraform Cloud organization
TERRAFORM_API_TOKENTerraform Cloud API token
TERRAFORM_WORKSPACE_PREFIXFilter workspaces by prefix

ArgoCD

VariableDescription
ARGOCD_URLArgoCD server URL
ARGOCD_API_TOKENArgoCD API token

PagerDuty

VariableDescription
PAGERDUTY_API_KEYPagerDuty REST API key

Prometheus

VariableDescription
PROMETHEUS_URLPrometheus base URL

AWS

VariableDescription
AWS_ACCESS_KEY_IDAWS access key
AWS_SECRET_ACCESS_KEYAWS secret key
AWS_REGIONPrimary region, e.g. us-east-1

GCP

VariableDescription
GCP_PROJECT_IDGCP project ID
GCP_SERVICE_ACCOUNT_JSONService account JSON (base64 or path)

Azure

VariableDescription
AZURE_TENANT_IDAzure tenant ID
AZURE_CLIENT_IDApp registration client ID
AZURE_CLIENT_SECRETApp registration client secret
AZURE_SUBSCRIPTION_IDSubscription to inventory

Google Calendar

VariableDescription
GOOGLE_CALENDAR_IDCalendar ID for maintenance events
GOOGLE_SERVICE_ACCOUNT_JSONService account JSON (base64 or path)

SMTP

VariableDefaultDescription
SMTP_HOSTSMTP server hostname
SMTP_PORT587SMTP port
SMTP_USERSMTP username
SMTP_PASSWORDSMTP password
SMTP_FROMnoreply@krado.localFrom address

Generating the OpenAPI spec

node scripts/generate-openapi.mjs

Output: static/openapi/openapi.json — used by the interactive API explorer at /api-explorer.