Consider having your CI system deliver required configuration into the external resource collection, so that it's immutable and cannot be removed at runtime by end users:
Around February 2027, when we release our new major version, we're planning to release a series of Ansible extensions that work with 8.3 and 2027 and allow you to express gateway state changes. It's still the gateway REST API "under the hood", but wrapped in way you don't have to think about the details.
I'll also say,
How else could this possibly work? There's a set of files on disk. That's the source of truth. If you want to change what's loaded in the gateway, you have to change that set of files. Ultimately, doing that remotely is a series of CRUD calls to the REST API.
We don't put everything in one or more mega YAML files or whatever because:
- It would be extremely painful to read/write/edit
- While ~80% of them are just JSON files, there are many other types of resource file that have to be encapsulated as well - images, themes/css, keystores, driver csv files, etc, etc
- We already had a well tested, proven model for file based resources - Ignition's project system.