diff --git a/doc/ServiceAccount/serviceaccount_keycloak_read.yaml b/doc/ServiceAccount/serviceaccount_keycloak_read.yaml
deleted file mode 100644
index 2ee9466e9a025498c71aac9335b7772b7a011dc0..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount_keycloak_read.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloak-viewer-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloak-viewer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloak-viewer-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakusers
-      - ozgkeycloakusers/status
-      - ozgkeycloakusers/finalizers
-      - ozgkeycloakgroups
-      - ozgkeycloakgroups/status
-      - ozgkeycloakgroups/finalizers
-      - ozgkeycloakrealms
-      - ozgkeycloakrealms/status
-      - ozgkeycloakrealms/finalizers
-      - ozgkeycloakclients
-      - ozgkeycloakclients/status
-      - ozgkeycloakclients/finalizers
-    verbs:
-      - get
-      - list
-      - watch
diff --git a/doc/ServiceAccount/serviceaccount_keycloak_secrets_read.yaml b/doc/ServiceAccount/serviceaccount_keycloak_secrets_read.yaml
deleted file mode 100644
index 5f3efc0208a8239360e910ff5559865442e3f189..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount_keycloak_secrets_read.yaml
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloak-secrets-viewer-role-binding
-  namespace: keycloak
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev     
-roleRef:
-  kind: Role
-  name: ozg-operator-keycloak-secrets-viewer-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloak-secrets-viewer-role
-  namespace: keycloak
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - secrets
-    verbs:
-      - get
diff --git a/doc/ServiceAccount/serviceaccount_keycloak_write.yaml b/doc/ServiceAccount/serviceaccount_keycloak_write.yaml
deleted file mode 100644
index 2eda24e8cbe5e6c11510a887dfff5292d33eec35..0000000000000000000000000000000000000000
--- a/doc/ServiceAccount/serviceaccount_keycloak_write.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloak-write-role-binding
-subjects:
-  - kind: ServiceAccount
-    name: ozg-operator-serviceaccount
-    namespace: by-ozg-operator-dev
-roleRef:
-  kind: ClusterRole
-  name: ozg-operator-keycloak-write-role
-  apiGroup: rbac.authorization.k8s.io
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: ozg-operator-keycloak-write-role
-rules:
-  - apiGroups:
-      - "*"
-    resources:
-      - ozgkeycloakusers
-      - ozgkeycloakusers/status
-      - ozgkeycloakusers/finalizers
-      - ozgkeycloakgroups
-      - ozgkeycloakgroups/status
-      - ozgkeycloakgroups/finalizers
-      - ozgkeycloakrealms
-      - ozgkeycloakrealms/status
-      - ozgkeycloakrealms/finalizers
-      - ozgkeycloakclients
-      - ozgkeycloakclients/status
-      - ozgkeycloakclients/finalizers
-    verbs:
-      - get
-      - list
-      - create
-      - delete
-      - patch
-      - update
-      - watch
diff --git a/doc/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml b/doc/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml
deleted file mode 100644
index 52393bef17ac4668f7433d7ba64b2b75f4b5490e..0000000000000000000000000000000000000000
--- a/doc/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
-  name: ozgkeycloakclients.operator.ozgcloud.de
-spec:
-  group: operator.ozgcloud.de
-  names:
-    kind: OzgKeycloakClient
-    listKind: OzgKeycloakClientList
-    plural: ozgkeycloakclients
-    singular: ozgkeycloakclient
-  scope: Namespaced
-  versions:
-  - name: v1
-    schema:
-      openAPIV3Schema:
-        description: OzgKeycloakClient is the Schema for the keycloaks API
-        properties:
-          apiVersion:
-            description: 'APIVersion defines the versioned schema of this representation
-              of an object. Servers should convert recognized schemas to the latest
-              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
-            type: string
-          kind:
-            description: 'Kind is a string value representing the REST resource this
-              object represents. Servers may infer this from the endpoint the client
-              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
-            type: string
-          metadata:
-            type: object
-          spec:
-            description: Spec defines the desired state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-          status:
-            description: Status defines the observed state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-        type: object
-    served: true
-    storage: true
-    subresources:
-      status: {}
diff --git a/doc/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml b/doc/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml
deleted file mode 100644
index ee88ea0051af823a7b7e9913f6c6d8615bb84500..0000000000000000000000000000000000000000
--- a/doc/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
-  name: ozgkeycloakgroups.operator.ozgcloud.de
-spec:
-  group: operator.ozgcloud.de
-  names:
-    kind: OzgKeycloakGroup
-    listKind: OzgKeycloakGroupList
-    plural: ozgkeycloakgroups
-    singular: ozgkeycloakgroup
-  scope: Namespaced
-  versions:
-  - name: v1
-    schema:
-      openAPIV3Schema:
-        description: OzgKeycloakGroup is the Schema for the keycloaks API
-        properties:
-          apiVersion:
-            description: 'APIVersion defines the versioned schema of this representation
-              of an object. Servers should convert recognized schemas to the latest
-              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
-            type: string
-          kind:
-            description: 'Kind is a string value representing the REST resource this
-              object represents. Servers may infer this from the endpoint the client
-              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
-            type: string
-          metadata:
-            type: object
-          spec:
-            description: Spec defines the desired state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-          status:
-            description: Status defines the observed state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-        type: object
-    served: true
-    storage: true
-    subresources:
-      status: {}
diff --git a/doc/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml b/doc/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml
deleted file mode 100644
index ed46ad75073c92b888ef3668317dcf92726bb41c..0000000000000000000000000000000000000000
--- a/doc/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
-  name: ozgkeycloakrealms.operator.ozgcloud.de
-spec:
-  group: operator.ozgcloud.de
-  names:
-    kind: OzgKeycloakRealm
-    listKind: OzgKeycloakRealmList
-    plural: ozgkeycloakrealms
-    singular: ozgkeycloakrealm
-  scope: Namespaced
-  versions:
-  - name: v1
-    schema:
-      openAPIV3Schema:
-        description: OzgKeycloakRealm is the Schema for the keycloak API
-        properties:
-          apiVersion:
-            description: 'APIVersion defines the versioned schema of this representation
-              of an object. Servers should convert recognized schemas to the latest
-              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
-            type: string
-          kind:
-            description: 'Kind is a string value representing the REST resource this
-              object represents. Servers may infer this from the endpoint the client
-              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
-            type: string
-          metadata:
-            type: object
-          spec:
-            description: Spec defines the desired state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-          status:
-            description: Status defines the observed state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-        type: object
-    served: true
-    storage: true
-    subresources:
-      status: {}
diff --git a/doc/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml b/doc/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml
deleted file mode 100644
index 6100f5451c7194d7827c668aa355ec43423200e9..0000000000000000000000000000000000000000
--- a/doc/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
-  name: ozgkeycloakusers.operator.ozgcloud.de
-spec:
-  group: operator.ozgcloud.de
-  names:
-    kind: OzgKeycloakUser
-    listKind: OzgKeycloakUserList
-    plural: ozgkeycloakusers
-    singular: ozgkeycloakuser
-  scope: Namespaced
-  versions:
-  - name: v1
-    schema:
-      openAPIV3Schema:
-        description: OzgKeycloakUser is the Schema for the keycloaks API
-        properties:
-          apiVersion:
-            description: 'APIVersion defines the versioned schema of this representation
-              of an object. Servers should convert recognized schemas to the latest
-              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
-            type: string
-          kind:
-            description: 'Kind is a string value representing the REST resource this
-              object represents. Servers may infer this from the endpoint the client
-              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
-            type: string
-          metadata:
-            type: object
-          spec:
-            description: Spec defines the desired state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-          status:
-            description: Status defines the observed state of Keycloak
-            type: object
-            x-kubernetes-preserve-unknown-fields: true
-        type: object
-    served: true
-    storage: true
-    subresources:
-      status: {}
diff --git a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml
index 52393bef17ac4668f7433d7ba64b2b75f4b5490e..48e43dede1c1dcca8c93cce42bf210f64196f24a 100644
--- a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml
+++ b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml
@@ -6,8 +6,8 @@ metadata:
 spec:
   group: operator.ozgcloud.de
   names:
-    kind: OzgKeycloakClient
-    listKind: OzgKeycloakClientList
+    kind: OzgCloudKeycloakClient
+    listKind: OzgCloudKeycloakClientList
     plural: ozgkeycloakclients
     singular: ozgkeycloakclient
   scope: Namespaced
@@ -15,7 +15,7 @@ spec:
   - name: v1
     schema:
       openAPIV3Schema:
-        description: OzgKeycloakClient is the Schema for the keycloaks API
+        description: OzgCloudKeycloakClient is the Schema for the keycloaks API
         properties:
           apiVersion:
             description: 'APIVersion defines the versioned schema of this representation
diff --git a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml
index ee88ea0051af823a7b7e9913f6c6d8615bb84500..8f97e2a4322e87db2f6e43b7b92405286c0732da 100644
--- a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml
+++ b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml
@@ -6,8 +6,8 @@ metadata:
 spec:
   group: operator.ozgcloud.de
   names:
-    kind: OzgKeycloakGroup
-    listKind: OzgKeycloakGroupList
+    kind: OzgCloudKeycloakGroup
+    listKind: OzgCloudKeycloakGroupList
     plural: ozgkeycloakgroups
     singular: ozgkeycloakgroup
   scope: Namespaced
@@ -15,7 +15,7 @@ spec:
   - name: v1
     schema:
       openAPIV3Schema:
-        description: OzgKeycloakGroup is the Schema for the keycloaks API
+        description: OzgCloudKeycloakGroup is the Schema for the keycloaks API
         properties:
           apiVersion:
             description: 'APIVersion defines the versioned schema of this representation
diff --git a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml
index ed46ad75073c92b888ef3668317dcf92726bb41c..7a0a715c565c68c469f5d481c726eed3c3546728 100644
--- a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml
+++ b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml
@@ -6,8 +6,8 @@ metadata:
 spec:
   group: operator.ozgcloud.de
   names:
