-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Open
Copy link
Description
Current Situation
At the moment we have quite an extensive initialiser for organizational accounts that takes care of a multitude of things, e.g.
- creating a
Store - setting up and configuring a
Realmin keycloak - creating a
WorkspaceAuthenticationConfigurationfor the new organization - creating an
Inviteresource for the first user of that org
All of these things are fire and forget - meaning they are configured and created once and updates can never reach them in case some logic changes or some default central configuration needs to be adjusted.
We need to change that behaviour and introduce a new controller that reconciles accounts (ideally only the ones that the initialiser reconciles) and reconcile them using the same logic that the initialiser has.
Meaning in our target picture we need to ensure that
- The subroutines used in the initialiser are idempotent and are able to properly perform there work on already existing entities
- Create a new controller with a filter that reconciles accounts that are affected by the initialiser (here multiple ways can lead to the same goal. One could think of a labelselector that matches a label the initialiser sets or a predicate that works directly on the received object and filters them)
- Reuse the subroutines in that new controller to roll out future changes more easily
- Make sure the new controller DOES NOT INTERFERE with the initialiser during the first run.
Metadata
Metadata
Assignees
Labels
No labels