Skip to content

Commit 94ae0a4

Browse files
csvirimetacosm
andauthored
docs: javadoc for garbage collected interface (#1339)
Co-authored-by: Chris Laprun <metacosm@gmail.com>
1 parent e723525 commit 94ae0a4

File tree

1 file changed

+18
-4
lines changed
  • operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent

1 file changed

+18
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11
package io.javaoperatorsdk.operator.api.reconciler.dependent;
22

33
import io.fabric8.kubernetes.api.model.HasMetadata;
4+
import io.javaoperatorsdk.operator.api.reconciler.Context;
45

56
/**
6-
* Should be implemented by {@link DependentResource} implementations that are explicitly deleted
7-
* during reconciliation but which should also benefit from Kubernetes' automated garbage collection
8-
* during the cleanup phase.
7+
* <p>
8+
* Can be implemented by a dependent resource extending
9+
* {@link io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource}
10+
* to express that the resource deletion is handled by the controller during
11+
* {@link DependentResource#reconcile(HasMetadata, Context)}. This takes effect during a
12+
* reconciliation workflow, but not during a cleanup workflow, when a {@code reconcilePrecondition}
13+
* is not met for the resource or a resource on which the the dependent that implements this
14+
* interface depends on is not ready ({@code readyPostCondition} not met). In this case,
15+
* {@link #delete(HasMetadata, Context)} is called. During a cleanup workflow, however,
16+
* {@link #delete(HasMetadata, Context)} is not called, letting the Kubernetes garbage collector do
17+
* its work instead (using owner references).
18+
* </p>
19+
* <p>
20+
* If a dependent resource implement this interface, an owner reference pointing to the associated
21+
* primary resource will be automatically added to this managed resource.
22+
* </p>
923
* <p>
1024
* See <a href="https://github.com/java-operator-sdk/java-operator-sdk/issues/1127">this issue</a>
1125
* for more details.
26+
* </p>
1227
*/
1328
public interface GarbageCollected<P extends HasMetadata> extends Deleter<P> {
14-
1529
}

0 commit comments

Comments
 (0)