Skip to main content

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)

VariableDescriptionDefault
APISIX_ADMIN_KEYKey for accessing the APISIX Admin APIeddiface
KEYCLOAK_ADMIN_PASSWORDPassword for the Keycloak admin user-
LITELLM_MASTER_KEYMaster key for the LiteLLM API-
POSTGRES_PASSWORDPassword 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.sh script to populate your .env file with secure values.
  • Do this: Keep your config.yaml files in version control, but exclude the .env file.
  • 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.yml files containing production secrets to your version control system.