Add option to ignore additional settings
Description
Currently, load_external_settings will throw a InvalidExternalSettingsError if any settings are found that aren't listed in the union of required_settings and optional_settings.
This can cause difficulties when deploying a change the adds additional required settings, as you cannot add the new settings to the infra before updating the app version - causing changes to have to be made simultaneously.
Adding an optional ignore_additional_settings (or better named) argument (even if the default was False) would allow clients choose to avoid this.
There could also be a strip_additional_settings argument that would cause these additional settings to be removed before they get applied thus preventing "bad settings" getting unexpectedly applied.
Task list
-
Add ignore_additional_settingsoptional arg (defaultFalse) toload_external_settings(and subcalls) -
Add strip_additional_settingsoptional arg (defaultTrue) - only gets used ifignore_additional_settingsisTrue -
Tests and possible dependency, CI, etc updates (repo not touched for a long time) -
README updated