Skip to content

Commit f5b55f8

Browse files
committed
chore(deps): update JOSDK to 4.9.4
Signed-off-by: Chris Laprun <claprun@redhat.com>
1 parent a49a3bd commit f5b55f8

File tree

2 files changed

+5
-26
lines changed

2 files changed

+5
-26
lines changed

core/deployment/src/main/java/io/quarkiverse/operatorsdk/deployment/AddClusterRolesDecorator.java

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,25 @@
66
import java.util.LinkedHashSet;
77
import java.util.List;
88
import java.util.Map;
9-
import java.util.Optional;
109
import java.util.Set;
1110
import java.util.TreeSet;
1211
import java.util.stream.Collectors;
1312

1413
import org.jboss.logging.Logger;
1514

1615
import io.dekorate.kubernetes.decorator.ResourceProvidingDecorator;
17-
import io.fabric8.kubernetes.api.Pluralize;
1816
import io.fabric8.kubernetes.api.model.HasMetadata;
1917
import io.fabric8.kubernetes.api.model.KubernetesListBuilder;
2018
import io.fabric8.kubernetes.api.model.rbac.ClusterRole;
2119
import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBuilder;
2220
import io.fabric8.kubernetes.api.model.rbac.PolicyRule;
2321
import io.fabric8.kubernetes.api.model.rbac.PolicyRuleBuilder;
24-
import io.javaoperatorsdk.operator.api.config.ConfigurationService;
2522
import io.javaoperatorsdk.operator.api.config.Utils;
2623
import io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter;
2724
import io.javaoperatorsdk.operator.processing.dependent.Creator;
2825
import io.javaoperatorsdk.operator.processing.dependent.Updater;
2926
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.GenericKubernetesDependentResource;
3027
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource;
31-
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfig;
32-
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.ResourceUpdaterMatcher;
3328
import io.quarkiverse.operatorsdk.annotations.RBACVerbs;
3429
import io.quarkiverse.operatorsdk.runtime.DependentResourceSpecMetadata;
3530
import io.quarkiverse.operatorsdk.runtime.QuarkusControllerConfiguration;
@@ -107,6 +102,7 @@ private static String getKeyFor(PolicyRule rule) {
107102
+ rule.getResources().stream().sorted().collect(Collectors.joining("-"));
108103
}
109104

105+
@SuppressWarnings("unchecked")
110106
private static Set<PolicyRule> getClusterRolePolicyRulesFromDependentResources(QuarkusControllerConfiguration<?> cri) {
111107
Set<PolicyRule> rules = new LinkedHashSet<>();
112108
final Map<String, DependentResourceSpecMetadata<?, ?, ?>> dependentsMetadata = cri.getDependentsMetadata();
@@ -133,21 +129,19 @@ private static Set<PolicyRule> getClusterRolePolicyRulesFromDependentResources(Q
133129
// Check if we're dealing with typeless Kubernetes resource or if we need to deal with SSA
134130
if (KubernetesDependentResource.class.isAssignableFrom(dependentResourceClass)) {
135131
try {
136-
@SuppressWarnings({ "unchecked", "rawtypes" })
132+
@SuppressWarnings("rawtypes")
137133
var kubeResource = Utils.instantiate(
138134
(Class<? extends KubernetesDependentResource>) dependentResourceClass,
139135
KubernetesDependentResource.class, ADD_CLUSTER_ROLES_DECORATOR);
140136

141137
if (kubeResource instanceof GenericKubernetesDependentResource<? extends HasMetadata> genericKubeRes) {
142138
final var gvk = genericKubeRes.getGroupVersionKind();
143139
resourceGroup = gvk.getGroup();
144-
// todo: use plural form on GVK if available, see https://github.com/operator-framework/java-operator-sdk/pull/2515
145-
resourcePlural = Pluralize.toPlural(gvk.getKind());
140+
resourcePlural = gvk.getPluralOrDefault();
146141
}
147142

148143
// if we use SSA and the dependent resource class is not excluded from using SSA, we also need PATCH permissions for finalizer
149-
// todo: replace by using ConfigurationService.isUsingSSA once available see https://github.com/operator-framework/java-operator-sdk/pull/2516
150-
if (isUsingSSA(kubeResource, cri.getConfigurationService())) {
144+
if (cri.getConfigurationService().shouldUseSSA(kubeResource)) {
151145
verbs.add(RBACVerbs.PATCH);
152146
}
153147
} catch (Exception e) {
@@ -166,21 +160,6 @@ private static Set<PolicyRule> getClusterRolePolicyRulesFromDependentResources(Q
166160
return rules;
167161
}
168162

169-
private static boolean isUsingSSA(KubernetesDependentResource<?, ?> dependentResource,
170-
ConfigurationService configurationService) {
171-
if (dependentResource instanceof ResourceUpdaterMatcher) {
172-
return false;
173-
}
174-
Optional<Boolean> useSSAConfig = dependentResource.configuration()
175-
.flatMap(KubernetesDependentResourceConfig::useSSA);
176-
// don't use SSA for certain resources by default, only if explicitly overriden
177-
if (useSSAConfig.isEmpty()
178-
&& configurationService.defaultNonSSAResource().contains(dependentResource.resourceType())) {
179-
return false;
180-
}
181-
return useSSAConfig.orElse(configurationService.ssaBasedCreateUpdateMatchForDependentResources());
182-
}
183-
184163
private static PolicyRule getClusterRolePolicyRuleFromPrimaryResource(QuarkusControllerConfiguration<?> cri) {
185164
final var rule = new PolicyRuleBuilder();
186165
final var resourceClass = cri.getResourceClass();

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<name>Quarkus - Operator SDK - Parent</name>
1414
<properties>
1515
<quarkus.version>3.14.1</quarkus.version>
16-
<java-operator-sdk.version>4.9.3</java-operator-sdk.version>
16+
<java-operator-sdk.version>4.9.4</java-operator-sdk.version>
1717
</properties>
1818
<scm>
1919
<connection>:git:git@github.com:quarkiverse/quarkus-operator-sdk.git</connection>

0 commit comments

Comments
 (0)