https://www.crossplane.io/ seems to offer a "codeless" way to define and maintain custom resources that end up creating multiple k8s native objects (with the "remote kubernetes" provider pointed to the local cluster).
This task is to investigate that a bit and fill up the following lists with the findings with the goal of deciding if it's something we want to continue looking into for potentially changing the way we do APIs for toolforge.
Notes:
- 9 months supported release "Users can expect any given release to be maintained for nine months." https://docs.crossplane.io/knowledge-base/guides/release-cycle/
- Mainly developed by Upbound (https://www.upbound.io/)
- There's a provider marketplace (hosted by upbound): https://marketplace.upbound.io/
This might make some things easier <TODO: fill up>:
- Keeping the desired state and the runtime state in sync *
And has some downsides <TODO: fill up>:
- Extra setup complexity, having another complex service with it's own learning curve that needs maintenance
*