Gateway Configuration Reference
A complete guide to the configuration properties of the LibreApps Gateway.
Overview
The LibreApps Gateway is configured via environment variables in the .env file and YAML configuration files for APISIX.
Environment Variables (.env)
| Variable | Description | Default |
|---|---|---|
APISIX_ADMIN_KEY | Key for accessing the APISIX Admin API | eddiface |
KEYCLOAK_ADMIN_PASSWORD | Password for the Keycloak admin user | - |
LITELLM_MASTER_KEY | Master key for the LiteLLM API | - |
POSTGRES_PASSWORD | Password for the platform database | - |
APISIX Configuration
The main APISIX configuration is located at config/apisix/config.yaml. This file defines the gateway's core behavior, including:
- etcd endpoints: Where APISIX stores its routing data.
- Admin API settings: Port and security for the configuration API.
- Plugin settings: Global configuration for enabled plugins.
Dashboard Configuration
The APISIX Dashboard is configured via config/apisix-dashboard/conf.yaml. It includes settings for:
- Authentication: Usernames and passwords for the dashboard UI.
- etcd connection: How the dashboard communicates with the config store.
Best Practices
- ✅ Do this: Use the
generate-secrets.shscript to populate your.envfile with secure values. - ✅ Do this: Keep your
config.yamlfiles in version control, but exclude the.envfile. - ❌ Don't do this: Hardcode API keys or passwords in the YAML configuration files.
Best Practices
- ✅ Do this: Use profiles (e.g.,
application-dev.yml,application-prod.yml) to manage different configurations for different environments. - ✅ Do this: Keep sensitive information like client secrets in environment variables or a secure vault.
- ❌ Don't do this: Commit
application.ymlfiles containing production secrets to your version control system.