An example configuration can be found here - https://github.com/CentOS/duffy/blob/dev/etc/duffy-example-config.yaml # `app` section This section has all the configuration settings for the `duffy` application. ## Key/value pairs 1. `loglevel` - Set the default loglevel for the `duffy` application. 2. `host` - Set the default host address for the `duffy` application to listen to. 3. `port` - Set the default port number for the `duffy` application to listen to. 4. `logging` - Set the global logging configuration for the parts of the `duffy` application. # `metaclient` section This section has all the configuration settings for the `duffy` metaclient application. ## Key/value pairs 1. `loglevel` - Set the default loglevel for the `duffy` metaclient application. 2. `host` - Set the default host address for the `duffy` metaclient application to listen to. 3. `port` - Set the default port number for the `duffy` metaclient application to listen to. 4. `dest` - Set the destination address and port number for the deployed `duffy` application. 5. `usermap` - Set the mapping of UUIDs with legacy `duffy` usernames. 6. `poolmap` - Set the mapping of poolname and hardware configuration (`version` and `arch`). # `tasks` section This section has all the configuration settings required for the `duffy` worker backend. ## Key/value pairs 1. `celery` - Configure the Celery backend. 1. `broker_url` - Set the address to a reachable Redis store. 2. `result_backend` - Set the address to a reachable Redis store. 3. `worker_redirect_stdouts_level` - Set the loglevel for worker redirect operations. 2. `locking` - Configure the Celery backend. 1. `url` - Set the address to a reachable Redis store. 3. `periodic` - Configure recurring operations. 1. `fill-pools` - Configure checking for new devices for the pools. 1. `interval` - Set the interval in seconds for the period. 1. `expire-sessions` - Configure checking for provisioned nodes reaching expiry. 1. `interval` - Set the interval in seconds for the period. # `database` section This section has all the configuration settings required for the `duffy` database. ## Key/value pairs 1. `sqlalchemy` - Configure SQLAlchemy settings. 1. `sync_url` - Set the reachable database location for synchronous database operations. 2. `async_url` - Set the reachable database location for asynchronous database operations. # `misc` section This section has all the configuration settings required for the session allowed time. ## Key/value pairs 1. `session-lifetime` - Set the allowed time for a normal session. 2. `session-lifetime-max` - Set the allowed time for an extended session. # `nodepools` section This section has all the configuration settings required for describing node pools. ## Key/value pairs 1. `abstract` - Set the Ansible paths and settings for physical and virtual nodes. 2. `concrete` - Set the settings for physical and virtual nodes by extending configs.