Skip to content

Commit 4b4c43d

Browse files
committed
fix: service dependent configuration
1 parent 0b0757a commit 4b4c43d

File tree

3 files changed

+30
-22
lines changed

3 files changed

+30
-22
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/PrimaryResourcesRetriever.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@
77

88
@FunctionalInterface
99
public interface PrimaryResourcesRetriever<T extends HasMetadata, P extends HasMetadata> {
10-
Set<ResourceID> associatedPrimaryResources(T dependentResource,
11-
EventSourceRegistry<P> registry);
10+
Set<ResourceID> associatedPrimaryResources(T dependentResource, EventSourceRegistry<P> registry);
1211
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package io.javaoperatorsdk.operator.sample;
2+
3+
import io.fabric8.kubernetes.api.model.ObjectMeta;
4+
import io.fabric8.kubernetes.api.model.Service;
5+
import io.fabric8.kubernetes.api.model.ServiceBuilder;
6+
import io.javaoperatorsdk.operator.api.reconciler.dependent.Builder;
7+
8+
public class ServiceDependentResource
9+
implements Builder<Service, Tomcat> {
10+
11+
@Override
12+
public Service buildFor(Tomcat tomcat) {
13+
final ObjectMeta tomcatMetadata = tomcat.getMetadata();
14+
final Service service =
15+
new ServiceBuilder(TomcatReconciler.loadYaml(Service.class, "service.yaml"))
16+
.editMetadata()
17+
.withName(tomcatMetadata.getName())
18+
.withNamespace(tomcatMetadata.getNamespace())
19+
.endMetadata()
20+
.editSpec()
21+
.addToSelector("app", tomcatMetadata.getName())
22+
.endSpec()
23+
.build();
24+
return service;
25+
}
26+
}

sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/TomcatReconciler.java

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
import org.slf4j.Logger;
88
import org.slf4j.LoggerFactory;
99

10-
import io.fabric8.kubernetes.api.model.ObjectMeta;
1110
import io.fabric8.kubernetes.api.model.Service;
12-
import io.fabric8.kubernetes.api.model.ServiceBuilder;
1311
import io.fabric8.kubernetes.api.model.apps.Deployment;
1412
import io.fabric8.kubernetes.api.model.apps.DeploymentStatus;
1513
import io.fabric8.kubernetes.client.KubernetesClient;
@@ -19,7 +17,6 @@
1917
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
2018
import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
2119
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResourceConfiguration;
22-
import io.javaoperatorsdk.operator.api.reconciler.dependent.Updater;
2320

2421
import static io.javaoperatorsdk.operator.api.reconciler.Constants.NO_FINALIZER;
2522

@@ -34,10 +31,10 @@
3431
labelSelector = "app.kubernetes.io/managed-by=tomcat-operator",
3532
updatable = true, builder = DeploymentDependentResource.class,
3633
updater = DeploymentDependentResource.class),
37-
@DependentResourceConfiguration(resourceType = Service.class, creatable = false,
38-
updatable = true)
34+
@DependentResourceConfiguration(resourceType = Service.class,
35+
builder = ServiceDependentResource.class)
3936
})
40-
public class TomcatReconciler implements Reconciler<Tomcat>, Updater<Service, Tomcat> {
37+
public class TomcatReconciler implements Reconciler<Tomcat> {
4138

4239
private final Logger log = LoggerFactory.getLogger(getClass());
4340

@@ -74,20 +71,6 @@ private Tomcat updateTomcatStatus(Tomcat tomcat, Deployment deployment) {
7471
return tomcat;
7572
}
7673

77-
@Override
78-
public Service update(Service fetched, Tomcat tomcat) {
79-
final ObjectMeta tomcatMetadata = tomcat.getMetadata();
80-
return new ServiceBuilder(loadYaml(Service.class, "service.yaml"))
81-
.editMetadata()
82-
.withName(tomcatMetadata.getName())
83-
.withNamespace(tomcatMetadata.getNamespace())
84-
.endMetadata()
85-
.editSpec()
86-
.addToSelector("app", tomcatMetadata.getName())
87-
.endSpec()
88-
.build();
89-
}
90-
9174
static <T> T loadYaml(Class<T> clazz, String yaml) {
9275
try (InputStream is = TomcatReconciler.class.getResourceAsStream(yaml)) {
9376
return Serialization.unmarshal(is, clazz);

0 commit comments

Comments
 (0)