Skip to content

Commit 06893df

Browse files
authored
feat: add @ignore annotation to mark internal Reconciler implementations (#863)
This allows downstream tools to safely ignore the annotated Reconciler when considering which implementations to process. Fixes #862
1 parent 488c699 commit 06893df

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package io.javaoperatorsdk.operator.api.reconciler;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
/**
9+
* An annotation for downstream tooling to ignore the annotated {@link Reconciler}. This allows to
10+
* mark some implementations as not provided by user and should therefore be ignored by processes
11+
* external to the SDK itself.
12+
*/
13+
@Retention(RetentionPolicy.RUNTIME)
14+
@Target({ElementType.TYPE})
15+
public @interface Ignore {
16+
17+
}

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/Controller.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.javaoperatorsdk.operator.processing;
22

3+
import io.javaoperatorsdk.operator.api.reconciler.Ignore;
34
import java.util.LinkedList;
45
import java.util.List;
56
import java.util.Objects;
@@ -34,6 +35,7 @@
3435
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
3536

3637
@SuppressWarnings({"rawtypes", "unchecked"})
38+
@Ignore
3739
public class Controller<R extends HasMetadata> implements Reconciler<R>,
3840
LifecycleAware, EventSourceInitializer<R> {
3941

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/DependentResourceManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.javaoperatorsdk.operator.processing.dependent;
22

3+
import io.javaoperatorsdk.operator.api.reconciler.Ignore;
34
import java.util.ArrayList;
45
import java.util.List;
56

@@ -23,6 +24,7 @@
2324
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
2425

2526
@SuppressWarnings({"rawtypes", "unchecked"})
27+
@Ignore
2628
public class DependentResourceManager<R extends HasMetadata> implements EventSourceInitializer<R>,
2729
EventSourceContextInjector, Reconciler<R> {
2830

0 commit comments

Comments
 (0)