Environment Variables
Kexa uses environment variables for sensitive information and configuration. This document lists all available environment variables and their purposes.
Directory & Notifications
Rules Directory
# Default value
RULESDIRECTORY=./rules
# Remote rules (optional)
RULESDIRECTORY="https://api.github.com/repos/kexa-io/public-rules/zipball/main"
RULESAUTHORIZATION="Bearer github_pat_XXXXXXXXXXXXXXXXXXXXXXXX" # Optional
Output Directory
# Default value
OUTPUT=./output
# Enable verbose output when DEBUG_MODE is set
The level are from 0 to 9 ( verbose )
DEBUG_MODE=6
Email Configuration
EMAILPORT=587
EMAILHOST=smtp.sendgrid.net
EMAILUSER=apikey
EMAILPWD=your_api_key
EMAILFROM='"Kexa" <noreply@example.com>'
SMS Configuration (Twilio)
SMSFROM='+1234567890'
SMSACCOUNTSID=your_account_sid
SMSAUTHTOKEN=your_auth_token
Provider Authentication
All provider credentials should be prefixed with a prefix, to know more check providers documentation
Azure
AZURE_CLIENT_ID=XXXXXXXXXXXX
AZURE_TENANT_ID=XXXXXXXXXXXX
AZURE_CLIENT_SECRET=XXXXXXXX
SUBSCRIPTION_ID=XXXXXXx
AWS
AWS_SECRET_NAME=XXXXXXXXX
AWS_ACCESS_KEY_ID=XXXXXXXXX
AWS_SECRET_ACCESS_KEY=XXXXXXXXX
Google Cloud Platform (GCP)
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json # or content of the json crendentials
GOOGLE_PROJECT_ID=your-project-id
Password Manager
You can optionally use a Password/Vault Manager. The following variables must be present in the runner environment:
Azure Key Vault
AZURE_CLIENT_ID=XXXXXXXXXXXX
AZURE_TENANT_ID=XXXXXXXXXXXX
AZURE_CLIENT_SECRET=XXXXXXXX
SUBSCRIPTION_ID=XXXXXXx
AZUREKEYVAULTNAME=MyKeyVault
You can also use this combination with UAI (User Assigned Identities) recommended when using Kexa in an azure function:
AZUREKEYVAULTNAME=MyKeyVault
USERAZUREIDENTITYID=XXXXXXXX
AWS Secrets Manager
AWS_ACCESS_KEY_ID=XXXXXXXXX
AWS_SECRET_ACCESS_KEY=XXXXXXXXX
AWS_SESSION_TOKEN=XXXXXXXXX # This one is optionnal, use it if you're using temporary credentials (IAM role)
Additional Configuration
Auto Update
AUTOUPDATE=true # Enable automatic updates
Custom Configuration
NODE_CONFIG_TS_ENV=customName # Use custom configuration file
Notes
- Variables in your password manager will be "simulated" as being present locally
- Values will only be known in the environment when used
- No prefix is needed for password manager variables
- These variables refer to the runner space, not specific environments