diff --git a/README.md b/README.md
index 0ec65b86a8..1ee028800d 100644
--- a/README.md
+++ b/README.md
@@ -51,6 +51,11 @@ Note that these docs are currently in progress.
> Kubernetes client. While this should improve the user experience quite nicely, there are a couple
> of things to be aware of when upgrading from a previous version as detailed below.
+#### Overview of the 1.8.0 changes
+
+- The quarkus extension has been moved to the quarkiverse and is now found at
+https://github.com/quarkiverse/quarkus-operator-sdk
+
##### Overview of the 1.7.0 changes
- `Doneable` classes have been removed along with all the involved complexity
@@ -208,18 +213,19 @@ a `mycrs` plural form will result in 2 files:
A [Quarkus](https://quarkus.io) extension is also provided to ease the development of Quarkus-based operators.
-Add [this dependency](https://search.maven.org/search?q=a:operator-framework-quarkus-extension)
+Add [this dependency](https://search.maven.org/search?q=a:quarkus-operator-sdk)
to your project:
```xml
+
- io.javaoperatorsdk
- operator-framework-quarkus-extension
- {see https://search.maven.org/search?q=a:operator-framework-quarkus-extension for latest version}
+ io.quarkiverse.operatorsdk
+ quarkus-operator-sdk
+ {see https://search.maven.org/search?q=a:quarkus-operator-sdk for latest version}
```
-Create an Application, Quarkus will automatically create and inject a `KubernetesClient`, `Operator`, `ConfigurationService` and `ResourceController` instances that your application can use. Below, you can see the minimal code you need to write to get your operator and controllers up and running:
+Create an Application, Quarkus will automatically create and inject a `KubernetesClient` (or `OpenShiftClient`), `Operator`, `ConfigurationService` and `ResourceController` instances that your application can use. Below, you can see the minimal code you need to write to get your operator and controllers up and running:
```java
@QuarkusMain
diff --git a/operator-framework-core/pom.xml b/operator-framework-core/pom.xml
index b543c4d2d3..dfd447d677 100644
--- a/operator-framework-core/pom.xml
+++ b/operator-framework-core/pom.xml
@@ -6,7 +6,7 @@
io.javaoperatorsdk
java-operator-sdk
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
../pom.xml
diff --git a/operator-framework-quarkus-extension/deployment/pom.xml b/operator-framework-quarkus-extension/deployment/pom.xml
deleted file mode 100644
index 255f7e4704..0000000000
--- a/operator-framework-quarkus-extension/deployment/pom.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
- 4.0.0
-
- io.javaoperatorsdk
- operator-framework-quarkus-extension-parent
- 1.7.6-SNAPSHOT
- ../pom.xml
-
-
- operator-framework-quarkus-extension-deployment
- Operator SDK - Quarkus Extension - Deployment
-
-
-
- io.quarkus
- quarkus-core-deployment
-
-
- io.javaoperatorsdk
- operator-framework-quarkus-extension
- ${project.version}
-
-
- io.quarkus
- quarkus-arc-deployment
-
-
- io.quarkus
- quarkus-openshift-client-deployment
-
-
- io.quarkus
- quarkus-kubernetes-deployment
-
-
- io.quarkus
- quarkus-container-image-jib-deployment
-
-
- io.quarkus
- quarkus-smallrye-health-deployment
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.quarkus
- quarkus-extension-processor
- ${quarkus.version}
-
-
-
-
-
-
-
-
diff --git a/operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/QuarkusExtensionProcessor.java b/operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/QuarkusExtensionProcessor.java
deleted file mode 100644
index db4a84f96b..0000000000
--- a/operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/QuarkusExtensionProcessor.java
+++ /dev/null
@@ -1,280 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension.deployment;
-
-import io.fabric8.kubernetes.client.CustomResource;
-import io.javaoperatorsdk.operator.ControllerUtils;
-import io.javaoperatorsdk.operator.api.Controller;
-import io.javaoperatorsdk.operator.api.ResourceController;
-import io.javaoperatorsdk.operator.api.config.ConfigurationService;
-import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.config.RetryConfiguration;
-import io.javaoperatorsdk.operator.api.config.Utils;
-import io.javaoperatorsdk.quarkus.extension.ConfigurationServiceRecorder;
-import io.javaoperatorsdk.quarkus.extension.ExternalConfiguration;
-import io.javaoperatorsdk.quarkus.extension.ExternalControllerConfiguration;
-import io.javaoperatorsdk.quarkus.extension.OperatorProducer;
-import io.javaoperatorsdk.quarkus.extension.QuarkusConfigurationService;
-import io.javaoperatorsdk.quarkus.extension.QuarkusControllerConfiguration;
-import io.javaoperatorsdk.quarkus.extension.Version;
-import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
-import io.quarkus.arc.deployment.SyntheticBeanBuildItem;
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.annotations.ExecutionTime;
-import io.quarkus.deployment.annotations.Record;
-import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
-import io.quarkus.deployment.util.JandexUtil;
-import java.lang.reflect.Modifier;
-import java.util.List;
-import java.util.Optional;
-import java.util.function.Function;
-import java.util.function.Supplier;
-import java.util.stream.Collectors;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Singleton;
-import org.jboss.jandex.AnnotationInstance;
-import org.jboss.jandex.AnnotationValue;
-import org.jboss.jandex.ClassInfo;
-import org.jboss.jandex.DotName;
-import org.jboss.jandex.IndexView;
-import org.jboss.logging.Logger;
-
-class QuarkusExtensionProcessor {
-
- private static final Logger log = Logger.getLogger(QuarkusExtensionProcessor.class.getName());
-
- private static final String FEATURE = "operator-sdk";
- private static final DotName RESOURCE_CONTROLLER =
- DotName.createSimple(ResourceController.class.getName());
- private static final DotName CONTROLLER = DotName.createSimple(Controller.class.getName());
- private static final DotName APPLICATION_SCOPED =
- DotName.createSimple(ApplicationScoped.class.getName());
-
- private ExternalConfiguration externalConfiguration;
-
- @BuildStep
- void indexSDKDependencies(
- BuildProducer indexDependency,
- BuildProducer features) {
- features.produce(new FeatureBuildItem(FEATURE));
- indexDependency.produce(
- new IndexDependencyBuildItem("io.javaoperatorsdk", "operator-framework-core"));
- }
-
- @BuildStep
- @Record(ExecutionTime.STATIC_INIT)
- void createConfigurationServiceAndOperator(
- CombinedIndexBuildItem combinedIndexBuildItem,
- BuildProducer syntheticBeanBuildItemBuildProducer,
- BuildProducer additionalBeans,
- BuildProducer reflectionClasses,
- ConfigurationServiceRecorder recorder) {
- final var index = combinedIndexBuildItem.getIndex();
- final var resourceControllers = index.getAllKnownImplementors(RESOURCE_CONTROLLER);
-
- final List controllerConfigs =
- resourceControllers.stream()
- .filter(ci -> !Modifier.isAbstract(ci.flags()))
- .map(ci -> createControllerConfiguration(ci, additionalBeans, reflectionClasses, index))
- .collect(Collectors.toList());
-
- final var version = Utils.loadFromProperties();
- final var validateCustomResources =
- Utils.isValidateCustomResourcesEnvVarSet()
- ? Utils.shouldCheckCRDAndValidateLocalModel()
- : externalConfiguration.checkCRDAndValidateLocalModel.orElse(true);
-
- final var supplier =
- recorder.configurationServiceSupplier(
- new Version(version.getSdkVersion(), version.getCommit(), version.getBuiltTime()),
- controllerConfigs,
- validateCustomResources);
- syntheticBeanBuildItemBuildProducer.produce(
- SyntheticBeanBuildItem.configure(QuarkusConfigurationService.class)
- .scope(Singleton.class)
- .addType(ConfigurationService.class)
- .setRuntimeInit()
- .supplier(supplier)
- .done());
-
- additionalBeans.produce(AdditionalBeanBuildItem.unremovableOf(OperatorProducer.class));
- }
-
- private ControllerConfiguration createControllerConfiguration(
- ClassInfo info,
- BuildProducer additionalBeans,
- BuildProducer reflectionClasses,
- IndexView index) {
- // first retrieve the custom resource class
- final var crType =
- JandexUtil.resolveTypeParameters(info.name(), RESOURCE_CONTROLLER, index)
- .get(0)
- .name()
- .toString();
-
- // create ResourceController bean
- final var resourceControllerClassName = info.name().toString();
- additionalBeans.produce(
- AdditionalBeanBuildItem.builder()
- .addBeanClass(resourceControllerClassName)
- .setUnremovable()
- .setDefaultScope(APPLICATION_SCOPED)
- .build());
-
- // load CR class
- final Class crClass = (Class) loadClass(crType);
-
- // Instantiate CR to check that it's properly annotated
- final CustomResource cr;
- try {
- cr = crClass.getConstructor().newInstance();
- } catch (Exception e) {
- throw new IllegalArgumentException("Cannot instantiate '" + crType + "' CR class", e);
- }
-
- // retrieve CRD name from CR type
- final var crdName = CustomResource.getCRDName(crClass);
-
- // register CR class for introspection
- reflectionClasses.produce(new ReflectiveClassBuildItem(true, true, crType));
-
- // register spec and status for introspection
- registerForReflection(reflectionClasses, cr.getSpec());
- registerForReflection(reflectionClasses, cr.getStatus());
-
- // retrieve the Controller annotation if it exists
- final var controllerAnnotation = info.classAnnotation(CONTROLLER);
-
- // retrieve the controller's name
- final var defaultControllerName =
- ControllerUtils.getDefaultResourceControllerName(resourceControllerClassName);
- final var name =
- annotationValueOrDefault(
- controllerAnnotation, "name", AnnotationValue::asString, () -> defaultControllerName);
-
- // check if we have externalized configuration to provide values
- final var extContConfig = externalConfiguration.controllers.get(name);
-
- final var extractor = new ValueExtractor(controllerAnnotation, extContConfig);
-
- // create the configuration
- final var configuration =
- new QuarkusControllerConfiguration(
- resourceControllerClassName,
- name,
- crdName,
- extractor.extract(
- c -> c.finalizer,
- "finalizerName",
- AnnotationValue::asString,
- () -> ControllerUtils.getDefaultFinalizerName(crdName)),
- extractor.extract(
- c -> c.generationAware,
- "generationAwareEventProcessing",
- AnnotationValue::asBoolean,
- () -> true),
- QuarkusControllerConfiguration.asSet(
- extractor.extract(
- c -> c.namespaces.map(l -> l.toArray(new String[0])),
- "namespaces",
- AnnotationValue::asStringArray,
- () -> new String[] {})),
- crType,
- retryConfiguration(extContConfig));
-
- log.infov(
- "Processed ''{0}'' controller named ''{1}'' for ''{2}'' CR (version ''{3}'')",
- info.name().toString(), name, cr.getCRDName(), cr.getApiVersion());
-
- return configuration;
- }
-
- private void registerForReflection(
- BuildProducer reflectionClasses, Object specOrStatus) {
- Optional.ofNullable(specOrStatus)
- .map(s -> specOrStatus.getClass().getCanonicalName())
- .ifPresent(
- cn -> {
- reflectionClasses.produce(new ReflectiveClassBuildItem(true, true, cn));
- System.out.println("Registered " + cn);
- });
- }
-
- private RetryConfiguration retryConfiguration(ExternalControllerConfiguration extConfig) {
- return extConfig == null ? null : RetryConfigurationResolver.resolve(extConfig.retry);
- }
-
- private static class ValueExtractor {
-
- private final AnnotationInstance controllerAnnotation;
- private final ExternalControllerConfiguration extContConfig;
-
- ValueExtractor(
- AnnotationInstance controllerAnnotation, ExternalControllerConfiguration extContConfig) {
- this.controllerAnnotation = controllerAnnotation;
- this.extContConfig = extContConfig;
- }
-
- /**
- * Extracts the appropriate configuration value for the controller checking first any annotation
- * configuration, then potentially overriding it by a properties-provided value or returning a
- * default value if neither is provided.
- *
- * @param extractor a Function extracting the optional value we're interested in from the
- * external configuration
- * @param annotationField the name of the {@link Controller} annotation we're want to retrieve
- * if present
- * @param converter a Function converting the annotation value to the type we're expecting
- * @param defaultValue a Supplier that computes/retrieve a default value when needed
- * @param the expected type of the configuration value we're trying to extract
- * @return the extracted configuration value
- */
- T extract(
- Function> extractor,
- String annotationField,
- Function converter,
- Supplier defaultValue) {
- // first check if we have an external configuration
- if (extContConfig != null) {
- // extract value from config if present
- return extractor
- .apply(extContConfig)
- // or get from the annotation or default
- .orElse(annotationValueOrDefault(annotationField, converter, defaultValue));
- } else {
- // get from annotation or default
- return annotationValueOrDefault(annotationField, converter, defaultValue);
- }
- }
-
- private T annotationValueOrDefault(
- String name, Function converter, Supplier defaultValue) {
- return QuarkusExtensionProcessor.annotationValueOrDefault(
- controllerAnnotation, name, converter, defaultValue);
- }
- }
-
- private static T annotationValueOrDefault(
- AnnotationInstance annotation,
- String name,
- Function converter,
- Supplier defaultValue) {
- return annotation != null
- ?
- // get converted annotation value of get default
- Optional.ofNullable(annotation.value(name)).map(converter).orElseGet(defaultValue)
- :
- // get default
- defaultValue.get();
- }
-
- private Class> loadClass(String className) {
- try {
- return Thread.currentThread().getContextClassLoader().loadClass(className);
- } catch (ClassNotFoundException e) {
- throw new IllegalArgumentException("Couldn't find class " + className);
- }
- }
-}
diff --git a/operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/RetryConfigurationResolver.java b/operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/RetryConfigurationResolver.java
deleted file mode 100644
index e94e89a127..0000000000
--- a/operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/RetryConfigurationResolver.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension.deployment;
-
-import io.javaoperatorsdk.operator.api.config.RetryConfiguration;
-import io.javaoperatorsdk.quarkus.extension.ExternalIntervalConfiguration;
-import io.javaoperatorsdk.quarkus.extension.ExternalRetryConfiguration;
-import io.javaoperatorsdk.quarkus.extension.PlainRetryConfiguration;
-import java.util.Optional;
-
-class RetryConfigurationResolver implements RetryConfiguration {
-
- private final RetryConfiguration delegate;
-
- private RetryConfigurationResolver(Optional retry) {
- delegate =
- retry
- .map(ExternalRetryConfigurationAdapter::new)
- .orElse(RetryConfiguration.DEFAULT);
- }
-
- public static RetryConfiguration resolve(Optional retry) {
- final var delegate = new RetryConfigurationResolver(retry);
- return new PlainRetryConfiguration(
- delegate.getMaxAttempts(),
- delegate.getInitialInterval(),
- delegate.getIntervalMultiplier(),
- delegate.getMaxInterval());
- }
-
- @Override
- public int getMaxAttempts() {
- return delegate.getMaxAttempts();
- }
-
- @Override
- public long getInitialInterval() {
- return delegate.getInitialInterval();
- }
-
- @Override
- public double getIntervalMultiplier() {
- return delegate.getIntervalMultiplier();
- }
-
- @Override
- public long getMaxInterval() {
- return delegate.getMaxInterval();
- }
-
- private static class ExternalRetryConfigurationAdapter implements RetryConfiguration {
-
- private final int maxAttempts;
- private final IntervalConfigurationAdapter interval;
-
- public ExternalRetryConfigurationAdapter(ExternalRetryConfiguration config) {
- maxAttempts = config.maxAttempts.orElse(RetryConfiguration.DEFAULT.getMaxAttempts());
- interval =
- config
- .interval
- .map(IntervalConfigurationAdapter::new)
- .orElse(new IntervalConfigurationAdapter());
- }
-
- @Override
- public int getMaxAttempts() {
- return maxAttempts;
- }
-
- @Override
- public long getInitialInterval() {
- return interval.initial;
- }
-
- @Override
- public double getIntervalMultiplier() {
- return interval.multiplier;
- }
-
- @Override
- public long getMaxInterval() {
- return interval.max;
- }
- }
-
- private static class IntervalConfigurationAdapter {
-
- private final long initial;
- private final double multiplier;
- private final long max;
-
- IntervalConfigurationAdapter(ExternalIntervalConfiguration config) {
- initial = config.initial.orElse(RetryConfiguration.DEFAULT.getInitialInterval());
- multiplier = config.multiplier.orElse(RetryConfiguration.DEFAULT.getIntervalMultiplier());
- max = config.max.orElse(RetryConfiguration.DEFAULT.getMaxInterval());
- }
-
- IntervalConfigurationAdapter() {
- this.initial = RetryConfiguration.DEFAULT.getInitialInterval();
- this.multiplier = RetryConfiguration.DEFAULT.getIntervalMultiplier();
- this.max = RetryConfiguration.DEFAULT.getMaxInterval();
- }
- }
-}
diff --git a/operator-framework-quarkus-extension/pom.xml b/operator-framework-quarkus-extension/pom.xml
deleted file mode 100644
index 0f6eef0c90..0000000000
--- a/operator-framework-quarkus-extension/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
- io.javaoperatorsdk
- java-operator-sdk
- 1.7.6-SNAPSHOT
-
- 4.0.0
-
- operator-framework-quarkus-extension-parent
- Operator SDK - Quarkus Extension - Parent
- pom
-
-
- 11
- 11
- UTF-8
- UTF-8
- true
- 1.12.1.Final
- 3.8.1
- 3.0.0-M5
-
-
-
- deployment
- runtime
- tests
-
-
-
-
- io.fabric8
- kubernetes-client-bom
- ${fabric8-client.version}
- pom
- import
-
-
- io.quarkus
- quarkus-bom
- ${quarkus.version}
- pom
- import
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${compiler-plugin.version}
-
-
- maven-surefire-plugin
- ${maven.surefire.version}
-
-
-
-
-
\ No newline at end of file
diff --git a/operator-framework-quarkus-extension/runtime/pom.xml b/operator-framework-quarkus-extension/runtime/pom.xml
deleted file mode 100644
index 4bedd2f962..0000000000
--- a/operator-framework-quarkus-extension/runtime/pom.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
- 4.0.0
-
- io.javaoperatorsdk
- operator-framework-quarkus-extension-parent
- 1.7.6-SNAPSHOT
- ../pom.xml
-
-
- operator-framework-quarkus-extension
- Operator SDK - Quarkus Extension - Runtime
-
-
-
- io.javaoperatorsdk
- operator-framework-core
- ${project.version}
-
-
- io.quarkus
- quarkus-core
-
-
- io.quarkus.arc
- arc
-
-
- io.quarkus
- quarkus-openshift-client
-
-
- io.quarkus
- quarkus-kubernetes
-
-
- io.quarkus
- quarkus-container-image-jib
-
-
- io.quarkus
- quarkus-smallrye-health
-
-
-
-
-
-
- io.quarkus
- quarkus-bootstrap-maven-plugin
- ${quarkus.version}
-
-
-
- extension-descriptor
-
- compile
-
- ${project.groupId}:${project.artifactId}-deployment:${project.version}
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- io.quarkus
- quarkus-extension-processor
- ${quarkus.version}
-
-
-
-
-
-
-
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ConfigurationServiceRecorder.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ConfigurationServiceRecorder.java
deleted file mode 100644
index d668dd82ee..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ConfigurationServiceRecorder.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.fabric8.kubernetes.client.KubernetesClient;
-import io.javaoperatorsdk.operator.api.config.ConfigurationService;
-import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.config.Version;
-import io.quarkus.arc.Arc;
-import io.quarkus.runtime.annotations.Recorder;
-import java.util.List;
-import java.util.function.Supplier;
-
-@Recorder
-public class ConfigurationServiceRecorder {
-
- public Supplier configurationServiceSupplier(
- Version version,
- List controllerConfigs,
- boolean validateCustomResources) {
- return () ->
- new QuarkusConfigurationService(
- version,
- controllerConfigs,
- Arc.container().instance(KubernetesClient.class).get(),
- validateCustomResources);
- }
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalConfiguration.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalConfiguration.java
deleted file mode 100644
index 0134cae1da..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalConfiguration.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.fabric8.kubernetes.client.CustomResource;
-import io.quarkus.runtime.annotations.ConfigItem;
-import io.quarkus.runtime.annotations.ConfigPhase;
-import io.quarkus.runtime.annotations.ConfigRoot;
-import java.util.Map;
-import java.util.Optional;
-
-@ConfigRoot(name = "operator-sdk", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
-public class ExternalConfiguration {
-
- /** Maps a controller name to its configuration. */
- @ConfigItem public Map controllers;
-
- /**
- * Whether the operator should check that the CRD is properly deployed and that the associated
- * {@link CustomResource} implementation matches its information before registering the associated
- * controller.
- */
- @ConfigItem(defaultValue = "true")
- public Optional checkCRDAndValidateLocalModel;
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalControllerConfiguration.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalControllerConfiguration.java
deleted file mode 100644
index 2afa0a6f88..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalControllerConfiguration.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
-import java.util.List;
-import java.util.Optional;
-
-@ConfigGroup
-public class ExternalControllerConfiguration {
-
- /**
- * An optional list of comma-separated namespace names the controller should watch. If this
- * property is left empty then the controller will watch all namespaces.
- */
- @ConfigItem public Optional> namespaces;
-
- /**
- * The optional name of the finalizer for the controller. If none is provided, one will be
- * automatically generated.
- */
- @ConfigItem public Optional finalizer;
-
- /**
- * Whether the controller should only process events if the associated resource generation has
- * increased since last reconciliation, otherwise will process all events.
- */
- @ConfigItem(defaultValue = "true")
- public Optional generationAware;
-
- /** The optional controller retry configuration */
- @ConfigItem public Optional retry;
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalIntervalConfiguration.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalIntervalConfiguration.java
deleted file mode 100644
index c983a79b07..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalIntervalConfiguration.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
-import java.util.Optional;
-
-@ConfigGroup
-public class ExternalIntervalConfiguration {
-
- /** The initial interval that the controller waits for before attempting the first retry */
- @ConfigItem public Optional initial;
-
- /** The value by which the initial interval is multiplied by for each retry */
- @ConfigItem public Optional multiplier;
-
- /**
- * The maximum interval that the controller will wait for before attempting a retry, regardless of
- * all other configuration
- */
- @ConfigItem public Optional max;
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalRetryConfiguration.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalRetryConfiguration.java
deleted file mode 100644
index 3e800d2598..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalRetryConfiguration.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
-import java.util.Optional;
-
-@ConfigGroup
-public class ExternalRetryConfiguration {
-
- /** How many times an operation should be retried before giving up */
- @ConfigItem public Optional maxAttempts;
-
- /** The configuration of the retry interval. */
- @ConfigItem public Optional interval;
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/OperatorProducer.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/OperatorProducer.java
deleted file mode 100644
index b1df2e8d57..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/OperatorProducer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.fabric8.kubernetes.client.CustomResource;
-import io.fabric8.kubernetes.client.KubernetesClient;
-import io.javaoperatorsdk.operator.Operator;
-import io.javaoperatorsdk.operator.api.ResourceController;
-import io.javaoperatorsdk.operator.api.config.ConfigurationService;
-import io.quarkus.arc.DefaultBean;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.Produces;
-import javax.inject.Singleton;
-
-@Singleton
-public class OperatorProducer {
-
- @Produces
- @DefaultBean
- @Singleton
- Operator operator(
- KubernetesClient client,
- ConfigurationService configuration,
- Instance> controllers) {
- final var operator = new Operator(client, configuration);
- controllers.stream().forEach(operator::register);
- return operator;
- }
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/PlainRetryConfiguration.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/PlainRetryConfiguration.java
deleted file mode 100644
index ca534614a2..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/PlainRetryConfiguration.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.javaoperatorsdk.operator.api.config.RetryConfiguration;
-import io.quarkus.runtime.annotations.RecordableConstructor;
-
-public class PlainRetryConfiguration implements RetryConfiguration {
-
- private final int max;
- private final long initial;
- private final double multiplier;
- private final long maxInterval;
-
- @RecordableConstructor
- public PlainRetryConfiguration(
- int maxAttempts, long initialInterval, double intervalMultiplier, long maxInterval) {
- this.max = maxAttempts;
- this.initial = initialInterval;
- this.multiplier = intervalMultiplier;
- this.maxInterval = maxInterval;
- }
-
- @Override
- public int getMaxAttempts() {
- return max;
- }
-
- @Override
- public long getInitialInterval() {
- return initial;
- }
-
- @Override
- public double getIntervalMultiplier() {
- return multiplier;
- }
-
- @Override
- public long getMaxInterval() {
- return maxInterval;
- }
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/QuarkusConfigurationService.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/QuarkusConfigurationService.java
deleted file mode 100644
index a38f354c1e..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/QuarkusConfigurationService.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.fabric8.kubernetes.client.Config;
-import io.fabric8.kubernetes.client.CustomResource;
-import io.fabric8.kubernetes.client.KubernetesClient;
-import io.javaoperatorsdk.operator.api.ResourceController;
-import io.javaoperatorsdk.operator.api.config.AbstractConfigurationService;
-import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.config.Version;
-import io.quarkus.arc.runtime.ClientProxyUnwrapper;
-import java.util.List;
-
-public class QuarkusConfigurationService extends AbstractConfigurationService {
- private static final ClientProxyUnwrapper unwrapper = new ClientProxyUnwrapper();
- private final KubernetesClient client;
- private final boolean checkCRDAndValidateLocalModel;
-
- public QuarkusConfigurationService(
- Version version,
- List configurations,
- KubernetesClient client,
- boolean checkCRDAndValidateLocalModel) {
- super(version);
- this.client = client;
- if (configurations != null && !configurations.isEmpty()) {
- configurations.forEach(this::register);
- }
- this.checkCRDAndValidateLocalModel = checkCRDAndValidateLocalModel;
- }
-
- @Override
- public Config getClientConfiguration() {
- return client.getConfiguration();
- }
-
- @Override
- public ControllerConfiguration getConfigurationFor(
- ResourceController controller) {
- final var unwrapped = unwrap(controller);
- return super.getConfigurationFor(unwrapped);
- }
-
- @Override
- public boolean checkCRDAndValidateLocalModel() {
- return checkCRDAndValidateLocalModel;
- }
-
- private static ResourceController unwrap(
- ResourceController controller) {
- return (ResourceController) unwrapper.apply(controller);
- }
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/QuarkusControllerConfiguration.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/QuarkusControllerConfiguration.java
deleted file mode 100644
index b5dc8fb881..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/QuarkusControllerConfiguration.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.fabric8.kubernetes.client.CustomResource;
-import io.javaoperatorsdk.operator.api.config.AbstractControllerConfiguration;
-import io.javaoperatorsdk.operator.api.config.RetryConfiguration;
-import io.quarkus.runtime.annotations.RecordableConstructor;
-import java.util.Collections;
-import java.util.Set;
-
-public class QuarkusControllerConfiguration
- extends AbstractControllerConfiguration {
-
- private final String crClass;
- private Class clazz;
-
- @RecordableConstructor
- public QuarkusControllerConfiguration(
- String associatedControllerClassName,
- String name,
- String crdName,
- String finalizer,
- boolean generationAware,
- Set namespaces,
- String crClass,
- RetryConfiguration retryConfiguration) {
- super(
- associatedControllerClassName,
- name,
- crdName,
- finalizer,
- generationAware,
- namespaces,
- retryConfiguration);
- this.crClass = crClass;
- }
-
- public static Set asSet(String[] namespaces) {
- return namespaces == null || namespaces.length == 0
- ? Collections.emptySet()
- : Set.of(namespaces);
- }
-
- // Needed for Quarkus to find the associated constructor parameter
- public String getCrdName() {
- return getCRDName();
- }
-
- // Needed for Quarkus to find the associated constructor parameter
- public String getCrClass() {
- return crClass;
- }
-
- @Override
- public Class getCustomResourceClass() {
- if (clazz == null) {
- clazz = (Class) loadClass(crClass);
- }
- return clazz;
- }
-
- private Class> loadClass(String className) {
- try {
- return Thread.currentThread().getContextClassLoader().loadClass(className);
- } catch (ClassNotFoundException e) {
- throw new IllegalArgumentException("Couldn't find class " + className);
- }
- }
-}
diff --git a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/Version.java b/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/Version.java
deleted file mode 100644
index 354d7628cf..0000000000
--- a/operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/Version.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.javaoperatorsdk.quarkus.extension;
-
-import io.quarkus.runtime.annotations.RecordableConstructor;
-import java.util.Date;
-
-/** Re-publish with a recordable constructor so that quarkus can do its thing with it! */
-public class Version extends io.javaoperatorsdk.operator.api.config.Version {
-
- @RecordableConstructor
- public Version(String sdkVersion, String commit, Date builtTime) {
- super(sdkVersion, commit, builtTime);
- }
-}
diff --git a/operator-framework-quarkus-extension/tests/pom.xml b/operator-framework-quarkus-extension/tests/pom.xml
deleted file mode 100644
index c3b61565e7..0000000000
--- a/operator-framework-quarkus-extension/tests/pom.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-
-
-
- operator-framework-quarkus-extension-parent
- io.javaoperatorsdk
- 1.7.6-SNAPSHOT
-
- 4.0.0
-
- operator-framework-quarkus-tests
- Operator SDK - Quarkus Extension - Tests
-
-
-
- 11
- 11
-
-
-
-
- io.javaoperatorsdk
- operator-framework-quarkus-extension
- ${project.version}
-
-
- io.quarkus
- quarkus-resteasy-jackson
-
-
- io.quarkus
- quarkus-junit5-internal
- test
-
-
- io.quarkus
- quarkus-test-openshift-client
- test
-
-
- io.quarkus
- quarkus-junit5
- test
-
-
- io.rest-assured
- rest-assured
- test
-
-
- org.assertj
- assertj-core
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- true
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- **/Native*.java
-
-
-
- org.jboss.logmanager.LogManager
-
- ${maven.home}
-
-
-
-
- io.quarkus
- quarkus-maven-plugin
- ${quarkus.version}
-
-
-
- build
-
-
-
-
-
-
-
-
-
-
- native
-
- native
-
-
-
-
- io.quarkus
- quarkus-maven-plugin
- ${quarkus.version}
-
-
-
- build
-
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
- ${maven.surefire.version}
-
-
-
- integration-test
- verify
-
-
-
-
- ${project.build.directory}/${project.build.finalName}-runner
-
-
- org.jboss.logmanager.LogManager
-
- ${maven.home}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/AbstractController.java b/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/AbstractController.java
deleted file mode 100644
index 56e2cd0443..0000000000
--- a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/AbstractController.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import io.javaoperatorsdk.operator.api.Context;
-import io.javaoperatorsdk.operator.api.DeleteControl;
-import io.javaoperatorsdk.operator.api.ResourceController;
-import io.javaoperatorsdk.operator.api.UpdateControl;
-
-public abstract class AbstractController implements ResourceController {
-
- @Override
- public DeleteControl deleteResource(T resource, Context context) {
- return null;
- }
-
- @Override
- public UpdateControl createOrUpdateResource(T resource, Context context) {
- return null;
- }
-}
diff --git a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/ChildTestResource.java b/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/ChildTestResource.java
deleted file mode 100644
index 9b704aaa26..0000000000
--- a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/ChildTestResource.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import io.fabric8.kubernetes.model.annotation.Group;
-import io.fabric8.kubernetes.model.annotation.Version;
-
-@Group("example.com")
-@Version("v1")
-public class ChildTestResource extends TestResource {}
diff --git a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/ConfiguredController.java b/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/ConfiguredController.java
deleted file mode 100644
index 1ec45f315e..0000000000
--- a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/ConfiguredController.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import io.javaoperatorsdk.operator.api.Controller;
-
-@Controller(name = ConfiguredController.NAME, namespaces = "foo")
-public class ConfiguredController extends AbstractController {
-
- public static final String NAME = "annotation";
-}
diff --git a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestController.java b/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestController.java
deleted file mode 100644
index 3794619084..0000000000
--- a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestController.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import io.javaoperatorsdk.operator.api.Controller;
-
-@Controller(name = TestController.NAME)
-public class TestController extends AbstractController {
- public static final String NAME = "test";
-}
diff --git a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestOperatorApp.java b/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestOperatorApp.java
deleted file mode 100644
index 555cb7430b..0000000000
--- a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestOperatorApp.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.fabric8.kubernetes.client.CustomResource;
-import io.javaoperatorsdk.operator.api.ResourceController;
-import io.javaoperatorsdk.operator.api.config.ConfigurationService;
-import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.config.RetryConfiguration;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-
-@Path("/operator")
-public class TestOperatorApp {
-
- @Inject Instance> controllers;
- @Inject ConfigurationService configurationService;
-
- @GET
- @Path("validateCR")
- public boolean validateCR() {
- return configurationService.checkCRDAndValidateLocalModel();
- }
-
- @GET
- @Path("{name}")
- public boolean getController(@PathParam("name") String name) {
- return configurationService.getKnownControllerNames().contains(name);
- }
-
- @GET
- @Path("{name}/config")
- public JSONControllerConfiguration getConfig(@PathParam("name") String name) {
- final var configuration =
- controllers.stream()
- .map(c -> configurationService.getConfigurationFor(c))
- .filter(c -> c.getName().equals(name))
- .findFirst()
- .map(JSONControllerConfiguration::new)
- .orElse(null);
- return configuration;
- }
-
- static class JSONControllerConfiguration {
- private final ControllerConfiguration conf;
-
- public JSONControllerConfiguration(ControllerConfiguration conf) {
- this.conf = conf;
- }
-
- public String getName() {
- return conf.getName();
- }
-
- @JsonProperty("crdName")
- public String getCRDName() {
- return conf.getCRDName();
- }
-
- public String getFinalizer() {
- return conf.getFinalizer();
- }
-
- public boolean isGenerationAware() {
- return conf.isGenerationAware();
- }
-
- public String getCustomResourceClass() {
- return conf.getCustomResourceClass().getCanonicalName();
- }
-
- public String getAssociatedControllerClassName() {
- return conf.getAssociatedControllerClassName();
- }
-
- public String[] getNamespaces() {
- return (String[]) conf.getNamespaces().toArray(new String[0]);
- }
-
- public boolean watchAllNamespaces() {
- return conf.watchAllNamespaces();
- }
-
- public RetryConfiguration getRetryConfiguration() {
- return conf.getRetryConfiguration();
- }
- }
-}
diff --git a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestResource.java b/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestResource.java
deleted file mode 100644
index e04a0ca4f5..0000000000
--- a/operator-framework-quarkus-extension/tests/src/main/java/io/javaoperatorsdk/quarkus/it/TestResource.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import io.fabric8.kubernetes.client.CustomResource;
-import io.fabric8.kubernetes.model.annotation.Group;
-import io.fabric8.kubernetes.model.annotation.Version;
-
-@Group("example.com")
-@Version("v1")
-public abstract class TestResource extends CustomResource {}
diff --git a/operator-framework-quarkus-extension/tests/src/main/resources/application.properties b/operator-framework-quarkus-extension/tests/src/main/resources/application.properties
deleted file mode 100644
index 3ae3e71e08..0000000000
--- a/operator-framework-quarkus-extension/tests/src/main/resources/application.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-quarkus.operator-sdk.controllers.annotation.finalizer=from-property/finalizer
-quarkus.operator-sdk.controllers.annotation.namespaces=bar
-quarkus.operator-sdk.check-crd-and-validate-local-model=false
\ No newline at end of file
diff --git a/operator-framework-quarkus-extension/tests/src/test/java/io/javaoperatorsdk/quarkus/it/NativeQuarkusExtensionProcessorIT.java b/operator-framework-quarkus-extension/tests/src/test/java/io/javaoperatorsdk/quarkus/it/NativeQuarkusExtensionProcessorIT.java
deleted file mode 100644
index fcf72b5adc..0000000000
--- a/operator-framework-quarkus-extension/tests/src/test/java/io/javaoperatorsdk/quarkus/it/NativeQuarkusExtensionProcessorIT.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import io.quarkus.test.junit.NativeImageTest;
-
-@NativeImageTest
-public class NativeQuarkusExtensionProcessorIT extends QuarkusExtensionProcessorTest {}
diff --git a/operator-framework-quarkus-extension/tests/src/test/java/io/javaoperatorsdk/quarkus/it/QuarkusExtensionProcessorTest.java b/operator-framework-quarkus-extension/tests/src/test/java/io/javaoperatorsdk/quarkus/it/QuarkusExtensionProcessorTest.java
deleted file mode 100644
index 52cc858bdc..0000000000
--- a/operator-framework-quarkus-extension/tests/src/test/java/io/javaoperatorsdk/quarkus/it/QuarkusExtensionProcessorTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package io.javaoperatorsdk.quarkus.it;
-
-import static io.restassured.RestAssured.given;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.hasItem;
-import static org.hamcrest.Matchers.is;
-
-import io.quarkus.test.common.QuarkusTestResource;
-import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.kubernetes.client.KubernetesMockServerTestResource;
-import org.junit.jupiter.api.Test;
-
-/**
- * This tests creates and starts an application accessed over REST to assess that injected values
- * are present and what we expect.
- */
-@QuarkusTest
-@QuarkusTestResource(KubernetesMockServerTestResource.class)
-public class QuarkusExtensionProcessorTest {
-
- @Test
- void shouldNotValidateCRs() {
- given().when().get("/operator/validateCR").then().statusCode(200).body(is("false"));
- }
-
- @Test
- void controllerShouldExist() {
- // first check that we're not always returning true for any controller name :)
- given().when().get("/operator/does_not_exist").then().statusCode(200).body(is("false"));
-
- // given the name of the TestController, the app should reply true meaning that it is indeed
- // injected
- given().when().get("/operator/" + TestController.NAME).then().statusCode(200).body(is("true"));
- }
-
- @Test
- void configurationForControllerShouldExist() {
- // check that the config for the test controller can be retrieved and is conform to our
- // expectations
- final var resourceName = ChildTestResource.class.getCanonicalName();
- given()
- .when()
- .get("/operator/" + TestController.NAME + "/config")
- .then()
- .statusCode(200)
- .body(
- "customResourceClass", equalTo(resourceName),
- "name", equalTo(TestController.NAME));
- }
-
- @Test
- void applicationPropertiesShouldOverrideDefaultAndAnnotation() {
- given()
- .when()
- .get("/operator/" + ConfiguredController.NAME + "/config")
- .then()
- .statusCode(200)
- .body(
- "finalizer", equalTo("from-property/finalizer"),
- "namespaces", hasItem("bar"));
- }
-}
diff --git a/operator-framework-spring-boot-starter-test/pom.xml b/operator-framework-spring-boot-starter-test/pom.xml
index 330592b5e9..2ed6c1279a 100644
--- a/operator-framework-spring-boot-starter-test/pom.xml
+++ b/operator-framework-spring-boot-starter-test/pom.xml
@@ -10,7 +10,7 @@
io.javaoperatorsdk
java-operator-sdk
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
diff --git a/operator-framework-spring-boot-starter/pom.xml b/operator-framework-spring-boot-starter/pom.xml
index 48a4d4920c..259f70e457 100644
--- a/operator-framework-spring-boot-starter/pom.xml
+++ b/operator-framework-spring-boot-starter/pom.xml
@@ -6,7 +6,7 @@
io.javaoperatorsdk
java-operator-sdk
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
operator-framework-spring-boot-starter
diff --git a/operator-framework/pom.xml b/operator-framework/pom.xml
index 9a2061d249..2e4597f89a 100644
--- a/operator-framework/pom.xml
+++ b/operator-framework/pom.xml
@@ -5,7 +5,7 @@
java-operator-sdk
io.javaoperatorsdk
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
4.0.0
diff --git a/pom.xml b/pom.xml
index 6c0b0bd900..dca77fcb73 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
io.javaoperatorsdk
java-operator-sdk
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
Operator SDK for Java
Java SDK for implementing Kubernetes operators
pom
@@ -45,7 +45,6 @@
operator-framework-core
operator-framework
- operator-framework-quarkus-extension
operator-framework-spring-boot-starter
operator-framework-spring-boot-starter-test
samples
diff --git a/samples/common/pom.xml b/samples/common/pom.xml
index b14c00ff4e..a90b93bd97 100644
--- a/samples/common/pom.xml
+++ b/samples/common/pom.xml
@@ -6,7 +6,7 @@
io.javaoperatorsdk
java-operator-sdk-samples
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
operator-framework-samples-common
diff --git a/samples/pom.xml b/samples/pom.xml
index 58066b621e..d5532d4892 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -6,7 +6,7 @@
io.javaoperatorsdk
java-operator-sdk
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
java-operator-sdk-samples
diff --git a/samples/pure-java/pom.xml b/samples/pure-java/pom.xml
index 778fe08df2..7f3815db8a 100644
--- a/samples/pure-java/pom.xml
+++ b/samples/pure-java/pom.xml
@@ -6,7 +6,7 @@
io.javaoperatorsdk
java-operator-sdk-samples
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
operator-framework-samples-pure-java
diff --git a/samples/quarkus/pom.xml b/samples/quarkus/pom.xml
index f9bc831d97..803a64064e 100644
--- a/samples/quarkus/pom.xml
+++ b/samples/quarkus/pom.xml
@@ -5,7 +5,7 @@
io.javaoperatorsdk
java-operator-sdk-samples
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
4.0.0
@@ -43,9 +43,9 @@
- io.javaoperatorsdk
- operator-framework-quarkus-extension
- ${project.version}
+ io.quarkiverse.operatorsdk
+ quarkus-operator-sdk
+ 1.8.0.CR1
io.javaoperatorsdk
diff --git a/samples/spring-boot-auto-config/pom.xml b/samples/spring-boot-auto-config/pom.xml
index 27f652eee4..2de1e91c7d 100644
--- a/samples/spring-boot-auto-config/pom.xml
+++ b/samples/spring-boot-auto-config/pom.xml
@@ -8,7 +8,7 @@
io.javaoperatorsdk
java-operator-sdk-samples
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
operator-framework-samples-spring-boot-auto-configuration
diff --git a/samples/spring-boot-plain/pom.xml b/samples/spring-boot-plain/pom.xml
index 723594809e..d76a515066 100644
--- a/samples/spring-boot-plain/pom.xml
+++ b/samples/spring-boot-plain/pom.xml
@@ -6,7 +6,7 @@
io.javaoperatorsdk
java-operator-sdk-samples
- 1.7.6-SNAPSHOT
+ 1.8.0-SNAPSHOT
operator-framework-samples-spring-boot-plain