Configure

The Application and associated Packages can be configured using either environment variables, or by a dictionary provided to the config parameter when creating the Application.

Note

Note!

Environment takes precedence over Application Constructor config.

Mappings

Environment and Dictionary configs uses different naming conventions, for obvious reasons, but follows the same logic.

Application

Mappings used for configuring core parts of an Aioli Application.

Locations

  • Dictionary key: “aioli_core”

  • Environment prefix: “AIOLI_CORE”

  • Run-time access: aioli.Application.config

Mappings

Dictionary

Environment

DEFAULT

dev_host

AIOLI_CORE_DEV_HOST

127.0.0.1

dev_port

AIOLI_CORE_DEV_PORT

5000

api_base

AIOLI_CORE_API_BASE

/api

debug

AIOLI_CORE_DEBUG

False

Package

A custom Package configuration schema can be defined using the PackageConfigSchema class, which comes with a set of common parameters, listed below.

Locations

  • Dictionary key: [package_name]

  • Environment prefix: [PACKAGE_NAME]

  • Run-time access: aioli.Package.config

Mappings

Dictionary

Environment

DEFAULT

debug

[PACKAGE_NAME]_DEBUG

None

controllers_enable

[PACKAGE_NAME]_CONTROLLERS_ENABLE

True

services_enable

[PACKAGE_NAME]_SERVICES_ENABLE

True

Check out the Package Config Schema docs for info on how to extend the base schema with custom parameters.

Environment

Configuring Aioli using Environment Variables can be useful in some environments.

Example

$ export AIOLI_CORE_DEV_HOST="0.0.0.0"
$ export AIOLI_CORE_DEV_PORT="5555"
$ export AIOLI_RDBMS_TYPE="mysql"
$ export AIOLI_RDBMS_HOST="127.0.0.1"
$ export AIOLI_RDBMS_DATABASE="aioli"
$ export AIOLI_RDBMS_USERNAME="aioli"
$ export AIOLI_RDBMS_PASSWORD="super_secret"
$ export AIOLI_GUESTBOOK_VISITS_MAX="10"

Constructor

The configuration can be provided as a dictionary to the config parameter when creating the Application.

Check out the Package config schema for an example.

Access

Both Application and Package configurations can be easily accessed from Service and Controller instances, using the config property.