.. _configuration:
Configuration
=============
Configuration is managed with `dynaconf `_.
The defaults and annotations for the available settings can be observed in
`config/settings.toml`.
The easiest way to configure rookcheck is to provide overrides via environment
variables.
The environment variables are capitalised and prefixed with `ROOKCHECK_`. For
example, to change where rookcheck creates files (known as `workspace_dir` in
settings.toml), you can set `ROOKCHECK_WOKRSPACE_DIR=...`.
Start by copying the example configuration.env:
.. code-block:: bash
cp configuration.env .env
vim .env # Make any changes needed
Amazon Web Services (AWS) EC2 specifics
---------------------------------------
The AWS driver is implemented using the `boto3 library `_.
Tox will install the library for you, but you'll need to configure the
credentials in `~/.aws/credentials`. The easiest way to do that is by running
`aws configure` if you already have the `AWS CLI `_
installed.
See the `boto3 configuration `_
documentation for full details.
The driver will set up a VPC and create all of the necessary resources inside
of that.
Please note that the image id for the nodes differs depending on the AWS
region that you are using. You may also need to accept any licenses for the
images that you are using (as the same user as the configured credentials).
For example, you can subscribe to the `openSUSE Leap image here `_.
After you have subscribed to the image, you can follow the links to
"continue to configuration", then after selecting your expected region, you
should be able to see the AMI ID.
OpenStack provider specifics
----------------------------
If you are using OpenStack you can use your
`clouds.yaml `_
configuration file and reference a cloud defined in that file with OS_CLOUD
.. code-block:: bash
export OS_CLOUD=my-cloud
libvirt provider specifics
--------------------------
For using `libvirt` as a hardware backend, a qcow2 image which includes
`cloud-init` is needed.
Then some environment variables are needed:
.. code-block:: bash
export ROOKCHECK_HARDWARE_PROVIDER='LIBVIRT'
.. automodule:: tests.config
:members:
:private-members:
:special-members:
:undoc-members: