root: Restructure broker / cache / channel / result configuration#7097
root: Restructure broker / cache / channel / result configuration#7097BeryJu merged 26 commits intogoauthentik:mainfrom
Conversation
This is handled in goauthentik#5395
# Conflicts: # authentik/lib/config.py
This enables usage of other brokers that require additional settings
This functionality is not part of this PR
✅ Deploy Preview for authentik-storybook canceled.
|
✅ Deploy Preview for authentik ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #7097 +/- ##
==========================================
- Coverage 92.57% 92.42% -0.15%
==========================================
Files 587 587
Lines 28895 28984 +89
==========================================
+ Hits 26749 26788 +39
- Misses 2146 2196 +50
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
✅ Deploy Preview for authentik ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
If more customization is desired users shall look at goauthentik.io/docs/installation/configuration#custom-python-settings
|
@BeryJu Could you take a look whether there are any more changes I should make? |
# Conflicts: # authentik/root/settings.py
BeryJu
left a comment
There was a problem hiding this comment.
Only some small nits/questions, otherwise LGTM
| `AUTHENTIK_CACHE__TIMEOUT_REPUTATION` only applies to the cache expiry, see [`AUTHENTIK_REPUTATION__EXPIRY`](#authentik_reputation__expiry) to control how long reputation is persisted for. | ||
| ::: | ||
|
|
||
| ## Channel Settings |
There was a problem hiding this comment.
We should probably explain for the docs what "Channel" means
| ## Channel Settings | |
| ## Websocket Settings |
There was a problem hiding this comment.
I would like to keep the reference to Django Channel Layers as it makes it much easier to lookup should any questions arise. I have added a little explanation.
| current_obj = current_obj[dot_part] | ||
| # Check if the value is json, and try to load it | ||
| try: | ||
| value = loads(value) |
There was a problem hiding this comment.
Could we try to parse and load b64 here instead of explicitly having to call get_dict_from_b64_json? Maybe not such a good idea since some values might be b64 encoded that shouldn't be decoded?
There was a problem hiding this comment.
Furthermore, b64 encoded values can then only be set in env vars and not in the yaml files.
For channel layer settings
Signed-off-by: Jens L. <jens@beryju.org>
…authentik into feature/reorganize-redis-config
|
@BeryJu Are there any other changes you would like to see? |
* main: (24 commits) internal: remove special route for /outpost.goauthentik.io (#7539) providers/proxy: Fix duplicate cookies when using file system store. (#7541) web: bump API Client version (#7543) sources/ldap: add check command to verify ldap connectivity (#7263) internal: remove deprecated metrics (#7540) core: compile backend translations (#7538) web: bump prettier from 3.0.3 to 3.1.0 in /web (#7528) web: bump @trivago/prettier-plugin-sort-imports from 4.2.1 to 4.3.0 in /web (#7531) web: bump rollup from 4.3.0 to 4.4.0 in /web (#7529) core: bump celery from 5.3.4 to 5.3.5 (#7536) web: bump @formatjs/intl-listformat from 7.5.1 to 7.5.2 in /web (#7530) web: bump prettier from 3.0.3 to 3.1.0 in /tests/wdio (#7532) web: bump @trivago/prettier-plugin-sort-imports from 4.2.1 to 4.3.0 in /tests/wdio (#7533) website: bump prettier from 3.0.3 to 3.1.0 in /website (#7534) website: bump prism-react-renderer from 2.1.0 to 2.2.0 in /website (#7535) translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_TW (#7537) root: Restructure broker / cache / channel / result configuration (#7097) core: bump twilio from 8.10.0 to 8.10.1 (#7474) web: bump axios from 1.5.0 to 1.6.1 in /web (#7518) web: bump wdio-wait-for from 3.0.7 to 3.0.8 in /tests/wdio (#7514) ...
* main: (24 commits) internal: remove special route for /outpost.goauthentik.io (#7539) providers/proxy: Fix duplicate cookies when using file system store. (#7541) web: bump API Client version (#7543) sources/ldap: add check command to verify ldap connectivity (#7263) internal: remove deprecated metrics (#7540) core: compile backend translations (#7538) web: bump prettier from 3.0.3 to 3.1.0 in /web (#7528) web: bump @trivago/prettier-plugin-sort-imports from 4.2.1 to 4.3.0 in /web (#7531) web: bump rollup from 4.3.0 to 4.4.0 in /web (#7529) core: bump celery from 5.3.4 to 5.3.5 (#7536) web: bump @formatjs/intl-listformat from 7.5.1 to 7.5.2 in /web (#7530) web: bump prettier from 3.0.3 to 3.1.0 in /tests/wdio (#7532) web: bump @trivago/prettier-plugin-sort-imports from 4.2.1 to 4.3.0 in /tests/wdio (#7533) website: bump prettier from 3.0.3 to 3.1.0 in /website (#7534) website: bump prism-react-renderer from 2.1.0 to 2.2.0 in /website (#7535) translate: Updates for file locale/en/LC_MESSAGES/django.po in zh_TW (#7537) root: Restructure broker / cache / channel / result configuration (#7097) core: bump twilio from 8.10.0 to 8.10.1 (#7474) web: bump axios from 1.5.0 to 1.6.1 in /web (#7518) web: bump wdio-wait-for from 3.0.7 to 3.0.8 in /tests/wdio (#7514) ...

This is part of #5395.
It restructures the configuration to separate Redis configuration clearly from cache and broker settings.
Furthermore, it enables custom configuration of the broker with its respective transport options, cache, channel and result backend. With this change i.e. RabbitMQ or Amazon SQS may be used as a broker.
Broker transport options need to be Base64 encoded and are ignored if not formatted correctly.
Deprecation logic has been added that automatically converts the old configuration names into the new ones and outputs a log message to encourage changing the configuration accordingly.