From 52284be0b0977ca1c1d2bc2df17d2b04d7ebbbba Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 7 Jun 2023 13:34:49 +0200
Subject: [PATCH] add operator sdk dependency

---
 pom.xml                                       |  7 +++++++
 .../java/de/ozgcloud/operator/Config.java     | 21 +++++++++++++++++++
 .../operator/OzgOperatorApplication.java      |  1 -
 .../operator/OzgOperatorApplicationTests.java |  3 +--
 4 files changed, 29 insertions(+), 3 deletions(-)
 create mode 100644 src/main/java/de/ozgcloud/operator/Config.java

diff --git a/pom.xml b/pom.xml
index 537681d..b1a1483 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,6 +15,7 @@
 	<description>OZG Cloud Operator</description>
 	<properties>
 		<java.version>17</java.version>
+		<operator-sdk.version>5.0.0</operator-sdk.version>
 	</properties>
 	<dependencies>
 		<dependency>
@@ -22,6 +23,12 @@
 			<artifactId>spring-boot-starter</artifactId>
 		</dependency>
 
+		<dependency>
+			<groupId>io.javaoperatorsdk</groupId>
+			<artifactId>operator-framework-spring-boot-starter</artifactId>
+			<version>${operator-sdk.version}</version>
+		</dependency>
+
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-test</artifactId>
diff --git a/src/main/java/de/ozgcloud/operator/Config.java b/src/main/java/de/ozgcloud/operator/Config.java
new file mode 100644
index 0000000..2995687
--- /dev/null
+++ b/src/main/java/de/ozgcloud/operator/Config.java
@@ -0,0 +1,21 @@
+package de.ozgcloud.operator;
+
+import java.util.List;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import io.javaoperatorsdk.operator.Operator;
+import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
+
+@Configuration
+public class Config {
+
+	@Bean(initMethod = "start", destroyMethod = "stop")
+	@SuppressWarnings("rawtypes")
+	Operator operator(List<Reconciler> controllers) {
+		Operator operator = new Operator();
+		controllers.forEach(operator::register);
+		return operator;
+	}
+}
\ 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 13379e2..170f79f 100644
--- a/src/main/java/de/ozgcloud/operator/OzgOperatorApplication.java
+++ b/src/main/java/de/ozgcloud/operator/OzgOperatorApplication.java
@@ -9,5 +9,4 @@ public class OzgOperatorApplication {
 	public static void main(String[] args) {
 		SpringApplication.run(OzgOperatorApplication.class, args);
 	}
-
 }
diff --git a/src/test/java/de/ozgcloud/operator/OzgOperatorApplicationTests.java b/src/test/java/de/ozgcloud/operator/OzgOperatorApplicationTests.java
index 1485428..f0e8352 100644
--- a/src/test/java/de/ozgcloud/operator/OzgOperatorApplicationTests.java
+++ b/src/test/java/de/ozgcloud/operator/OzgOperatorApplicationTests.java
@@ -1,9 +1,8 @@
 package de.ozgcloud.operator;
 
 import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
 
-@SpringBootTest
+//@SpringBootTest
 class OzgOperatorApplicationTests {
 
 	@Test
-- 
GitLab