From 567bbe7c73141f05dcbe8de33ff7873940919dd5 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 30 Nov 2023 13:15:51 +0100
Subject: [PATCH] OZG-4624 rename CRDs and java classes

---
 .../serviceaccount_keycloak_read.yaml         | 62 -----------------
 .../serviceaccount_keycloak_secrets_read.yaml | 50 --------------
 .../serviceaccount_keycloak_write.yaml        | 66 -------------------
 ...perator.ozgcloud.de_OzgKeycloakClient.yaml | 44 -------------
 ...operator.ozgcloud.de_OzgKeycloakGroup.yaml | 44 -------------
 ...perator.ozgcloud.de_OzgKeycloakRealms.yaml | 44 -------------
 .../operator.ozgcloud.de_OzgKeycloakUser.yaml | 44 -------------
 ...perator.ozgcloud.de_OzgKeycloakClient.yaml |  6 +-
 ...operator.ozgcloud.de_OzgKeycloakGroup.yaml |  6 +-
 ...perator.ozgcloud.de_OzgKeycloakRealms.yaml |  6 +-
 .../operator.ozgcloud.de_OzgKeycloakUser.yaml |  6 +-
 .../keycloak/client/KeycloakClientMapper.java | 12 ++--
 .../KeycloakClientPreconditionService.java    |  2 +-
 .../client/KeycloakClientReconciler.java      | 14 ++--
 .../client/KeycloakClientService.java         |  8 +--
 ...lient.java => OzgCloudKeycloakClient.java} |  2 +-
 ...c.java => OzgCloudKeycloakClientSpec.java} |  2 +-
 ...java => OzgCloudKeycloakClientStatus.java} |  2 +-
 .../keycloak/group/KeycloakGroupMapper.java   |  6 +-
 .../KeycloakGroupPreconditionService.java     |  2 +-
 .../group/KeycloakGroupReconciler.java        | 14 ++--
 .../keycloak/group/KeycloakGroupService.java  |  2 +-
 ...kGroup.java => OzgCloudKeycloakGroup.java} |  8 +--
 ...ec.java => OzgCloudKeycloakGroupSpec.java} |  2 +-
 ....java => OzgCloudKeycloakGroupStatus.java} |  2 +-
 .../keycloak/realm/KeycloakRealmMapper.java   |  4 +-
 .../realm/KeycloakRealmReconciler.java        | 12 ++--
 .../keycloak/realm/KeycloakRealmService.java  |  2 +-
 ...kRealm.java => OzgCloudKeycloakRealm.java} |  8 +--
 ...ec.java => OzgCloudKeycloakRealmSpec.java} |  2 +-
 ....java => OzgCloudKeycloakRealmStatus.java} |  2 +-
 .../keycloak/user/KeycloakUserMapper.java     | 14 ++--
 .../user/KeycloakUserPreconditionService.java | 10 +--
 .../keycloak/user/KeycloakUserReconciler.java |  8 +--
 .../keycloak/user/KeycloakUserService.java    |  6 +-
 ...oakUser.java => OzgCloudKeycloakUser.java} |  8 +--
 ...pec.java => OzgCloudKeycloakUserSpec.java} |  2 +-
 ...s.java => OzgCloudKeycloakUserStatus.java} |  2 +-
 .../keycloak/user/UserNameConverter.java      |  2 +-
 .../keycloak/user/UserSecretBuilder.java      |  2 +-
 .../keycloak/user/UserSecretService.java      |  6 +-
 .../user/UserUpdateControlBuilder.java        | 14 ++--
 .../client/KeycloakClientReconcilerTest.java  |  2 +-
 .../client/KeycloakClientServiceTest.java     |  4 +-
 .../keycloak/client/KeycloakLivelTest.java    |  2 +-
 ...akClientSpecProtocolMapperTestFactory.java |  6 +-
 .../OzgKeycloakClientSpecTestFactory.java     | 10 +--
 .../OzgKeycloakClientStatusTestFactory.java   |  6 +-
 .../client/OzgKeycloakClientTestFactory.java  |  8 +--
 .../group/KeycloakGroupReconcilerTest.java    |  2 +-
 .../keycloak/group/KeycloakLivelTest.java     |  2 +-
 ...KeycloakGroupSpecAttributeTestFactory.java |  6 +-
 .../OzgKeycloakGroupSpecTestFactory.java      |  6 +-
 .../group/OzgKeycloakGroupTestFactory.java    |  6 +-
 .../realm/KeycloakRealmReconcilerTest.java    |  6 +-
 .../realm/KeycloakRealmServiceTest.java       |  2 +-
 .../OzgKeycloakRealmSpecTestFactory.java      |  6 +-
 .../OzgKeycloakRealmStatusTestFactory.java    |  6 +-
 .../realm/OzgKeycloakRealmTestFactory.java    |  8 +--
 .../keycloak/user/KeycloakUserMapperTest.java |  2 +-
 .../KeycloakUserPreconditionServiceTest.java  |  2 +-
 .../user/KeycloakUserReconcilerTest.java      | 12 ++--
 .../user/KeycloakUserServiceTest.java         | 10 +--
 .../user/KeycloakUserSpecUserTestFactory.java |  6 +-
 .../user/OzgKeycloakUserSpecTestFactory.java  |  6 +-
 .../OzgKeycloakUserStatusTestFactory.java     |  6 +-
 .../user/OzgKeycloakUserTestFactory.java      |  8 +--
 .../keycloak/user/UserSecretBuilderTest.java  |  2 +-
 .../keycloak/user/UserSecretServiceTest.java  |  8 +--
 69 files changed, 178 insertions(+), 532 deletions(-)
 delete mode 100644 doc/ServiceAccount/serviceaccount_keycloak_read.yaml
 delete mode 100644 doc/ServiceAccount/serviceaccount_keycloak_secrets_read.yaml
 delete mode 100644 doc/ServiceAccount/serviceaccount_keycloak_write.yaml
 delete mode 100644 doc/crds/operator.ozgcloud.de_OzgKeycloakClient.yaml
 delete mode 100644 doc/crds/operator.ozgcloud.de_OzgKeycloakGroup.yaml
 delete mode 100644 doc/crds/operator.ozgcloud.de_OzgKeycloakRealms.yaml
 delete mode 100644 doc/crds/operator.ozgcloud.de_OzgKeycloakUser.yaml
 rename src/main/java/de/ozgcloud/operator/keycloak/client/{OzgKeycloakClient.java => OzgCloudKeycloakClient.java} (92%)
 rename src/main/java/de/ozgcloud/operator/keycloak/client/{OzgKeycloakClientSpec.java => OzgCloudKeycloakClientSpec.java} (98%)
 rename src/main/java/de/ozgcloud/operator/keycloak/client/{OzgKeycloakClientStatus.java => OzgCloudKeycloakClientStatus.java} (97%)
 rename src/main/java/de/ozgcloud/operator/keycloak/group/{OzgKeycloakGroup.java => OzgCloudKeycloakGroup.java} (86%)
 rename src/main/java/de/ozgcloud/operator/keycloak/group/{OzgKeycloakGroupSpec.java => OzgCloudKeycloakGroupSpec.java} (98%)
 rename src/main/java/de/ozgcloud/operator/keycloak/group/{OzgKeycloakGroupStatus.java => OzgCloudKeycloakGroupStatus.java} (97%)
 rename src/main/java/de/ozgcloud/operator/keycloak/realm/{OzgKeycloakRealm.java => OzgCloudKeycloakRealm.java} (86%)
 rename src/main/java/de/ozgcloud/operator/keycloak/realm/{OzgKeycloakRealmSpec.java => OzgCloudKeycloakRealmSpec.java} (97%)
 rename src/main/java/de/ozgcloud/operator/keycloak/realm/{OzgKeycloakRealmStatus.java => OzgCloudKeycloakRealmStatus.java} (97%)
 rename src/main/java/de/ozgcloud/operator/keycloak/user/{OzgKeycloakUser.java => OzgCloudKeycloakUser.java} (86%)
 rename src/main/java/de/ozgcloud/operator/keycloak/user/{OzgKeycloakUserSpec.java => OzgCloudKeycloakUserSpec.java} (98%)
 rename src/main/java/de/ozgcloud/operator/keycloak/user/{OzgKeycloakUserStatus.java => OzgCloudKeycloakUserStatus.java} (95%)

