Skip to content

Commit 2d11852

Browse files
authored
feat: endpoints and endpont slice updatematcher (#1990)
1 parent d4201fe commit 2d11852

File tree

3 files changed

+50
-5
lines changed

3 files changed

+50
-5
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package io.javaoperatorsdk.operator.processing.dependent.kubernetes.updatermatcher;
2+
3+
import java.util.Objects;
4+
5+
import io.fabric8.kubernetes.api.model.discovery.v1.EndpointSlice;
6+
import io.javaoperatorsdk.operator.api.reconciler.Context;
7+
8+
public class EndpointSliceResourceUpdateMatcher
9+
extends GenericResourceUpdaterMatcher<EndpointSlice> {
10+
11+
@Override
12+
protected void updateClonedActual(EndpointSlice actual, EndpointSlice desired) {
13+
actual.setEndpoints(desired.getEndpoints());
14+
actual.setAddressType(desired.getAddressType());
15+
actual.setPorts(desired.getPorts());
16+
}
17+
18+
@Override
19+
public boolean matches(EndpointSlice actual, EndpointSlice desired, Context<?> context) {
20+
return Objects.equals(actual.getEndpoints(), desired.getEndpoints()) &&
21+
Objects.equals(actual.getAddressType(), desired.getAddressType()) &&
22+
Objects.equals(actual.getPorts(), desired.getPorts());
23+
}
24+
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package io.javaoperatorsdk.operator.processing.dependent.kubernetes.updatermatcher;
2+
3+
import java.util.Objects;
4+
5+
import io.fabric8.kubernetes.api.model.Endpoints;
6+
import io.javaoperatorsdk.operator.api.reconciler.Context;
7+
8+
public class EndpointsResourceUpdaterMatcher extends GenericResourceUpdaterMatcher<Endpoints> {
9+
10+
@Override
11+
protected void updateClonedActual(Endpoints actual, Endpoints desired) {
12+
actual.setSubsets(desired.getSubsets());
13+
}
14+
15+
@Override
16+
public boolean matches(Endpoints actual, Endpoints desired, Context<?> context) {
17+
return Objects.equals(actual.getSubsets(), desired.getSubsets());
18+
}
19+
20+
}

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/updatermatcher/GenericResourceUpdaterMatcher.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
import java.util.Map;
44

5-
import io.fabric8.kubernetes.api.model.ConfigMap;
6-
import io.fabric8.kubernetes.api.model.HasMetadata;
7-
import io.fabric8.kubernetes.api.model.Secret;
8-
import io.fabric8.kubernetes.api.model.ServiceAccount;
5+
import io.fabric8.kubernetes.api.model.*;
6+
import io.fabric8.kubernetes.api.model.discovery.v1.EndpointSlice;
97
import io.fabric8.kubernetes.api.model.rbac.ClusterRole;
108
import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding;
119
import io.fabric8.kubernetes.api.model.rbac.Role;
@@ -28,7 +26,9 @@ ServiceAccount.class, new ServiceAccountResourceUpdaterMatcher(),
2826
Role.class, new RoleResourceUpdaterMatcher(),
2927
ClusterRole.class, new ClusterRoleResourceUpdaterMatcher(),
3028
RoleBinding.class, new RoleBindingResourceUpdaterMatcher(),
31-
ClusterRoleBinding.class, new ClusterRoleBindingResourceUpdaterMatcher());
29+
ClusterRoleBinding.class, new ClusterRoleBindingResourceUpdaterMatcher(),
30+
Endpoints.class, new EndpointsResourceUpdaterMatcher(),
31+
EndpointSlice.class, new EndpointSliceResourceUpdateMatcher());
3232

3333
protected GenericResourceUpdaterMatcher() {}
3434

0 commit comments

Comments
 (0)