-    kind: OzgKeycloakRealm
-    listKind: OzgKeycloakRealmList
+    kind: OzgCloudKeycloakRealm
+    listKind: OzgCloudKeycloakRealmList
     plural: ozgkeycloakrealms
     singular: ozgkeycloakrealm
   scope: Namespaced
@@ -15,7 +15,7 @@ spec:
   - name: v1
     schema:
       openAPIV3Schema:
-        description: OzgKeycloakRealm is the Schema for the keycloak API
+        description: OzgCloudKeycloakRealm is the Schema for the keycloak API
         properties:
           apiVersion:
             description: 'APIVersion defines the versioned schema of this representation
diff --git a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml
index 6100f5451c7194d7827c668aa355ec43423200e9..e3a24f2e6fe032abc0435df081971a0bf9d27f99 100644
--- a/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml
+++ b/src/main/helm/templates/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml
@@ -6,8 +6,8 @@ metadata:
 spec:
   group: operator.ozgcloud.de
   names:
-    kind: OzgKeycloakUser
-    listKind: OzgKeycloakUserList
+    kind: OzgCloudKeycloakUser
+    listKind: OzgCloudKeycloakUserList
     plural: ozgkeycloakusers
     singular: ozgkeycloakuser
   scope: Namespaced
@@ -15,7 +15,7 @@ spec:
   - name: v1
     schema:
       openAPIV3Schema:
