OOTB: Create a modular settings system
Related to: bottlerocket-os/bottlerocket#2669
When creating an out-of-tree variant, maintainers should have the ability to provide changes to the settings system. As such, the settings system needs to be modified to allow modular addition and modification to the settings API.
The design for this is proposed in bottlerocket-os/bottlerocket#2834. This issue is to track implementation of this system.
We have already implemented in bottlerocket the bottlerocket-settings-sdk for pluggable settings.
It's still important to move all the way to modular settings extensions.
The current approach is quite difficult to compose in a reusable way by downstream builds.
Plugins are not too bad but the defaults, templates, and migrations are not designed for straightforward reuse.