From fc1cad49cbf5998dc8c147e2c8ea9867f78473d2 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 13 Jun 2023 18:56:22 +0200
Subject: [PATCH] spring native tests

---
 pom.xml                                       | 10 ++++-----
 run-local.sh                                  |  2 +-
 .../java/de/ozgcloud/operator/Config.java     |  5 +++++
 .../operator/OzgOperatorApplication.java      |  5 +++++
 .../operator/SpringNativeConfiguration.java   | 22 +++++++++++++++++++
 .../keycloak/KeycloakUserReconciler.java      |  7 +++---
 6 files changed, 42 insertions(+), 9 deletions(-)
 create mode 100644 src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java

diff --git a/pom.xml b/pom.xml
index 67126af..e213346 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>3.0.7</version>
+		<version>3.1.0</version>
 		<relativePath/> <!-- lookup parent from repository -->
 	</parent>
 	<groupId>de.ozgcloud</groupId>
@@ -34,10 +34,10 @@
 			<groupId>org.projectlombok</groupId>
 			<artifactId>lombok</artifactId>
 		</dependency>
-		<dependency>
-			<groupId>org.apache.logging.log4j</groupId>
-			<artifactId>log4j-core</artifactId>
-		</dependency>
+<!--		<dependency>-->
+<!--			<groupId>org.apache.logging.log4j</groupId>-->
+<!--			<artifactId>log4j-core</artifactId>-->
+<!--		</dependency>-->
 
 
 
diff --git a/run-local.sh b/run-local.sh
index 3d116dd..7b6cff1 100755
--- a/run-local.sh
+++ b/run-local.sh
@@ -1,3 +1,3 @@
 #!/bin/bash
 
-docker run --rm -p 8080:8080 docker.io/library/operator:0.0.1-SNAPSHOT
+docker run --rm -p 8080:8080 docker.ozg-sh.de/ozg-operator:build-latest
diff --git a/src/main/java/de/ozgcloud/operator/Config.java b/src/main/java/de/ozgcloud/operator/Config.java
index f2fd9bb..9acb45b 100644
--- a/src/main/java/de/ozgcloud/operator/Config.java
+++ b/src/main/java/de/ozgcloud/operator/Config.java
@@ -24,4 +24,9 @@ public class Config {
 		controllers.forEach(operator::register);
 		return operator;
 	}
+
+//	@Bean
+//	KubernetesClient kubernetesClient() {
+//		return new KubernetesClientBuilder().build();
+//	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/ozgcloud/operator/OzgOperatorApplication.java b/src/main/java/de/ozgcloud/operator/OzgOperatorApplication.java
index 170f79f..7165e30 100644
--- a/src/main/java/de/ozgcloud/operator/OzgOperatorApplication.java
+++ b/src/main/java/de/ozgcloud/operator/OzgOperatorApplication.java
@@ -3,10 +3,15 @@ package de.ozgcloud.operator;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
+import lombok.extern.java.Log;
+
 @SpringBootApplication
+@Log
+//@ImportRuntimeHints(KubernetesClientImpl.class)
 public class OzgOperatorApplication {
 
 	public static void main(String[] args) {
+		log.severe("hase");
 		SpringApplication.run(OzgOperatorApplication.class, args);
 	}
 }
diff --git a/src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java b/src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java
new file mode 100644
index 0000000..a2e3fa3
--- /dev/null
+++ b/src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java
@@ -0,0 +1,22 @@
+package de.ozgcloud.operator;
+
+import org.springframework.aot.hint.RuntimeHints;
+import org.springframework.aot.hint.RuntimeHintsRegistrar;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.ImportRuntimeHints;
+
+import io.fabric8.kubernetes.client.impl.KubernetesClientImpl;
+
+@Configuration
+@ImportRuntimeHints(SpringNativeConfiguration.KuberenetesCLientImplHints.class)
+public class SpringNativeConfiguration {
+
+	static class KuberenetesCLientImplHints implements RuntimeHintsRegistrar {
+
+		@Override
+		public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
+			hints.reflection()
+					.registerType(KubernetesClientImpl.class);
+		}
+	}
+}
diff --git a/src/main/java/de/ozgcloud/operator/keycloak/KeycloakUserReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/KeycloakUserReconciler.java
index 54297d2..174d21f 100644
--- a/src/main/java/de/ozgcloud/operator/keycloak/KeycloakUserReconciler.java
+++ b/src/main/java/de/ozgcloud/operator/keycloak/KeycloakUserReconciler.java
@@ -6,17 +6,18 @@ import io.javaoperatorsdk.operator.api.reconciler.Context;
 import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
 import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
 import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
-import lombok.extern.log4j.Log4j2;
+import lombok.extern.java.Log;
 
 @ControllerConfiguration
-@Log4j2
+//@Log4j2
+@Log
 public class KeycloakUserReconciler implements Reconciler<KeycloakUser> {
 
 	@Override
 	public UpdateControl<KeycloakUser> reconcile(KeycloakUser crd, Context<KeycloakUser> context) throws Exception {
 //		String name = crd.getMetadata().getName();
 		String name = crd.getSpec().getName();
-		log.info("Reconciling: {}", name);
+		log.fine("Reconciling: " + name);
 		crd.setStatus(KeycloakUserStatus.builder().status("Updated status for " + name + LocalDate.now().toString()).build());
 		return UpdateControl.updateStatus(crd);
 	}
-- 
GitLab