diff --git a/doc/ServiceAccount/serviceaccount_keycloak_read.yaml b/doc/ServiceAccount/serviceaccount_keycloak_read.yaml
deleted file mode 100644
index 2ee9466..0000000
--- 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 5f3efc0..0000000
--- 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 2eda24e..0000000
--- 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 52393be..0000000
--- 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 ee88ea0..0000000
--- 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 ed46ad7..0000000
--- 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 6100f54..0000000
--- 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 52393be..48e43de 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 ee88ea0..8f97e2a 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 ed46ad7..7a0a715 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 6100f54..e3a24f2 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 12cb449..ccd1148 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 10c9743..93b4130 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 d20d398..ee78cac 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 6cf43aa..90e9671 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 b78b340..d50404d 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 e7b8353..15511d7 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 d1b00c4..abcafe1 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 d0dcab2..519f661 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 200a802..0f6571b 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 4aeed50..ca6b10e 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 829e1d2..4eaa2ed 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 4bb0581..6d02e43 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 43ac4be..8b19961 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 6dcc30e..f3817dd 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 faa2bb1..8b5e7be 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 961a6dd..a07c039 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 d6d69c3..6911ce5 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 5eaccea..87bb67a 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 a3cd548..0a23abf 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 d434199..b2072b7 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 adf5f34..6525186 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 3eaf6c5..6366465 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 51db00e..e52f246 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 e1db8b2..13e2cb9 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 3b553c2..902762d 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 d42807f..f6cf222 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 ee04b99..6202873 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 fee155b..34dc2b6 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 0236edf..e72f995 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 458cd8b..23bab6c 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 3b7ff06..8e2d518 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 3a4bd2c..097ca21 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 bdbacde..93f7fc6 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 a1e2e9c..65177ad 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 18606c4..cfa57db 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 410971c..325a10d 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 2c5b0e7..f406e80 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 e374285..cf400c4 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 7af5824..7c8905c 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 d3da27f..3a7164c 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 ef1bdc1..d33a2c7 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 744a44f..d9354fd 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 e97a9b0..4b93174 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 0dc7d45..a3cd94a 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 93d2915..a74a8bd 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 52063fb..24a8bd5 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 372307b..854bb98 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 08df37a..d63754a 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 bfc36ce..3a41294 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 2dc90da..bc85485 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 2f25cde..17b25f0 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 faebcd1..dd604ba 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 c3acd64..7029584 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 853f7db..31d2e6d 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 78d56c7..83aaefc 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 79677c8..1194c2c 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 9d92dd9..7cfbbf8 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 4d93da9..7141897 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);
 
-- 
GitLab