Blob Blame History Raw
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.