-        description: OzgKeycloakUser is the Schema for the keycloaks API
+        description: OzgCloudKeycloakUser is the Schema for the keycloaks API
         properties:
           apiVersion:
             description: 'APIVersion defines the versioned schema of this representation
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientMapper.java b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientMapper.java
index 12cb44954dbfaf4f768aa5ca547bd4b3c4dbc782..ccd1148830e73d59c20a03fe6a5be7c3999ded08 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientMapper.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientMapper.java
@@ -49,7 +49,7 @@ interface KeycloakClientMapper {
 	@Mapping(target = "implicitFlowEnabled", constant = "true")
 	@Mapping(target = "bearerOnly", constant = "false")
 	@Mapping(target = "attributes", source = ".", qualifiedByName = "mapAttributes")
-	ClientRepresentation map(OzgKeycloakClientSpec client);
+	ClientRepresentation map(OzgCloudKeycloakClientSpec client);
 
 	@Mapping(target = "protocol", constant = PROTOCOL)
 	@Mapping(target = "publicClient", constant = "true")
@@ -58,17 +58,17 @@ interface KeycloakClientMapper {
 	@Mapping(target = "implicitFlowEnabled", constant = "true")
 	@Mapping(target = "bearerOnly", constant = "false")
 	@Mapping(target = "attributes", source = ".", qualifiedByName = "mapAttributes")
-	ClientRepresentation update(@MappingTarget ClientRepresentation existingClient, OzgKeycloakClientSpec spec);
+	ClientRepresentation update(@MappingTarget ClientRepresentation existingClient, OzgCloudKeycloakClientSpec spec);
 
 	@Named("mapAttributes")
-	default Map<String, String> mapAttributes(OzgKeycloakClientSpec client) {
+	default Map<String, String> mapAttributes(OzgCloudKeycloakClientSpec client) {
 		return Map.of(ATTRIBUTE_NAME_POST_LOGOUT_REDIRECT_URIS, ATTRIBUTE_VALUE_POST_LOGOUT_REDIRECT_URIS);
 	}
 
-	RoleRepresentation mapRole(OzgKeycloakClientSpec.ClientRole spec);
+	RoleRepresentation mapRole(OzgCloudKeycloakClientSpec.ClientRole spec);
 
-	RoleRepresentation updateRole(@MappingTarget RoleRepresentation existingRole, OzgKeycloakClientSpec.ClientRole spec);
+	RoleRepresentation updateRole(@MappingTarget RoleRepresentation existingRole, OzgCloudKeycloakClientSpec.ClientRole spec);
 
 	@Mapping(target = "protocolMapper", source = "type")
-	ProtocolMapperRepresentation mapProtocolMapper(OzgKeycloakClientSpec.ProtocolMapper mapper);
+	ProtocolMapperRepresentation mapProtocolMapper(OzgCloudKeycloakClientSpec.ProtocolMapper mapper);
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientPreconditionService.java b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientPreconditionService.java
index 10c97431f57c84485d03ad3fe4174bf1f8132aa4..93b4130f0c71831f12c882667e5038c1aebc34e3 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientPreconditionService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientPreconditionService.java
@@ -36,7 +36,7 @@ class KeycloakClientPreconditionService {
 	@Autowired
 	private KeycloakGenericRemoteService keycloakGenericRemoteService;
 
-	Optional<String> getReconcilePreconditionErrors(OzgKeycloakClient resource) {
+	Optional<String> getReconcilePreconditionErrors(OzgCloudKeycloakClient resource) {
 
 		String namespace = resource.getMetadata().getNamespace();
 
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java
index d20d39870914450f419e3d613fd3b82cd628ccfe..ee78cac9d2ebdfa5f1ef62c4a0ffbb8ff3c17ffc 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java
@@ -40,7 +40,7 @@ import lombok.extern.java.Log;
 @ControllerConfiguration
 @Component
 @Log
-public class KeycloakClientReconciler implements Reconciler<OzgKeycloakClient> {
+public class KeycloakClientReconciler implements Reconciler<OzgCloudKeycloakClient> {
 
 	@Autowired
 	private KeycloakClientService service;
@@ -49,7 +49,7 @@ public class KeycloakClientReconciler implements Reconciler<OzgKeycloakClient> {
 	private KeycloakClientPreconditionService preconditionService;
 
 	@Override
-	public UpdateControl<OzgKeycloakClient> reconcile(OzgKeycloakClient resource, Context<OzgKeycloakClient> context) {
+	public UpdateControl<OzgCloudKeycloakClient> reconcile(OzgCloudKeycloakClient resource, Context<OzgCloudKeycloakClient> context) {
 
 		try {
 			String crdName = resource.getMetadata().getName();
@@ -69,21 +69,21 @@ public class KeycloakClientReconciler implements Reconciler<OzgKeycloakClient> {
 					"Could not reconcile client " + resource.getMetadata().getName() + " in namespace " + resource.getMetadata().getNamespace() + ": "
 							+ e.getMessage(),
 					e);
-			resource.setStatus(OzgKeycloakClientStatus.builder().status(OzgCustomResourceStatus.ERROR).message(e.getMessage()).build());
+			resource.setStatus(OzgCloudKeycloakClientStatus.builder().status(OzgCustomResourceStatus.ERROR).message(e.getMessage()).build());
 			return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS);
 		}
 	}
 
-	private UpdateControl<OzgKeycloakClient> buildStatusOk(OzgKeycloakClient resource) {
-		resource.setStatus(OzgKeycloakClientStatus.builder().status(OzgCustomResourceStatus.OK).message(null).build());
+	private UpdateControl<OzgCloudKeycloakClient> buildStatusOk(OzgCloudKeycloakClient resource) {
+		resource.setStatus(OzgCloudKeycloakClientStatus.builder().status(OzgCustomResourceStatus.OK).message(null).build());
 		return UpdateControl.updateStatus(resource);
 	}
 
-	private UpdateControl<OzgKeycloakClient> buildStatusInProgress(OzgKeycloakClient resource, String errorMessage) {
+	private UpdateControl<OzgCloudKeycloakClient> buildStatusInProgress(OzgCloudKeycloakClient resource, String errorMessage) {
 		log.log(Level.INFO,
 				"Could not yet reconcile client " + resource.getMetadata().getName() + " in namespace " + resource.getMetadata().getNamespace() + ":"
 						+ errorMessage);
-		resource.setStatus(OzgKeycloakClientStatus.builder().status(OzgCustomResourceStatus.IN_PROGRESS).message(errorMessage).build());
+		resource.setStatus(OzgCloudKeycloakClientStatus.builder().status(OzgCustomResourceStatus.IN_PROGRESS).message(errorMessage).build());
 		return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS);
 	}
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientService.java b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientService.java
index 6cf43aa46500d1b908a5b427fd89339f2cacee94..90e9671841a6e00f29ebc63ff904e8a0c9cb1956 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientService.java
@@ -46,13 +46,13 @@ class KeycloakClientService {
 	@Autowired
 	private KeycloakClientMapper mapper;
 
-	void createOrUpdateClient(OzgKeycloakClientSpec spec, String namespace) {
+	void createOrUpdateClient(OzgCloudKeycloakClientSpec spec, String namespace) {
 		genericRemoteService.getByClientId(spec.getClientId(), namespace)
 				.ifPresentOrElse(existingClient -> updateClient(existingClient, spec, namespace),
 						() -> createClient(spec, namespace));
 	}
 
-	void updateClient(ClientRepresentation existingClient, OzgKeycloakClientSpec spec, String realm) {
+	void updateClient(ClientRepresentation existingClient, OzgCloudKeycloakClientSpec spec, String realm) {
 		var clientRepresentation = mapper.update(existingClient, spec);
 		setProtocolMapper(clientRepresentation);
 		remoteService.updateClient(clientRepresentation, realm);
@@ -60,7 +60,7 @@ class KeycloakClientService {
 		addOrUpdateClientRoles(spec, realm, existingClient.getId());
 	}
 
-	void createClient(OzgKeycloakClientSpec spec, String realm) {
+	void createClient(OzgCloudKeycloakClientSpec spec, String realm) {
 		var clientRepresentation = mapper.map(spec);
 		setProtocolMapper(clientRepresentation);
 		var realClientId = remoteService.createClient(clientRepresentation, realm);
@@ -76,7 +76,7 @@ class KeycloakClientService {
 				mapperRepresentationBuilder.createClientRolesMapper()));
 	}
 
-	void addOrUpdateClientRoles(OzgKeycloakClientSpec spec, String realm, String realClientId) {
+	void addOrUpdateClientRoles(OzgCloudKeycloakClientSpec spec, String realm, String realClientId) {
 		spec.getClientRoles().forEach(
 				roleSpec -> genericRemoteService.getClientRole(roleSpec.getName(), realClientId, realm)
 						.ifPresentOrElse(
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClient.java b/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClient.java
similarity index 92%
rename from src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClient.java
rename to src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClient.java
index b78b340b73f0a44dcbe51906744df7f5aeafce68..d50404d0177ceb6b2c29a3e74f9036266deb37a8 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClient.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClient.java
@@ -37,5 +37,5 @@ import io.fabric8.kubernetes.model.annotation.Version;
 @Singular("ozgkeycloakclient")
 @Plural("ozgkeycloakclients")
 @SuppressWarnings("serial")
-class OzgKeycloakClient extends CustomResource<OzgKeycloakClientSpec, OzgKeycloakClientStatus> implements Namespaced {
+class OzgCloudKeycloakClient extends CustomResource<OzgCloudKeycloakClientSpec, OzgCloudKeycloakClientStatus> implements Namespaced {
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpec.java b/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientSpec.java
similarity index 98%
rename from src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpec.java
rename to src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientSpec.java
index e7b8353d9e5eece563ac397ec4a991514b4cb70c..15511d79bc798ac3f6fca96f8f534c6791eeb961 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpec.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientSpec.java
@@ -42,7 +42,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakClientSpec {
+class OzgCloudKeycloakClientSpec {
 
 	@JsonProperty("client_name")
 	private String clientId;
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientStatus.java b/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientStatus.java
similarity index 97%
rename from src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientStatus.java
rename to src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientStatus.java
index d1b00c45244818f4903df04816b1b88344cc8212..abcafe1fbe22e9833cabb0810c99a3410069daa4 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientStatus.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientStatus.java
@@ -38,7 +38,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakClientStatus {
+class OzgCloudKeycloakClientStatus {
 
 	private OzgCustomResourceStatus status;
 
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupMapper.java b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupMapper.java
index d0dcab2e55b7dded2064544876336dc9c44147b6..519f6617a41e3b3a206e37fc3331958579c69adf 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupMapper.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupMapper.java
@@ -38,10 +38,10 @@ import org.mapstruct.ReportingPolicy;
 interface KeycloakGroupMapper {
 
 	@Mapping(target = "attributes", source = "attributes", qualifiedByName = "mapAttributes")
-	GroupRepresentation map(OzgKeycloakGroupSpec group);
+	GroupRepresentation map(OzgCloudKeycloakGroupSpec group);
 
 	@Named("mapAttributes")
-	default Map<String, List<String>> mapAttributes(List<OzgKeycloakGroupSpec.Attribute> attributes) {
-		return attributes.stream().collect(Collectors.toMap(OzgKeycloakGroupSpec.Attribute::getName, attribute -> List.of(attribute.getValue())));
+	default Map<String, List<String>> mapAttributes(List<OzgCloudKeycloakGroupSpec.Attribute> attributes) {
+		return attributes.stream().collect(Collectors.toMap(OzgCloudKeycloakGroupSpec.Attribute::getName, attribute -> List.of(attribute.getValue())));
 	}
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupPreconditionService.java b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupPreconditionService.java
index 200a802072d21e989bf00e731f1a588db4fbecd9..0f6571bf732fc8156724b2b52c980f4f18d5be05 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupPreconditionService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupPreconditionService.java
@@ -36,7 +36,7 @@ class KeycloakGroupPreconditionService {
 	@Autowired
 	private KeycloakGenericRemoteService keycloakGenericRemoteService;
 
-	Optional<String> getReconcilePreconditionErrors(OzgKeycloakGroup resource) {
+	Optional<String> getReconcilePreconditionErrors(OzgCloudKeycloakGroup resource) {
 
 		String namespace = resource.getMetadata().getNamespace();
 
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java
index 4aeed50e27d5d0af1ddd5d5553d996c43ff86658..ca6b10e632f534dddda4bef3786cf46a9a10669d 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java
@@ -40,7 +40,7 @@ import lombok.extern.java.Log;
 @ControllerConfiguration
 @Component
 @Log
-public class KeycloakGroupReconciler implements Reconciler<OzgKeycloakGroup> {
+public class KeycloakGroupReconciler implements Reconciler<OzgCloudKeycloakGroup> {
 
 	@Autowired
 	private KeycloakGroupService service;
@@ -49,7 +49,7 @@ public class KeycloakGroupReconciler implements Reconciler<OzgKeycloakGroup> {
 	private KeycloakGroupPreconditionService preconditionService;
 
 	@Override
-	public UpdateControl<OzgKeycloakGroup> reconcile(OzgKeycloakGroup resource, Context<OzgKeycloakGroup> context) {
+	public UpdateControl<OzgCloudKeycloakGroup> reconcile(OzgCloudKeycloakGroup resource, Context<OzgCloudKeycloakGroup> context) {
 
 		try {
 			String crdName = resource.getMetadata().getName();
@@ -69,21 +69,21 @@ public class KeycloakGroupReconciler implements Reconciler<OzgKeycloakGroup> {
 					"Could not reconcile group " + resource.getMetadata().getName() + " in namespace " + resource.getMetadata().getNamespace() + ": "
 							+ e.getMessage(),
 					e);
-			resource.setStatus(OzgKeycloakGroupStatus.builder().status(OzgCustomResourceStatus.ERROR).message(e.getMessage()).build());
+			resource.setStatus(OzgCloudKeycloakGroupStatus.builder().status(OzgCustomResourceStatus.ERROR).message(e.getMessage()).build());
 			return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS);
 		}
 	}
 
-	UpdateControl<OzgKeycloakGroup> buildStatusOk(OzgKeycloakGroup resource) {
-		resource.setStatus(OzgKeycloakGroupStatus.builder().status(OzgCustomResourceStatus.OK).message(null).build());
+	UpdateControl<OzgCloudKeycloakGroup> buildStatusOk(OzgCloudKeycloakGroup resource) {
+		resource.setStatus(OzgCloudKeycloakGroupStatus.builder().status(OzgCustomResourceStatus.OK).message(null).build());
 		return UpdateControl.updateStatus(resource);
 	}
 
-	UpdateControl<OzgKeycloakGroup> buildStatusInProgress(OzgKeycloakGroup resource, String errorMessage) {
+	UpdateControl<OzgCloudKeycloakGroup> buildStatusInProgress(OzgCloudKeycloakGroup resource, String errorMessage) {
 		log.log(Level.INFO,
 				"Could not yet reconcile group " + resource.getMetadata().getName() + " in namespace " + resource.getMetadata().getNamespace() + ": "
 						+ errorMessage);
-		resource.setStatus(OzgKeycloakGroupStatus.builder().status(OzgCustomResourceStatus.IN_PROGRESS).message(errorMessage).build());
+		resource.setStatus(OzgCloudKeycloakGroupStatus.builder().status(OzgCustomResourceStatus.IN_PROGRESS).message(errorMessage).build());
 		return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS);
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupService.java b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupService.java
index 829e1d2227d896fb07ede308c616378f6ffbfdb7..4eaa2eddbee5b0543f7112a953e0ce6979fe86b3 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupService.java
@@ -37,7 +37,7 @@ class KeycloakGroupService {
 	@Autowired
 	private KeycloakGroupMapper mapper;
 
-	void createGroup(OzgKeycloakGroupSpec group, String realm) {
+	void createGroup(OzgCloudKeycloakGroupSpec group, String realm) {
 		Optional.of(group)
 				.map(mapper::map)
 				.filter(groupRepresentation -> remoteService.getGroupByName(group.getName(), realm).isEmpty())
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroup.java b/src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroup.java
similarity index 86%
rename from src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroup.java
rename to src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroup.java
index 4bb0581d4c315f2140c1645d9fb29f70d2cd7012..6d02e4360b94f7f1202eedf523d15e760ed43aa0 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroup.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroup.java
@@ -31,12 +31,12 @@ import io.fabric8.kubernetes.model.annotation.Plural;
 import io.fabric8.kubernetes.model.annotation.Singular;
 import io.fabric8.kubernetes.model.annotation.Version;
 
-@Kind("OzgKeycloakGroup")
+@Kind("OzgCloudKeycloakGroup")
 @Group("operator.ozgcloud.de")
 @Version("v1")
-@Singular("ozgkeycloakgroup")
-@Plural("ozgkeycloakgroups")
+@Singular("ozgcloudkeycloakgroup")
+@Plural("ozgcloudkeycloakgroups")
 @SuppressWarnings("serial")
-class OzgKeycloakGroup extends CustomResource<OzgKeycloakGroupSpec, OzgKeycloakGroupStatus> implements Namespaced {
+class OzgCloudKeycloakGroup extends CustomResource<OzgCloudKeycloakGroupSpec, OzgCloudKeycloakGroupStatus> implements Namespaced {
 
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpec.java b/src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroupSpec.java
similarity index 98%
rename from src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpec.java
rename to src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroupSpec.java
index 43ac4bef38ef7d5f69b5d0ccdebaf0a16e0dd817..8b199613512bf857f2385ee4da50d7f7150f544d 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpec.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroupSpec.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakGroupSpec {
+class OzgCloudKeycloakGroupSpec {
 
 	@JsonProperty("group_name")
 	private String name;
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupStatus.java b/src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroupStatus.java
similarity index 97%
rename from src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupStatus.java
rename to src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroupStatus.java
index 6dcc30eb1606310f7ba8e45996654c4fe07395bb..f3817dd486a8d3d6e0547c27f2aea75e57efedd6 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupStatus.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/group/OzgCloudKeycloakGroupStatus.java
@@ -38,7 +38,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakGroupStatus {
+class OzgCloudKeycloakGroupStatus {
 
 	private OzgCustomResourceStatus status;
 
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java b/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java
index faa2bb152793d34db97836b40b71a6299f28047b..8b5e7bebf74cfe94492a642ad13b98bb22f31bdd 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java
@@ -41,10 +41,10 @@ interface KeycloakRealmMapper {
 	@Mapping(target = "defaultLocale", constant = "de")
 	@Mapping(target = "internationalizationEnabled", constant = "true")
 	@Mapping(target = "passwordPolicy", constant = "upperCase(1) and lowerCase(1) and length(8) and notUsername")
-	RealmRepresentation map(OzgKeycloakRealmSpec realm);
+	RealmRepresentation map(OzgCloudKeycloakRealmSpec realm);
 
 	@Named("supportedLocales")
-	default Set<String> mapPassword(OzgKeycloakRealmSpec spec) {
+	default Set<String> mapPassword(OzgCloudKeycloakRealmSpec spec) {
 		return Set.of("de");
 	}
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java
index 961a6dd15eec9c6342ea4bb206fb5ddde33d95c2..a07c03914970227b0a39c085fec023df62dc3cca 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java
@@ -41,13 +41,13 @@ import lombok.extern.java.Log;
 @ControllerConfiguration
 @Component
 @Log
-public class KeycloakRealmReconciler implements Reconciler<OzgKeycloakRealm>, Cleaner<OzgKeycloakRealm> {
+public class KeycloakRealmReconciler implements Reconciler<OzgCloudKeycloakRealm>, Cleaner<OzgCloudKeycloakRealm> {
 
 	@Autowired
 	private KeycloakRealmService service;
 
 	@Override
-	public UpdateControl<OzgKeycloakRealm> reconcile(OzgKeycloakRealm resource, Context<OzgKeycloakRealm> context) {
+	public UpdateControl<OzgCloudKeycloakRealm> reconcile(OzgCloudKeycloakRealm resource, Context<OzgCloudKeycloakRealm> context) {
 		log.info("Realm reconciler reconcile, keep after delete is set to: " + resource.getSpec().isKeepAfterDelete());
 		try {
 			String realmName = resource.getMetadata().getNamespace();
@@ -56,7 +56,7 @@ public class KeycloakRealmReconciler implements Reconciler<OzgKeycloakRealm>, Cl
 
 			service.createRealm(resource.getSpec(), realmName);
 
-			resource.setStatus(OzgKeycloakRealmStatus.builder().status(OzgCustomResourceStatus.OK).message(null).build());
+			resource.setStatus(OzgCloudKeycloakRealmStatus.builder().status(OzgCustomResourceStatus.OK).message(null).build());
 			return UpdateControl.updateStatus(resource);
 
 		} catch (Exception e) {
@@ -64,13 +64,13 @@ public class KeycloakRealmReconciler implements Reconciler<OzgKeycloakRealm>, Cl
 					"Could not reconcile realm " + resource.getMetadata().getName() + " in namespace " + resource.getMetadata().getNamespace() + ": "
 							+ e.getMessage(),
 					e);
-			resource.setStatus(OzgKeycloakRealmStatus.builder().status(OzgCustomResourceStatus.ERROR).message(e.getMessage()).build());
+			resource.setStatus(OzgCloudKeycloakRealmStatus.builder().status(OzgCustomResourceStatus.ERROR).message(e.getMessage()).build());
 			return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS);
 		}
 	}
 
 	@Override
-	public DeleteControl cleanup(OzgKeycloakRealm realm, Context<OzgKeycloakRealm> context) {
+	public DeleteControl cleanup(OzgCloudKeycloakRealm realm, Context<OzgCloudKeycloakRealm> context) {
 		log.info("Realm reconciler cleanup, keep after delete is set to: " + realm.getSpec().isKeepAfterDelete());
 		if (realm.getSpec().isKeepAfterDelete()) {
 			return DeleteControl.defaultDelete();
@@ -78,7 +78,7 @@ public class KeycloakRealmReconciler implements Reconciler<OzgKeycloakRealm>, Cl
 		return cleanup(realm);
 	}
 
-	DeleteControl cleanup(OzgKeycloakRealm realm) {
+	DeleteControl cleanup(OzgCloudKeycloakRealm realm) {
 		var realmName = realm.getMetadata().getNamespace();
 		log.info("Deleting KeycloakRealm " + realmName);
 		try {
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmService.java b/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmService.java
index d6d69c3bcf2c945d63ecdc35fb4e2ec4b73ec6a0..6911ce510d6ff3187f86de6bf94794abb7c3e05e 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmService.java
@@ -43,7 +43,7 @@ class KeycloakRealmService {
 	@Autowired
 	private KeycloakGenericRemoteService keycloakGenericRemoteService;
 
-	void createRealm(OzgKeycloakRealmSpec realm, String realmName) {
+	void createRealm(OzgCloudKeycloakRealmSpec realm, String realmName) {
 		Optional.of(realm)
 				.map(mapper::map)
 				.map(realmRepresentation -> addRealmName(realmRepresentation, realmName))
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealm.java b/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealm.java
similarity index 86%
rename from src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealm.java
rename to src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealm.java
index 5eacceada9f545616e9e1037d4935745a1d7ad0b..87bb67a91ba89f3e15930c497bef865328556905 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealm.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealm.java
@@ -31,11 +31,11 @@ import io.fabric8.kubernetes.model.annotation.Plural;
 import io.fabric8.kubernetes.model.annotation.Singular;
 import io.fabric8.kubernetes.model.annotation.Version;
 
-@Kind("OzgKeycloakRealm")
+@Kind("OzgCloudKeycloakRealm")
 @Group("operator.ozgcloud.de")
 @Version("v1")
-@Singular("ozgkeycloakrealm")
-@Plural("ozgkeycloakrealms")
+@Singular("ozgcloudkeycloakrealm")
+@Plural("ozgcloudkeycloakrealms")
 @SuppressWarnings("serial")
-class OzgKeycloakRealm extends CustomResource<OzgKeycloakRealmSpec, OzgKeycloakRealmStatus> implements Namespaced {
+class OzgCloudKeycloakRealm extends CustomResource<OzgCloudKeycloakRealmSpec, OzgCloudKeycloakRealmStatus> implements Namespaced {
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmSpec.java b/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java
similarity index 97%
rename from src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmSpec.java
rename to src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java
index a3cd548780de7a5f7d6ab934fe100b6f5a4fa4de..0a23abfd2ed15f8744855b5e8d0bc406913b2fd5 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmSpec.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java
@@ -38,7 +38,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakRealmSpec {
+class OzgCloudKeycloakRealmSpec {
 
 	@JsonProperty("keep_after_delete")
 	private boolean keepAfterDelete;
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmStatus.java b/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmStatus.java
similarity index 97%
rename from src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmStatus.java
rename to src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmStatus.java
index d434199b5fb41c473e8618e32e1e1eb5b4f4e095..b2072b76372846488cccf85b09fbb6006e47c392 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmStatus.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmStatus.java
@@ -38,7 +38,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakRealmStatus {
+class OzgCloudKeycloakRealmStatus {
 
 	private OzgCustomResourceStatus status;
 
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapper.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapper.java
index adf5f3419c6afffbf20e1ce105717005167648fc..6525186094e659fac93a19a22ab9d620d88927aa 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapper.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapper.java
@@ -36,8 +36,8 @@ import org.mapstruct.MappingTarget;
 import org.mapstruct.Named;
 import org.mapstruct.ReportingPolicy;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecClientRole;
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUserGroup;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecClientRole;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUserGroup;
 
 @Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE, unmappedSourcePolicy = ReportingPolicy.IGNORE, collectionMappingStrategy = CollectionMappingStrategy.ACCESSOR_ONLY)
 interface KeycloakUserMapper {
@@ -51,7 +51,7 @@ interface KeycloakUserMapper {
 	@Mapping(target = "username", source = "keycloakUser.username")
 	@Mapping(target = "firstName", source = "keycloakUser.firstName")
 	@Mapping(target = "lastName", source = "keycloakUser.lastName")
-	UserRepresentation map(OzgKeycloakUserSpec user);
+	UserRepresentation map(OzgCloudKeycloakUserSpec user);
 
 	@Mapping(target = "clientRoles", source = "keycloakUser.clientRoles", qualifiedByName = "mapClientRoles")
 	@Mapping(target = "credentials", source = ".", qualifiedByName = "mapPassword")
@@ -62,14 +62,14 @@ interface KeycloakUserMapper {
 	@Mapping(target = "username", source = "keycloakUser.username")
 	@Mapping(target = "firstName", source = "keycloakUser.firstName")
 	@Mapping(target = "lastName", source = "keycloakUser.lastName")
-	UserRepresentation update(@MappingTarget UserRepresentation userRepresentation, OzgKeycloakUserSpec userSpec);
+	UserRepresentation update(@MappingTarget UserRepresentation userRepresentation, OzgCloudKeycloakUserSpec userSpec);
 
 	@Named("mapPassword")
-	default List<CredentialRepresentation> mapPassword(OzgKeycloakUserSpec user) {
+	default List<CredentialRepresentation> mapPassword(OzgCloudKeycloakUserSpec user) {
 		return List.of(buildPasswordCredential(user));
 	}
 
-	private CredentialRepresentation buildPasswordCredential(OzgKeycloakUserSpec user) {
+	private CredentialRepresentation buildPasswordCredential(OzgCloudKeycloakUserSpec user) {
 		var credential = new CredentialRepresentation();
 		credential.setType(CredentialRepresentation.PASSWORD);
 		credential.setValue(user.getKeycloakUser().getPassword());
@@ -84,7 +84,7 @@ interface KeycloakUserMapper {
 	}
 
 	@Named("mapClientRoles")
-	default Map<String, List<String>> mapClientRoles(List<OzgKeycloakUserSpec.KeycloakUserSpecClientRole> clientRoles) {
+	default Map<String, List<String>> mapClientRoles(List<OzgCloudKeycloakUserSpec.KeycloakUserSpecClientRole> clientRoles) {
 		return clientRoles.stream()
 				.collect(Collectors.groupingBy(KeycloakUserSpecClientRole::getClientId,
 						Collectors.mapping(KeycloakUserSpecClientRole::getRoleName, Collectors.toList())));
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java
index 3eaf6c5e688bb94192dd5733df0ac7ff9d240970..6366465994d50b5f7f97acf82baa6c65e6135ba8 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionService.java
@@ -29,8 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.operator.keycloak.KeycloakGenericRemoteService;
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecClientRole;
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUserGroup;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecClientRole;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUserGroup;
 
 @Component
 class KeycloakUserPreconditionService {
@@ -38,7 +38,7 @@ class KeycloakUserPreconditionService {
 	@Autowired
 	private KeycloakGenericRemoteService keycloakGenericRemoteService;
 
-	public Optional<String> getPreconditionErrors(OzgKeycloakUser user) {
+	public Optional<String> getPreconditionErrors(OzgCloudKeycloakUser user) {
 		var namespace = user.getMetadata().getNamespace();
 
 		if (!keycloakGenericRemoteService.realmExists(namespace)) {
@@ -58,7 +58,7 @@ class KeycloakUserPreconditionService {
 		return Optional.empty();
 	}
 
-	Optional<String> clientsExists(OzgKeycloakUser user, String realm) {
+	Optional<String> clientsExists(OzgCloudKeycloakUser user, String realm) {
 		return user.getSpec().getKeycloakUser().getClientRoles().stream()
 				.map(KeycloakUserSpecClientRole::getClientId)
 				.map(clientId -> keycloakGenericRemoteService.getByClientId(clientId, realm))
@@ -67,7 +67,7 @@ class KeycloakUserPreconditionService {
 				.findAny();
 	}
 
-	Optional<String> groupsExists(OzgKeycloakUser user, String realm) {
+	Optional<String> groupsExists(OzgCloudKeycloakUser user, String realm) {
 		return user.getSpec().getKeycloakUser().getGroups().stream()
 				.map(KeycloakUserSpecUserGroup::getName)
 				.filter(groupName -> !keycloakGenericRemoteService.groupExists(groupName, realm))
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java
index 51db00ed9ac6c24145ad01e3d8e177f2e08ec5f8..e52f24607759292cc7b424c67eaa709f5eac211c 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java
@@ -43,7 +43,7 @@ import lombok.extern.java.Log;
 @Log
 @ControllerConfiguration
 @Component
-public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Cleaner<OzgKeycloakUser> {
+public class KeycloakUserReconciler implements Reconciler<OzgCloudKeycloakUser>, Cleaner<OzgCloudKeycloakUser> {
 
 	@Autowired
 	private KeycloakUserService service;
@@ -51,7 +51,7 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea
 	private KeycloakUserPreconditionService preconditionService;
 
 	@Override
-	public UpdateControl<OzgKeycloakUser> reconcile(OzgKeycloakUser resource, Context<OzgKeycloakUser> context) {
+	public UpdateControl<OzgCloudKeycloakUser> reconcile(OzgCloudKeycloakUser resource, Context<OzgCloudKeycloakUser> context) {
 		var userName = resource.getMetadata().getName();
 		var namespace = resource.getMetadata().getNamespace();
 
@@ -90,7 +90,7 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea
 	}
 
 	@Override
-	public DeleteControl cleanup(OzgKeycloakUser user, Context<OzgKeycloakUser> context) {
+	public DeleteControl cleanup(OzgCloudKeycloakUser user, Context<OzgCloudKeycloakUser> context) {
 		log.info("User reconciler cleanup, keep after delete is set to: " + user.getSpec().isKeepAfterDelete());
 		if (user.getSpec().isKeepAfterDelete()) {
 			return DeleteControl.defaultDelete();
@@ -98,7 +98,7 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea
 		return cleanup(user);
 	}
 
-	DeleteControl cleanup(OzgKeycloakUser user) {
+	DeleteControl cleanup(OzgCloudKeycloakUser user) {
 		var userName = user.getMetadata().getName();
 		var namespace = user.getMetadata().getNamespace();
 		log.info(String.format("Deleting KeycloakUser %s", userName));
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserService.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserService.java
index e1db8b21157e6a7252b493011127dd603819afed..13e2cb942453183040d56a1cc07b7d2127d9eae3 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserService.java
@@ -41,7 +41,7 @@ class KeycloakUserService {
 	@Autowired
 	private KeycloakUserMapper userMapper;
 
-	public void createOrUpdateUser(OzgKeycloakUserSpec userSpec, String namespace) {
+	public void createOrUpdateUser(OzgCloudKeycloakUserSpec userSpec, String namespace) {
 
 		if (userHasNoPassword(userSpec, namespace)) {
 			var secret = userSecretService.getOrCreateClusterSecret(userSpec, namespace);
@@ -53,11 +53,11 @@ class KeycloakUserService {
 						() -> remoteService.createUser(userMapper.map(userSpec), namespace));
 	}
 
-	boolean userHasNoPassword(OzgKeycloakUserSpec userSpec, String namespace) {
+	boolean userHasNoPassword(OzgCloudKeycloakUserSpec userSpec, String namespace) {
 		return StringUtils.isEmpty(userSpec.getKeycloakUser().getPassword());
 	}
 
-	public void deleteUser(OzgKeycloakUserSpec userSpec, String namespace) {
+	public void deleteUser(OzgCloudKeycloakUserSpec userSpec, String namespace) {
 		Optional.of(userSpec)
 				.map(userMapper::map)
 				.flatMap(keycloakUser -> remoteService.getUserByName(keycloakUser.getUsername(), namespace))
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUser.java b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUser.java
similarity index 86%
rename from src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUser.java
rename to src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUser.java
index 3b553c2e6f0afcd7a0bc7af2757644f1ba5ef921..902762d09538f329988064952eeece2cebf4a9b3 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUser.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUser.java
@@ -31,11 +31,11 @@ import io.fabric8.kubernetes.model.annotation.Plural;
 import io.fabric8.kubernetes.model.annotation.Singular;
 import io.fabric8.kubernetes.model.annotation.Version;
 
-@Kind("OzgKeycloakUser")
+@Kind("OzgCloudKeycloakUser")
 @Group("operator.ozgcloud.de")
 @Version("v1")
-@Singular("ozgkeycloakuser")
-@Plural("ozgkeycloakusers")
+@Singular("ozgcloudkeycloakuser")
+@Plural("ozgcloudkeycloakusers")
 @SuppressWarnings("serial")
-class OzgKeycloakUser extends CustomResource<OzgKeycloakUserSpec, OzgKeycloakUserStatus> implements Namespaced {
+class OzgCloudKeycloakUser extends CustomResource<OzgCloudKeycloakUserSpec, OzgCloudKeycloakUserStatus> implements Namespaced {
 }
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserSpec.java
similarity index 98%
rename from src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java
rename to src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserSpec.java
index d42807f5eea7a48bb368fcbc96c2826356e7d2a4..f6cf222c1c71eae502b81bc983fad6cd0249e559 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpec.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserSpec.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakUserSpec {
+class OzgCloudKeycloakUserSpec {
 
 	@JsonProperty("keep_after_delete")
 	private boolean keepAfterDelete;
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserStatus.java b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserStatus.java
similarity index 95%
rename from src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserStatus.java
rename to src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserStatus.java
index ee04b9944d0527bc216eadc105d565037318c6c8..6202873e123e46aae23e1defb2d532125abfb1d8 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserStatus.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserStatus.java
@@ -39,7 +39,7 @@ import lombok.Setter;
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonIgnoreProperties(ignoreUnknown = true)
-class OzgKeycloakUserStatus extends ObservedGenerationAwareStatus {
+class OzgCloudKeycloakUserStatus extends ObservedGenerationAwareStatus {
 
 	private OzgCustomResourceStatus status;
 
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/UserNameConverter.java b/src/main/java/de/ozgcloud/operator/keycloak/user/UserNameConverter.java
index fee155b2ba5aa1807138d43338786a46780bd3d2..34dc2b66257060ffc76ef7007546fefd7b922a8f 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/UserNameConverter.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/UserNameConverter.java
@@ -3,7 +3,7 @@ package de.ozgcloud.operator.keycloak.user;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUser;
 
 @Component
 class UserNameConverter {
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java b/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java
index 0236edf9496b898a340d9629f0894b0d190b5006..e72f995476d93e663608c0152cbffb56908a3043 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilder.java
@@ -3,7 +3,7 @@ package de.ozgcloud.operator.keycloak.user;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.stereotype.Component;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUser;
 import io.fabric8.kubernetes.api.model.ObjectMeta;
 import io.fabric8.kubernetes.api.model.Secret;
 import io.fabric8.kubernetes.api.model.SecretBuilder;
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretService.java b/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretService.java
index 458cd8b16fdcf973794d224a8090c3809072b2e4..23bab6cdf8a741a590a5a17c3485922046efeacf 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretService.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/UserSecretService.java
@@ -21,7 +21,7 @@ class UserSecretService {
 	@Autowired
 	private KubernetesRemoteService kubernetesRemoteService;
 
-	public Secret create(OzgKeycloakUserSpec userSpec, String namespace) {
+	public Secret create(OzgCloudKeycloakUserSpec userSpec, String namespace) {
 		var secretName = userNameConverter.toSecretName(userSpec.getKeycloakUser());
 
 		var credentialsSecret = secretBuilder.build(secretName, userSpec.getKeycloakUser(), namespace);
@@ -36,7 +36,7 @@ class UserSecretService {
 		return new ResourceAdapter<>(secretResource);
 	}
 
-	Resource<Secret> getUserSecret(OzgKeycloakUserSpec userSpec, String namespace) {
+	Resource<Secret> getUserSecret(OzgCloudKeycloakUserSpec userSpec, String namespace) {
 		var secretName = userNameConverter.toSecretName(userSpec.getKeycloakUser());
 
 		return kubernetesRemoteService.getSecret(namespace, secretName);
@@ -46,7 +46,7 @@ class UserSecretService {
 		return secretReader.getPasswortFromSecret(secret);
 	}
 
-	public Secret getOrCreateClusterSecret(OzgKeycloakUserSpec userSpec, String namespace) {
+	public Secret getOrCreateClusterSecret(OzgCloudKeycloakUserSpec userSpec, String namespace) {
 		return Optional.ofNullable(getUserSecret(userSpec, namespace)).map(Resource::get)
 				.orElseGet(() -> create(userSpec, namespace));
 	}
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java b/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java
index 3b7ff063627c961b0065688716533094935d45f9..8e2d51816d2b6ba8593abd6f78d5976215ad3fc9 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java
@@ -8,7 +8,7 @@ import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
 
 class UserUpdateControlBuilder {
 
-	private OzgKeycloakUser resource;
+	private OzgCloudKeycloakUser resource;
 
 	private OzgCustomResourceStatus status;
 	private Optional<String> message = Optional.empty();
@@ -16,11 +16,11 @@ class UserUpdateControlBuilder {
 	private boolean reschedule = false;
 	private Duration scheduleDuration;
 
-	public UserUpdateControlBuilder(OzgKeycloakUser resource) {
+	public UserUpdateControlBuilder(OzgCloudKeycloakUser resource) {
 		this.resource = resource;
 	}
 
-	public static UserUpdateControlBuilder fromResource(OzgKeycloakUser resource) {
+	public static UserUpdateControlBuilder fromResource(OzgCloudKeycloakUser resource) {
 		return new UserUpdateControlBuilder(resource);
 	}
 
@@ -40,20 +40,20 @@ class UserUpdateControlBuilder {
 		return this;
 	}
 
-	public UpdateControl<OzgKeycloakUser> build() {
+	public UpdateControl<OzgCloudKeycloakUser> build() {
 		resource.setStatus(buildOzgKeycloakUserStatus());
 
 		return buildUpdateControl();
 	}
 
-	private OzgKeycloakUserStatus buildOzgKeycloakUserStatus() {
-		var userStatus = OzgKeycloakUserStatus.builder().status(status);
+	private OzgCloudKeycloakUserStatus buildOzgKeycloakUserStatus() {
+		var userStatus = OzgCloudKeycloakUserStatus.builder().status(status);
 		message.ifPresent(userStatus::message);
 
 		return userStatus.build();
 	}
 
-	private UpdateControl<OzgKeycloakUser> buildUpdateControl() {
+	private UpdateControl<OzgCloudKeycloakUser> buildUpdateControl() {
 		if (reschedule) {
 			return UpdateControl.updateStatus(resource).rescheduleAfter(scheduleDuration);
 		}
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java b/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java
index 3a4bd2c7a4dad46eb3136a157ff6fd2179dd5541..097ca2134a2c434ed655c4ae6fc0f4221ce28e63 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java
@@ -56,7 +56,7 @@ class KeycloakClientReconcilerTest {
 
 		@Test
 		void shouldCallServiceAddClient() {
-			OzgKeycloakClient client = OzgKeycloakClientTestFactory.create();
+			OzgCloudKeycloakClient client = OzgKeycloakClientTestFactory.create();
 
 			reconciler.reconcile(client, null);
 
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientServiceTest.java b/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientServiceTest.java
index bdbacdeae89ee5305f6db60cc909d37cc1afec0f..93f7fc688719e2d0576bff5911d10a298abaa907 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientServiceTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientServiceTest.java
@@ -93,7 +93,7 @@ class KeycloakClientServiceTest {
 	@Nested
 	class TestCreateClient {
 
-		private final OzgKeycloakClientSpec client = OzgKeycloakClientSpecTestFactory.create();
+		private final OzgCloudKeycloakClientSpec client = OzgKeycloakClientSpecTestFactory.create();
 		private final ClientRepresentation clientRepresentation = ClientRepresentationTestFactory.create();
 
 		@BeforeEach
@@ -233,7 +233,7 @@ class KeycloakClientServiceTest {
 	class TestUpdateClient {
 
 		private final ClientRepresentation clientRepresentation = ClientRepresentationTestFactory.create();
-		private final OzgKeycloakClientSpec client = OzgKeycloakClientSpecTestFactory.create();
+		private final OzgCloudKeycloakClientSpec client = OzgKeycloakClientSpecTestFactory.create();
 
 		@BeforeEach
 		void init() {
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakLivelTest.java b/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakLivelTest.java
index a1e2e9c67a3955d13776abd021f8f1783f727228..65177ad996fedbf6118e1cd0bfd9319c76fe420f 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakLivelTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakLivelTest.java
@@ -73,7 +73,7 @@ class KeycloakLivelTest {
 	}
 
 	private ClientRepresentation createClient() {
-		OzgKeycloakClientSpec client = OzgKeycloakClientSpecTestFactory.createBuilder()
+		OzgCloudKeycloakClientSpec client = OzgKeycloakClientSpecTestFactory.createBuilder()
 				.clientId("testclient")
 				.build();
 		return mapper.map(client);
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecProtocolMapperTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecProtocolMapperTestFactory.java
index 18606c4dc0907bb85bb98bc7cedecdce4b036d0c..cfa57dbfbe80b18c4bfc3a2aed3876a74813ad27 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecProtocolMapperTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecProtocolMapperTestFactory.java
@@ -35,12 +35,12 @@ public class OzgKeycloakClientSpecProtocolMapperTestFactory {
 	public static final String CONFIG_VALUE_1 = "ConfigValue1";
 	public static final Map<String, String> CONFIG = Map.of(CONFIG_KEY_1, CONFIG_VALUE_1);
 
-	public static final OzgKeycloakClientSpec.ProtocolMapper create() {
+	public static final OzgCloudKeycloakClientSpec.ProtocolMapper create() {
 		return createBuilder().build();
 	}
 
-	public static final OzgKeycloakClientSpec.ProtocolMapper.ProtocolMapperBuilder createBuilder() {
-		return OzgKeycloakClientSpec.ProtocolMapper.builder()
+	public static final OzgCloudKeycloakClientSpec.ProtocolMapper.ProtocolMapperBuilder createBuilder() {
+		return OzgCloudKeycloakClientSpec.ProtocolMapper.builder()
 				.name(NAME)
 				.protocol(PROTOCOL)
 				.type(TYPE)
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecTestFactory.java
index 410971c63e3f5e2e147c19630e2d99ade4a1653c..325a10d4b6fa42871f213ea9f344e5e34ecd024d 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientSpecTestFactory.java
@@ -25,7 +25,7 @@ package de.ozgcloud.operator.keycloak.client;
 
 import java.util.List;
 
-import de.ozgcloud.operator.keycloak.client.OzgKeycloakClientSpec.ClientRole;
+import de.ozgcloud.operator.keycloak.client.OzgCloudKeycloakClientSpec.ClientRole;
 
 public class OzgKeycloakClientSpecTestFactory {
 
@@ -42,14 +42,14 @@ public class OzgKeycloakClientSpecTestFactory {
 	public static final ClientRole ROLE2 = ClientRole.builder().name(ROLE_NAME_2).build();
 	public static final List<ClientRole> ROLES = List.of(ROLE1);
 
-	public static final OzgKeycloakClientSpec.ProtocolMapper PROTOCOL_MAPPER_1 = OzgKeycloakClientSpecProtocolMapperTestFactory.create();
+	public static final OzgCloudKeycloakClientSpec.ProtocolMapper PROTOCOL_MAPPER_1 = OzgKeycloakClientSpecProtocolMapperTestFactory.create();
 
-	public static final OzgKeycloakClientSpec create() {
+	public static final OzgCloudKeycloakClientSpec create() {
 		return createBuilder().build();
 	}
 
-	public static final OzgKeycloakClientSpec.OzgKeycloakClientSpecBuilder createBuilder() {
-		return OzgKeycloakClientSpec.builder()
+	public static final OzgCloudKeycloakClientSpec.OzgKeycloakClientSpecBuilder createBuilder() {
+		return OzgCloudKeycloakClientSpec.builder()
 				.clientId(CLIENT_ID)
 				.baseUrl(BASE_URL)
 				.redirectUris(REDIRECT_URLS)
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientStatusTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientStatusTestFactory.java
index 2c5b0e7006a51b1a3f73e5c2fa0e66e4616026b2..f406e80a65f25f7ab474656c1a10499b3f96f396 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientStatusTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientStatusTestFactory.java
@@ -25,11 +25,11 @@ package de.ozgcloud.operator.keycloak.client;
 
 public class OzgKeycloakClientStatusTestFactory {
 
-	public static final OzgKeycloakClientStatus create() {
+	public static final OzgCloudKeycloakClientStatus create() {
 		return createBuilder().build();
 	}
 
-	public static final OzgKeycloakClientStatus.OzgKeycloakClientStatusBuilder createBuilder() {
-		return OzgKeycloakClientStatus.builder();
+	public static final OzgCloudKeycloakClientStatus.OzgKeycloakClientStatusBuilder createBuilder() {
+		return OzgCloudKeycloakClientStatus.builder();
 	}
 }
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientTestFactory.java
index e3742856eb4a02de2c6c6c40fe3532dff9de46d4..cf400c4441aa9931b9d16f6359bac966fc6dcee4 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/client/OzgKeycloakClientTestFactory.java
@@ -25,13 +25,13 @@ package de.ozgcloud.operator.keycloak.client;
 
 public class OzgKeycloakClientTestFactory {
 
-	public final static OzgKeycloakClientSpec SPEC = OzgKeycloakClientSpecTestFactory.create();
-	public final static OzgKeycloakClientStatus STATUS = OzgKeycloakClientStatusTestFactory.create();
+	public final static OzgCloudKeycloakClientSpec SPEC = OzgKeycloakClientSpecTestFactory.create();
+	public final static OzgCloudKeycloakClientStatus STATUS = OzgKeycloakClientStatusTestFactory.create();
 
 	public static final String METADATA_NAMESPACE = "TestNamespace";
 
-	public static OzgKeycloakClient create() {
-		var realm = new OzgKeycloakClient();
+	public static OzgCloudKeycloakClient create() {
+		var realm = new OzgCloudKeycloakClient();
 		realm.setSpec(SPEC);
 		realm.setStatus(STATUS);
 
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java b/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java
index 7af5824a52223e714f9e8199d5d54a2c4320ecc3..7c8905cf58755931fa49440bae9deef88f8ecef0 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java
@@ -56,7 +56,7 @@ class KeycloakGroupReconcilerTest {
 
 		@Test
 		void shouldCallServiceAddGroup() {
-			OzgKeycloakGroup group = OzgKeycloakGroupTestFactory.create();
+			OzgCloudKeycloakGroup group = OzgKeycloakGroupTestFactory.create();
 
 			reconciler.reconcile(group, null);
 
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakLivelTest.java b/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakLivelTest.java
index d3da27f065c1d5d6442fd99e02f868cf290aca2b..3a7164c370ac025633f14fea83ec8b12a0f35460 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakLivelTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakLivelTest.java
@@ -69,7 +69,7 @@ class KeycloakLivelTest {
 		log.info("Hase: " + remoteService.getGroupByName("hase", "by-torsten-ozg-operator-dev"));
 		log.info("Maus: " + remoteService.getGroupByName("maus", "by-torsten-ozg-operator-dev"));
 
-		service.createGroup(OzgKeycloakGroupSpec.builder().name("Fuchs").build(), "by-torsten-ozg-operator-dev");
+		service.createGroup(OzgCloudKeycloakGroupSpec.builder().name("Fuchs").build(), "by-torsten-ozg-operator-dev");
 	}
 
 	private GroupRepresentation createGroup() {
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecAttributeTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecAttributeTestFactory.java
index ef1bdc16dd5bf0eff45b10b90908f8435e1113b8..d33a2c7dd90581ce227b68886df316cdc45d6258 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecAttributeTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecAttributeTestFactory.java
@@ -28,12 +28,12 @@ public class OzgKeycloakGroupSpecAttributeTestFactory {
 	public static final String NAME = "AttributeName";
 	public static final String VALUE = "AttributeValue";
 
-	public static OzgKeycloakGroupSpec.Attribute create() {
+	public static OzgCloudKeycloakGroupSpec.Attribute create() {
 		return createBuilder().build();
 	}
 
-	public static OzgKeycloakGroupSpec.Attribute.AttributeBuilder createBuilder() {
-		return OzgKeycloakGroupSpec.Attribute.builder()
+	public static OzgCloudKeycloakGroupSpec.Attribute.AttributeBuilder createBuilder() {
+		return OzgCloudKeycloakGroupSpec.Attribute.builder()
 				.name(NAME)
 				.value(VALUE);
 	}
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecTestFactory.java
index 744a44ff324b620d1d25ffc78f874a6be490ab8b..d9354fd9f296550dfb2396fab6d6df85feade5f1 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupSpecTestFactory.java
@@ -29,12 +29,12 @@ public class OzgKeycloakGroupSpecTestFactory {
 
 	public static final String NAME = "GroupName";
 
-	public static OzgKeycloakGroupSpec create() {
+	public static OzgCloudKeycloakGroupSpec create() {
 		return createBuilder().build();
 	}
 
-	public static OzgKeycloakGroupSpec.OzgKeycloakGroupSpecBuilder createBuilder() {
-		return OzgKeycloakGroupSpec.builder()
+	public static OzgCloudKeycloakGroupSpec.OzgKeycloakGroupSpecBuilder createBuilder() {
+		return OzgCloudKeycloakGroupSpec.builder()
 				.name(NAME)
 				.attributes(List.of(OzgKeycloakGroupSpecAttributeTestFactory.create()));
 	}
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupTestFactory.java
index e97a9b0be66fcb32b8a33d1931bf10f3d3cf8d59..4b931741500cad20b30755f3201f40190a4dcef0 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/group/OzgKeycloakGroupTestFactory.java
@@ -27,10 +27,10 @@ public class OzgKeycloakGroupTestFactory {
 
 	public static final String METADATA_NAMESPACE = "TestNameSpace";
 
-	public static OzgKeycloakGroup create() {
-		var group = new OzgKeycloakGroup();
+	public static OzgCloudKeycloakGroup create() {
+		var group = new OzgCloudKeycloakGroup();
 		group.setSpec(OzgKeycloakGroupSpecTestFactory.create());
-		group.setStatus(OzgKeycloakGroupStatus.builder().build());
+		group.setStatus(OzgCloudKeycloakGroupStatus.builder().build());
 		group.getMetadata().setNamespace(METADATA_NAMESPACE);
 
 		return group;
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java b/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java
index 0dc7d458a9d6b86babd1e0ae01de1e84ace55373..a3cd94a52e52af077c687168f2db0371653516c3 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java
@@ -51,7 +51,7 @@ class KeycloakRealmReconcilerTest {
 
 		@Test
 		void shouldCallServiceAddRealm() {
-			OzgKeycloakRealm realm = OzgKeycloakRealmTestFactory.create();
+			OzgCloudKeycloakRealm realm = OzgKeycloakRealmTestFactory.create();
 
 			reconciler.reconcile(realm, null);
 
@@ -81,8 +81,8 @@ class KeycloakRealmReconcilerTest {
 		@Nested
 		class TestWithKeepAfterDelete {
 
-			private final OzgKeycloakRealmSpec realmSpec = OzgKeycloakRealmSpecTestFactory.createBuilder().keepAfterDelete(true).build();
-			private final OzgKeycloakRealm realm = OzgKeycloakRealmTestFactory.create(realmSpec);
+			private final OzgCloudKeycloakRealmSpec realmSpec = OzgKeycloakRealmSpecTestFactory.createBuilder().keepAfterDelete(true).build();
+			private final OzgCloudKeycloakRealm realm = OzgKeycloakRealmTestFactory.create(realmSpec);
 
 			@Test
 			void shouldNotCallService() {
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java b/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java
index 93d2915c59ecffd5b028bb3d2b4971d0db01d4b3..a74a8bd0ca135bec1219dfc6c3f88e1c41eaa969 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmServiceTest.java
@@ -38,7 +38,7 @@ import de.ozgcloud.operator.keycloak.KeycloakGenericRemoteService;
 
 class KeycloakRealmServiceTest {
 
-	private static final OzgKeycloakRealmSpec REALM = OzgKeycloakRealmSpecTestFactory.create();
+	private static final OzgCloudKeycloakRealmSpec REALM = OzgKeycloakRealmSpecTestFactory.create();
 	private static final String REALM_NAME = "TestRealmName";
 
 	@Spy
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmSpecTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmSpecTestFactory.java
index 52063fb17a6f1465f3a38cab0af5ffc8520628f1..24a8bd5a3664b43072a8f8ba22a813c06f67eeb0 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmSpecTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmSpecTestFactory.java
@@ -28,12 +28,12 @@ public class OzgKeycloakRealmSpecTestFactory {
 	public final static String DISPLAY_NAME = "TestDisplayName";
 	public final static boolean KEEP_AFTER_DELETE = false;
 
-	public static OzgKeycloakRealmSpec create() {
+	public static OzgCloudKeycloakRealmSpec create() {
 		return createBuilder().build();
 	}
 
-	public static OzgKeycloakRealmSpec.OzgKeycloakRealmSpecBuilder createBuilder() {
-		return OzgKeycloakRealmSpec.builder()
+	public static OzgCloudKeycloakRealmSpec.OzgKeycloakRealmSpecBuilder createBuilder() {
+		return OzgCloudKeycloakRealmSpec.builder()
 				.keepAfterDelete(KEEP_AFTER_DELETE)
 				.displayName(DISPLAY_NAME);
 	}
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmStatusTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmStatusTestFactory.java
index 372307ba7c9619969f170173e47a09682dab9b13..854bb98cb21b7d9a1d6fd6f2e2fc97e40dc59064 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmStatusTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmStatusTestFactory.java
@@ -25,11 +25,11 @@ package de.ozgcloud.operator.keycloak.realm;
 
 public class OzgKeycloakRealmStatusTestFactory {
 
-	public static OzgKeycloakRealmStatus create() {
+	public static OzgCloudKeycloakRealmStatus create() {
 		return createBuilder().build();
 	}
 
-	public static OzgKeycloakRealmStatus.OzgKeycloakRealmStatusBuilder createBuilder() {
-		return OzgKeycloakRealmStatus.builder();
+	public static OzgCloudKeycloakRealmStatus.OzgKeycloakRealmStatusBuilder createBuilder() {
+		return OzgCloudKeycloakRealmStatus.builder();
 	}
 }
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmTestFactory.java
index 08df37af33ce01660554ce49115646d855b38c07..d63754a58a22b648c838defd1a8a78180fa7b802 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgKeycloakRealmTestFactory.java
@@ -27,16 +27,16 @@ public class OzgKeycloakRealmTestFactory {
 
 	public static final String METADATA_NAMESPACE = "TestNamespace";
 
-	public static OzgKeycloakRealm create() {
+	public static OzgCloudKeycloakRealm create() {
 		return createWithSpec(OzgKeycloakRealmSpecTestFactory.create());
 	}
 
-	public static OzgKeycloakRealm create(OzgKeycloakRealmSpec spec) {
+	public static OzgCloudKeycloakRealm create(OzgCloudKeycloakRealmSpec spec) {
 		return createWithSpec(spec);
 	}
 
-	private static OzgKeycloakRealm createWithSpec(OzgKeycloakRealmSpec spec) {
-		var realm = new OzgKeycloakRealm();
+	private static OzgCloudKeycloakRealm createWithSpec(OzgCloudKeycloakRealmSpec spec) {
+		var realm = new OzgCloudKeycloakRealm();
 		realm.setSpec(spec);
 		realm.setStatus(OzgKeycloakRealmStatusTestFactory.create());
 		realm.getMetadata().setNamespace(METADATA_NAMESPACE);
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapperTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapperTest.java
index bfc36ce848a539f355c37922618a6240f80f9466..3a41294bd78845ef51b35ffb3e70c246cbc46b20 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapperTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserMapperTest.java
@@ -35,7 +35,7 @@ import org.mockito.Spy;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUser;
 import lombok.SneakyThrows;
 
 class KeycloakUserMapperTest {
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java
index 2dc90dacdcaee82639df55cf88fbf847a3c45720..bc85485a72c2a9158e97e18570e9c04d8a2c25c1 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserPreconditionServiceTest.java
@@ -138,7 +138,7 @@ class KeycloakUserPreconditionServiceTest {
 	@Nested
 	class TestGroupsExists {
 
-		private static final OzgKeycloakUser user = OzgKeycloakUserTestFactory.create();
+		private static final OzgCloudKeycloakUser user = OzgKeycloakUserTestFactory.create();
 
 		@BeforeEach
 		void init() {
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java
index 2f25cdeb8f0513f445c2111153f9f644c1de65ad..17b25f0c1263712c19450ed7d993721abfa91caa 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconcilerTest.java
@@ -38,7 +38,7 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 
 import de.ozgcloud.operator.keycloak.OzgCustomResourceStatus;
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUser;
 import io.javaoperatorsdk.operator.api.reconciler.DeleteControl;
 
 class KeycloakUserReconcilerTest {
@@ -63,7 +63,7 @@ class KeycloakUserReconcilerTest {
 
 		@Test
 		void shouldCallServiceAddUser() {
-			OzgKeycloakUser user = OzgKeycloakUserTestFactory.create();
+			OzgCloudKeycloakUser user = OzgKeycloakUserTestFactory.create();
 
 			reconciler.reconcile(user, null);
 
@@ -72,7 +72,7 @@ class KeycloakUserReconcilerTest {
 
 		@Test
 		void shouldUpdateStatus() {
-			OzgKeycloakUser user = OzgKeycloakUserTestFactory.create();
+			OzgCloudKeycloakUser user = OzgKeycloakUserTestFactory.create();
 
 			reconciler.reconcile(user, null);
 
@@ -87,7 +87,7 @@ class KeycloakUserReconcilerTest {
 			@Test
 			void shouldSetPreconcitionErrorMessage() {
 				when(preconditionService.getPreconditionErrors(any())).thenReturn(Optional.of(ERROR_MESSAGE));
-				OzgKeycloakUser user = OzgKeycloakUserTestFactory.create();
+				OzgCloudKeycloakUser user = OzgKeycloakUserTestFactory.create();
 
 				reconciler.reconcile(user, null);
 
@@ -105,9 +105,9 @@ class KeycloakUserReconcilerTest {
 		class TestWithKeepAfterDelete {
 
 			private final KeycloakUserSpecUser keycloakUser = KeycloakUserSpecUserTestFactory.createBuiler().build();
-			private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.createBuilder().keepAfterDelete(true)
+			private final OzgCloudKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.createBuilder().keepAfterDelete(true)
 					.keycloakUser(keycloakUser).build();
-			private final OzgKeycloakUser user = OzgKeycloakUserTestFactory.create(userSpec);
+			private final OzgCloudKeycloakUser user = OzgKeycloakUserTestFactory.create(userSpec);
 
 			@Test
 			void shouldNotCallService() {
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserServiceTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserServiceTest.java
index faebcd192bf975cb39dc1caf737c9f5b5b5a73c7..dd604baecb8cc888a7cf3db679081dec4891a691 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserServiceTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserServiceTest.java
@@ -70,9 +70,9 @@ class KeycloakUserServiceTest {
 		@Mock
 		private Resource<Secret> resource;
 		@Captor
-		private ArgumentCaptor<OzgKeycloakUserSpec> ozgKeycloakUserSpecCaptor;
+		private ArgumentCaptor<OzgCloudKeycloakUserSpec> ozgKeycloakUserSpecCaptor;
 
-		private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.create();
+		private final OzgCloudKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.create();
 
 		@DisplayName("user has no password")
 		@Nested
@@ -173,7 +173,7 @@ class KeycloakUserServiceTest {
 
 		@Test
 		void testUserHasNoPasswordTrue() {
-			OzgKeycloakUserSpec user = OzgKeycloakUserSpecTestFactory.create();
+			OzgCloudKeycloakUserSpec user = OzgKeycloakUserSpecTestFactory.create();
 
 			boolean userHasNoPassword = service.userHasNoPassword(user, TEST_NAMESPACE);
 
@@ -182,14 +182,14 @@ class KeycloakUserServiceTest {
 
 		@Test
 		void testUserHasNoPasswordFalse() {
-			OzgKeycloakUserSpec user = createUserWithoutPassword();
+			OzgCloudKeycloakUserSpec user = createUserWithoutPassword();
 
 			boolean userHasNoPassword = service.userHasNoPassword(user, TEST_NAMESPACE);
 
 			assertThat(userHasNoPassword).isTrue();
 		}
 
-		private OzgKeycloakUserSpec createUserWithoutPassword() {
+		private OzgCloudKeycloakUserSpec createUserWithoutPassword() {
 			return OzgKeycloakUserSpecTestFactory.createBuilder()
 					.keycloakUser(KeycloakUserSpecUserTestFactory.createBuiler()
 							.password(null).build())
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserSpecUserTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserSpecUserTestFactory.java
index c3acd6406f9b33db14544ea10ee33542fef3c059..7029584c37f569caf73355b12d1698c930ca0e2d 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserSpecUserTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/KeycloakUserSpecUserTestFactory.java
@@ -26,9 +26,9 @@ package de.ozgcloud.operator.keycloak.user;
 import java.util.List;
 import java.util.UUID;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecClientRole;
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser;
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUserGroup;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecClientRole;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUser;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUserGroup;
 
 class KeycloakUserSpecUserTestFactory {
 
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpecTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpecTestFactory.java
index 853f7dbcf39d4e2a93777ccc4cd3157aa37feacb..31d2e6d4498e525111e98a0fca0f1f85fe87a08d 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpecTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserSpecTestFactory.java
@@ -23,16 +23,16 @@
  */
 package de.ozgcloud.operator.keycloak.user;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.OzgKeycloakUserSpecBuilder;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.OzgKeycloakUserSpecBuilder;
 
 public class OzgKeycloakUserSpecTestFactory {
 
-	public static OzgKeycloakUserSpec create() {
+	public static OzgCloudKeycloakUserSpec create() {
 		return createBuilder().build();
 	}
 
 	public static OzgKeycloakUserSpecBuilder createBuilder() {
-		return OzgKeycloakUserSpec.builder()
+		return OzgCloudKeycloakUserSpec.builder()
 				.keycloakUser(KeycloakUserSpecUserTestFactory.create());
 	}
 }
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserStatusTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserStatusTestFactory.java
index 78d56c72688eadf65cc8e34dede0611dfc21baee..83aaefcb369d200442dc9c7ce7647d4e251afdf0 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserStatusTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserStatusTestFactory.java
@@ -23,15 +23,15 @@
  */
 package de.ozgcloud.operator.keycloak.user;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserStatus.OzgKeycloakUserStatusBuilder;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserStatus.OzgKeycloakUserStatusBuilder;
 
 class OzgKeycloakUserStatusTestFactory {
 
-	public static OzgKeycloakUserStatus create() {
+	public static OzgCloudKeycloakUserStatus create() {
 		return createBuiler().build();
 	}
 
 	private static OzgKeycloakUserStatusBuilder createBuiler() {
-		return OzgKeycloakUserStatus.builder();
+		return OzgCloudKeycloakUserStatus.builder();
 	}
 }
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserTestFactory.java b/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserTestFactory.java
index 79677c8c0797c77b3d7460a19db4a672c623a50c..1194c2ce4642522d89592141487096c27537406a 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserTestFactory.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/OzgKeycloakUserTestFactory.java
@@ -27,16 +27,16 @@ class OzgKeycloakUserTestFactory {
 
 	public static final String METADATA_NAMESPACE = "TestNamespace";
 
-	public static OzgKeycloakUser create() {
+	public static OzgCloudKeycloakUser create() {
 		return createWithSpec(OzgKeycloakUserSpecTestFactory.create());
 	}
 
-	public static OzgKeycloakUser create(OzgKeycloakUserSpec spec) {
+	public static OzgCloudKeycloakUser create(OzgCloudKeycloakUserSpec spec) {
 		return createWithSpec(spec);
 	}
 
-	private static OzgKeycloakUser createWithSpec(OzgKeycloakUserSpec spec) {
-		var keycloakUser = new OzgKeycloakUser();
+	private static OzgCloudKeycloakUser createWithSpec(OzgCloudKeycloakUserSpec spec) {
+		var keycloakUser = new OzgCloudKeycloakUser();
 		keycloakUser.setSpec(spec);
 		keycloakUser.setStatus(OzgKeycloakUserStatusTestFactory.create());
 		keycloakUser.getMetadata().setNamespace(METADATA_NAMESPACE);
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java
index 9d92dd981f57389def7895885275dcf0b43c1bdd..7cfbbf8e13b7d2e1d89104616c6aa28a6550e372 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretBuilderTest.java
@@ -9,7 +9,7 @@ import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.Spy;
 
-import de.ozgcloud.operator.keycloak.user.OzgKeycloakUserSpec.KeycloakUserSpecUser;
+import de.ozgcloud.operator.keycloak.user.OzgCloudKeycloakUserSpec.KeycloakUserSpecUser;
 
 public class UserSecretBuilderTest {
 
diff --git a/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretServiceTest.java b/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretServiceTest.java
index 4d93da968265bd54789920e8df48f8319598282c..714189787f74d9208151ddfb5b217c7b1ec9b4bb 100644
--- a/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretServiceTest.java
+++ b/src/test/java/de/ozgcloud/operator/keycloak/user/UserSecretServiceTest.java
@@ -36,7 +36,7 @@ class UserSecretServiceTest {
 	@Nested
 	class TestCreateSecret {
 
-		private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.create();
+		private final OzgCloudKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.create();
 
 		@Mock
 		private Resource<Secret> secretResource;
@@ -113,7 +113,7 @@ class UserSecretServiceTest {
 	@Nested
 	class TestGetUserSecret {
 
-		private final OzgKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.create();
+		private final OzgCloudKeycloakUserSpec userSpec = OzgKeycloakUserSpecTestFactory.create();
 
 		private final static String CONVERTED_NAME = "SecretConformName";
 
@@ -148,7 +148,7 @@ class UserSecretServiceTest {
 
 		@BeforeEach
 		void init() {
-			doReturn(secretResource).when(userSecretService).getUserSecret(any(OzgKeycloakUserSpec.class), eq(NAMESPACE));
+			doReturn(secretResource).when(userSecretService).getUserSecret(any(OzgCloudKeycloakUserSpec.class), eq(NAMESPACE));
 		}
 
 		@Test
@@ -163,7 +163,7 @@ class UserSecretServiceTest {
 		@Test
 		void shouldReturnNewSecretIfNotExisting() {
 			when(secretResource.get()).thenReturn(null);
-			doReturn(secret).when(userSecretService).create(any(OzgKeycloakUserSpec.class), eq(NAMESPACE));
+			doReturn(secret).when(userSecretService).create(any(OzgCloudKeycloakUserSpec.class), eq(NAMESPACE));
 
 			Secret secretResponse = userSecretService.getOrCreateClusterSecret(OzgKeycloakUserSpecTestFactory.create(), NAMESPACE);