adjutant/releasenotes/notes/story-2004488-5468c184cc3a4691.yaml
Adrian Turjak c750fd6d6c Rework Adjutant's config system to use CONFspirator
CONFspirator was written to just specifically for Adjutant
and it allows us to do oslo.config style config management
and definition with nested groups and for yaml.

This is a major change that touches vast amounts of the
code simply because of how much the config touches.

Actions, Tasks, DelegateAPIs, and Notification Handlers
now can define config in their own class and this will
be added to the config.

All the other config is located in `adjutant.config`,
with everything now registed nicely on the config tree,
and grouped in much saner ways.

CONFspirator will also now allow Adjutant to be entirely
configured via environment variables.

We have removed `modify_dict_settings` because that is
now entirely handled by CONFspirator's test utils.

`NotificationEngine`s are now `NotificationHandler`s.

`test_settings.py` is gone! And we now have better ways
to define test settings and defaults.

Project line length bumped to 88, and bugbear added to enforce
that instead.

Story: 2004488

Change-Id: I1d97d72d06b3a3a5df90355d3a4b4fe414381424
2020-02-05 19:07:04 +13:00

14 lines
545 B
YAML

---
features:
- |
Adjutant's config system is now built on top of CONFspirator, which is
a config definition library like oslo.config but tailored specifically
for some use-cases that Adjutant has.
upgrade:
- |
An almost entirely different config format will need to be used, but
there will be a better feedback from the service during startup
regarding the validity of the config. An example is present in
`etc/adjutant.yaml` but a new one can be generated by using
`tox -e venv adjutant-api exampleconfig`.