Configuration Files
Avalon configuration files are in YAML format and located in the application’s config directory.
settings.yml
Instance and environment-specific Avalon configuration options.
Config file overwrites should be placed in config/settings/<environment>.local.yml.
If using env var, set SETTINGS__EMAIL__MAILER=aws_sdk to send emails using Amazon SES.
database.yml
Environment-specific database connection information for Rails. See Configuring a Database in the Ruby on Rails Getting Started Guide for more options. Changing the database adapter will require updating Gemfile to require the correct adapter. Here are the instructions for installing the mysql adapter called mysql2.
fedora.yml
Environment-specific Fedora repository connection information for Hydra
intercom.yml
Configuration for optional Intercom feature. Allows this instance on Avalon to push contents to another instance of Avalon. Intercom utilizes the Ingest API and requires an API token to connect. This token is generated on the target Avalon with `bundle exec rake avalon:token:generate username=archivist email=archivist1@example.com`
The streaming files will remain in place. Both instances of Avalon must be able to stream from that location.
solr.yml
Environment-specific Solr connection information for Hydra
role_map_<environment>.yml
Role groups and associated members to initialize the Hydra access controls database with. Example environments: development, production, test. For example, in a production environment the file would be named role_map_production.yml.
controlled_vocabulary.yml
Things to Note About Avalon Configuration
Changes to configuration files often require restarting Avalon to take affect. They also require Sidekiq (the background jobs processor) to be restarted.
It's recommended to override the default settings by creating a config/settings/<environment>.local.yml instead of modifying the config/settings.yml directly.
You can also use environment variables, for example SETTINGS__DOMAIN__HOST maps to Settings.domain.host.
Since the Config gem doesn't support arrays in environment variable, Settings.auth.configuration requires a key for every entry, e.g.:
SETTINGS__AUTH__CONFIGURATION__IU__NAME=Indiana University
SETTINGS__AUTH__CONFIGURATION__IU__PROVIDER=cas
SETTINGS__AUTH__CONFIGURATION__IU__PARAMS__CLIENT_ID=client_id_value
SETTINGS__AUTH__CONFIGURATION__IU__PARAMS__CLIENT_SECRET=client_secret_value