The component operator already creates sub-resources for ExposedAPI, DependentAPI, PublishedNutifications, SubscribedNotifications and Secrets Management. This issue is to extend this same pattern for the Identity Management and Observability. The goal is to create separate CRDs for each of the sub-resources to allow their operators to run independently and implement the separation of concerns pattern. This will enable multiple technical implementations for each of the operators. For example, the reference implementation will have an Identity Operator using the Keycloak Identity Management System; It is possible to swap this out with a different Identity Operator for any IDM system by creating an operator that can configure the respective Identities and Roles based on the Identity custom resource.
Description
This is to align with use-case UC002-Manage-Components.
The component operator already creates sub-resources for ExposedAPI, DependentAPI, PublishedNutifications, SubscribedNotifications and Secrets Management. This issue is to extend this same pattern for the Identity Management and Observability. The goal is to create separate CRDs for each of the sub-resources to allow their operators to run independently and implement the separation of concerns pattern. This will enable multiple technical implementations for each of the operators. For example, the reference implementation will have an Identity Operator using the Keycloak Identity Management System; It is possible to swap this out with a different Identity Operator for any IDM system by creating an operator that can configure the respective Identities and Roles based on the Identity custom resource.