FAQ | This is a LIVE service | Changelog

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_settings optional arg (default False) to load_external_settings (and subcalls)
  • Add strip_additional_settings optional arg (default True) - only gets used if ignore_additional_settings is True
  • Tests and possible dependency, CI, etc updates (repo not touched for a long time)
  • README updated

Acceptance criteria

Links/references