From 3ea1d381f8a88f322b1de1fc74483627841d1ff4 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 19 Apr 2024 11:33:46 +0200
Subject: [PATCH] OZG-add es operator admin secret edit role

---
 ...earch_operator_admin_secret_edit_role.yaml | 40 +++++++++++++++++++
 ...perator_admin_secret_edit_rolebinding.yaml | 37 +++++++++++++++++
 .../OzgCloudElasticsearchService.java         |  2 -
 3 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_role.yaml
 create mode 100644 ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_rolebinding.yaml

diff --git a/ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_role.yaml b/ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_role.yaml
new file mode 100644
index 0000000..17fe50d
--- /dev/null
+++ b/ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_role.yaml
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2023 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: Role
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+  name: ozgcloud-elasticsearch-operator-admin-secret-edit-role
+  namespace: {{ required "elasticsearch.namespace must be set" (.Values.elasticsearch).namespace }}
+rules:
+  - apiGroups:
+      - ""
+    resourceNames:
+      - {{ required "elasticsearch.adminSecretName must be set" (.Values.elasticsearch).adminSecretName }}
+      - {{ required "elasticsearch.certificateSecretName must be set" (.Values.elasticsearch).certificateSecretName }}
+    resources:
+      - secrets
+    verbs:
+      - update
+      - patch
diff --git a/ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_rolebinding.yaml b/ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_rolebinding.yaml
new file mode 100644
index 0000000..bf7bb84
--- /dev/null
+++ b/ozgcloud-elasticsearch-operator/src/main/helm/templates/rbac/ozgcloud_elasticsearch_operator_admin_secret_edit_rolebinding.yaml
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2023 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: ozgcloud-elasticsearch-operator-admin-secret-edit-role-binding
+  namespace: {{ required "elasticsearch.namespace must be set" (.Values.elasticsearch).namespace }}
+subjects:
+  - kind: ServiceAccount
+    name: ozgcloud-elasticsearch-operator-serviceaccount
+    namespace: {{ .Release.Namespace }}
+roleRef:
+  kind: Role
+  name: ozgcloud-elasticsearch-operator-admin-secret-edit-role
+  apiGroup: rbac.authorization.k8s.io
diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java
index e140589..20f622a 100644
--- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java
+++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java
@@ -112,8 +112,6 @@ public class OzgCloudElasticsearchService {
 			LOG.info(" properties.getCertificateSecretName:", properties.getCertificateSecretName());
 			LOG.info(" Create certificate secret in namespace {}", namespace);
 			createOrReplaceCredentialSecret(namespace, secretResource);
-			
-	
 		} catch (Exception e) {
 			throw new RuntimeException("Certificate secret creation failed " + namespace, e);
 		}
-- 
GitLab