@startuml queue MQ control "KubernetesClientResource" as KubeClientResource participant "KubernetesClient" as KubeClient entity "GenericKubernetesResource" as ResourceObj participant "Namespace" as NamespaceDB
MQ -> KubeClientResource : deployCR(headers, crspec)
alt check if this cridge can handle the CRSPEC\ncurrentContextCluster, clusterMasterURL
KubeClientResource --> MQ : Response (SEE OTHER)
end
activate KubeClientResource
KubeClientResource -> KubeClient : new KubernetesClientBuilder() activate KubeClient KubeClient --> KubeClientResource : k8s deactivate KubeClient
KubeClientResource -> NamespaceDB : Try creating Namespace activate NamespaceDB NamespaceDB --> KubeClientResource : Namespace Created / Exists deactivate NamespaceDB
KubeClientResource -> KubeClientResource : createWatchersFornamespace()
activate KubeClientResource
KubeClientResource -> SharedInformer : KubernetesClient.secrets().inNamespace(nameSpacename).inform(new ResourceEventHandler<>())
loop For each Secret Event SharedInformer -> EventHandler : onAdd()/onUpdate()/onDelete() activate EventHandler EventHandler -> KubeClientResource : updateKubernetesSecretResourceInOSLCatalog deactivate EventHandler end
deactivate KubeClientResource
KubeClientResource -> ResourceObj : k8s.resource(gkr) activate ResourceObj ResourceObj --> KubeClientResource : Creation Response deactivate ResourceObj
KubeClientResource --> MQ : Response (OK / FAIL) deactivate KubeClientResource @enduml