Skip to content

Commit 6ad39c6

Browse files
authored
Rename KafkaClusterRef to KafkaService (kroxylicious#1958)
Why: KafkaClusterRef's naming causes some pain. Our Custom Resources often reference other Custom Resources, and our naming convention for these reference properties is *Ref, like `proxyRef` or `filterRefs`. This means we would awkwardly have clusterRefRef to reference this CR. Also with the arrival of LocalRef, Ref now has a stronger meaning in our codebase that would be confusing. We landed on KafkaService as a better name for this abstraction. Signed-off-by: Robert Young <robeyoun@redhat.com>
1 parent 23bd1a2 commit 6ad39c6

File tree

34 files changed

+189
-186
lines changed

34 files changed

+189
-186
lines changed

kroxylicious-operator/examples/record-encryption/03.KafkaClusterRef.my-cluster.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66

77
---
8-
kind: KafkaClusterRef
8+
kind: KafkaService
99
apiVersion: kroxylicious.io/v1alpha1
1010
metadata:
1111
name: my-cluster

kroxylicious-operator/examples/record-validation/03.KafkaClusterRef.my-cluster.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66

77
---
8-
kind: KafkaClusterRef
8+
kind: KafkaService
99
apiVersion: kroxylicious.io/v1alpha1
1010
metadata:
1111
name: my-cluster

kroxylicious-operator/examples/simple/02.KafkaClusterRef.my-cluster.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66

77
---
8-
kind: KafkaClusterRef
8+
kind: KafkaService
99
apiVersion: kroxylicious.io/v1alpha1
1010
metadata:
1111
name: my-cluster

kroxylicious-operator/install/01.ClusterRole.kroxylicious-operator-watched.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ rules:
1919
resources:
2020
- kafkaproxies
2121
- virtualkafkaclusters
22-
- kafkaclusterrefs
22+
- kafkaservices
2323
- kafkaproxyingresses
2424
verbs:
2525
- get

kroxylicious-operator/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@
342342
io.kroxylicious.kubernetes.api.common.ProxyRef
343343
</io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.ProxyRef>
344344
<io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.targetcluster.ClusterRef>
345-
io.kroxylicious.kubernetes.api.common.KafkaCRef
345+
io.kroxylicious.kubernetes.api.common.KafkaServiceRef
346346
</io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.targetcluster.ClusterRef>
347347
<io.kroxylicious.kubernetes.api.v1alpha1.virtualkafkaclusterspec.IngressRefs>
348348
io.kroxylicious.kubernetes.api.common.IngressRef

kroxylicious-operator/src/main/java/io/kroxylicious/kubernetes/api/common/KafkaCRef.java renamed to kroxylicious-operator/src/main/java/io/kroxylicious/kubernetes/api/common/KafkaServiceRef.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
import io.fabric8.kubernetes.api.model.KubernetesResource;
1212

13-
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaClusterRef;
13+
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaService;
1414

1515
/**
16-
* A reference, used in a kubernetes resource, to a KafkaClusterRef resource in the same namespace.
16+
* A reference, used in a kubernetes resource, to a KafkaService resource in the same namespace.
1717
*/
1818
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
1919
@com.fasterxml.jackson.annotation.JsonPropertyOrder({ "name" })
@@ -30,14 +30,14 @@
3030
@io.sundr.builder.annotations.BuildableReference(io.fabric8.kubernetes.api.model.Volume.class),
3131
@io.sundr.builder.annotations.BuildableReference(io.fabric8.kubernetes.api.model.VolumeMount.class)
3232
})
33-
public class KafkaCRef
34-
extends LocalRef<KafkaClusterRef>
35-
implements io.fabric8.kubernetes.api.builder.Editable<KafkaCRefBuilder>,
33+
public class KafkaServiceRef
34+
extends LocalRef<KafkaService>
35+
implements io.fabric8.kubernetes.api.builder.Editable<KafkaServiceRefBuilder>,
3636
KubernetesResource {
3737

3838
@Override
39-
public KafkaCRefBuilder edit() {
40-
return new KafkaCRefBuilder(this);
39+
public KafkaServiceRefBuilder edit() {
40+
return new KafkaServiceRefBuilder(this);
4141
}
4242

4343
@JsonIgnore
@@ -49,7 +49,7 @@ public String getGroup() {
4949
@JsonIgnore
5050
@Override
5151
public String getKind() {
52-
return "KafkaClusterRef";
52+
return "KafkaService";
5353
}
5454

5555
@com.fasterxml.jackson.annotation.JsonProperty("name")

kroxylicious-operator/src/main/java/io/kroxylicious/kubernetes/operator/ProxyConfigConfigMap.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent;
3131

3232
import io.kroxylicious.kubernetes.api.common.FilterRef;
33-
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaClusterRef;
3433
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxy;
34+
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaService;
3535
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaCluster;
3636
import io.kroxylicious.kubernetes.operator.model.ProxyModel;
3737
import io.kroxylicious.kubernetes.operator.model.ProxyModelBuilder;
@@ -155,7 +155,7 @@ private static List<VirtualCluster> buildVirtualClusters(Set<String> successfull
155155
return model.clustersWithValidIngresses().stream()
156156
.filter(cluster -> Optional.ofNullable(cluster.getSpec().getFilterRefs()).stream().flatMap(Collection::stream).allMatch(
157157
filters -> successfullyBuiltFilterNames.contains(filterDefinitionName(filters))))
158-
.map(cluster -> getVirtualCluster(cluster, model.resolutionResult().kafkaClusterRef(cluster).orElseThrow(), model.ingressModel()))
158+
.map(cluster -> getVirtualCluster(cluster, model.resolutionResult().kafkaServiceRef(cluster).orElseThrow(), model.ingressModel()))
159159
.toList();
160160
}
161161

@@ -241,11 +241,11 @@ private SecureConfigInterpolator.InterpolationResult interpolateConfig(Map<?, ?>
241241
}
242242

243243
private static VirtualCluster getVirtualCluster(VirtualKafkaCluster cluster,
244-
KafkaClusterRef kafkaClusterRef,
244+
KafkaService kafkaServiceRef,
245245
ProxyIngressModel ingressModel) {
246246

247247
ProxyIngressModel.VirtualClusterIngressModel virtualClusterIngressModel = ingressModel.clusterIngressModel(cluster).orElseThrow();
248-
String bootstrap = kafkaClusterRef.getSpec().getBootstrapServers();
248+
String bootstrap = kafkaServiceRef.getSpec().getBootstrapServers();
249249
return new VirtualCluster(
250250
ResourcesUtil.name(cluster), new TargetCluster(bootstrap, Optional.empty()),
251251
null,

kroxylicious-operator/src/main/java/io/kroxylicious/kubernetes/operator/ProxyReconciler.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@
3939
import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper;
4040
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
4141

42-
import io.kroxylicious.kubernetes.api.common.KafkaCRef;
42+
import io.kroxylicious.kubernetes.api.common.KafkaServiceRef;
4343
import io.kroxylicious.kubernetes.api.common.ProxyRef;
44-
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaClusterRef;
4544
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxy;
4645
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxyBuilder;
4746
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxyIngress;
47+
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaService;
4848
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaCluster;
4949
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaClusterSpec;
5050
import io.kroxylicious.kubernetes.api.v1alpha1.kafkaproxystatus.Conditions;
@@ -306,7 +306,7 @@ public List<EventSource<?, KafkaProxy>> prepareEventSources(EventSourceContext<K
306306
}
307307
}
308308
eventSources.add(buildVirtualKafkaClusterInformer(context));
309-
eventSources.add(buildKafkaClusterRefInformer(context));
309+
eventSources.add(buildKafkaServiceInformer(context));
310310
eventSources.add(buildKafkaProxyIngressInformer(context));
311311
return eventSources;
312312
}
@@ -327,29 +327,29 @@ private static InformerEventSource<?, KafkaProxy> buildKafkaProxyIngressInformer
327327
return new InformerEventSource<>(configuration, context);
328328
}
329329

330-
private static InformerEventSource<?, KafkaProxy> buildKafkaClusterRefInformer(EventSourceContext<KafkaProxy> context) {
331-
InformerEventSourceConfiguration<KafkaClusterRef> configuration = InformerEventSourceConfiguration.from(KafkaClusterRef.class, KafkaProxy.class)
332-
.withSecondaryToPrimaryMapper(kafkaClusterRefToProxyMapper(context))
333-
.withPrimaryToSecondaryMapper(proxyToKafkaClusterRefMapper(context))
330+
private static InformerEventSource<?, KafkaProxy> buildKafkaServiceInformer(EventSourceContext<KafkaProxy> context) {
331+
InformerEventSourceConfiguration<KafkaService> configuration = InformerEventSourceConfiguration.from(KafkaService.class, KafkaProxy.class)
332+
.withSecondaryToPrimaryMapper(kafkaServiceRefToProxyMapper(context))
333+
.withPrimaryToSecondaryMapper(proxyToKafkaServiceMapper(context))
334334
.build();
335335
return new InformerEventSource<>(configuration, context);
336336
}
337337

338338
@VisibleForTesting
339-
static @NonNull SecondaryToPrimaryMapper<KafkaClusterRef> kafkaClusterRefToProxyMapper(EventSourceContext<KafkaProxy> context) {
340-
return kafkaClusterRef -> {
341-
// find all virtual clusters that reference this kafkaClusterRef
339+
static @NonNull SecondaryToPrimaryMapper<KafkaService> kafkaServiceRefToProxyMapper(EventSourceContext<KafkaProxy> context) {
340+
return kafkaServiceRef -> {
341+
// find all virtual clusters that reference this kafkaServiceRef
342342

343-
var proxyNames = resourcesInSameNamespace(context, kafkaClusterRef, VirtualKafkaCluster.class)
344-
.filter(vkc -> vkc.getSpec().getTargetCluster().getClusterRef().getName().equals(name(kafkaClusterRef)))
343+
var proxyNames = resourcesInSameNamespace(context, kafkaServiceRef, VirtualKafkaCluster.class)
344+
.filter(vkc -> vkc.getSpec().getTargetCluster().getClusterRef().getName().equals(name(kafkaServiceRef)))
345345
.map(VirtualKafkaCluster::getSpec)
346346
.map(VirtualKafkaClusterSpec::getProxyRef)
347347
.map(ProxyRef::getName)
348348
.collect(Collectors.toSet());
349349

350-
Set<ResourceID> proxyIds = filteredResourceIdsInSameNamespace(context, kafkaClusterRef, KafkaProxy.class,
350+
Set<ResourceID> proxyIds = filteredResourceIdsInSameNamespace(context, kafkaServiceRef, KafkaProxy.class,
351351
proxy -> proxyNames.contains(name(proxy)));
352-
LOGGER.debug("Event source KafkaClusterRef SecondaryToPrimaryMapper got {}", proxyIds);
352+
LOGGER.debug("Event source KafkaService SecondaryToPrimaryMapper got {}", proxyIds);
353353
return proxyIds;
354354
};
355355
}
@@ -359,21 +359,21 @@ private static InformerEventSource<?, KafkaProxy> buildKafkaClusterRefInformer(E
359359
* @return mapper
360360
*/
361361
@VisibleForTesting
362-
static @NonNull PrimaryToSecondaryMapper<HasMetadata> proxyToKafkaClusterRefMapper(EventSourceContext<KafkaProxy> context) {
362+
static @NonNull PrimaryToSecondaryMapper<HasMetadata> proxyToKafkaServiceMapper(EventSourceContext<KafkaProxy> context) {
363363
return primary -> {
364-
// Load all the virtual clusters for the KafkaProxy, then extract all the referenced KafkaClusterRef resource ids.
364+
// Load all the virtual clusters for the KafkaProxy, then extract all the referenced KafkaService resource ids.
365365
var clusterRefNames = resourcesInSameNamespace(context, primary, VirtualKafkaCluster.class)
366366
.filter(vkc -> vkc.getSpec().getProxyRef().getName().equals(name(primary)))
367367
.map(VirtualKafkaCluster::getSpec)
368368
.map(VirtualKafkaClusterSpec::getTargetCluster)
369369
.map(TargetCluster::getClusterRef)
370-
.map(KafkaCRef::getName)
370+
.map(KafkaServiceRef::getName)
371371
.collect(Collectors.toSet());
372372

373-
Set<ResourceID> kafkaClusterRefs = filteredResourceIdsInSameNamespace(context, primary, KafkaClusterRef.class,
373+
Set<ResourceID> kafkaServiceRefs = filteredResourceIdsInSameNamespace(context, primary, KafkaService.class,
374374
cluster -> clusterRefNames.contains(name(cluster)));
375-
LOGGER.debug("Event source KafkaClusterRef PrimaryToSecondaryMapper got {}", kafkaClusterRefs);
376-
return kafkaClusterRefs;
375+
LOGGER.debug("Event source KafkaService PrimaryToSecondaryMapper got {}", kafkaServiceRefs);
376+
return kafkaServiceRefs;
377377
};
378378
}
379379

kroxylicious-operator/src/main/java/io/kroxylicious/kubernetes/operator/resolver/DependencyResolverImpl.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020

2121
import io.kroxylicious.kubernetes.api.common.FilterRef;
2222
import io.kroxylicious.kubernetes.api.common.LocalRef;
23-
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaClusterRef;
2423
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxy;
2524
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxyIngress;
25+
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaService;
2626
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaCluster;
2727
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaClusterSpec;
2828
import io.kroxylicious.kubernetes.operator.ResourcesUtil;
@@ -50,7 +50,7 @@ public ResolutionResult deepResolve(Context<KafkaProxy> context, UnresolvedDepen
5050
}
5151
Map<LocalRef<KafkaProxyIngress>, KafkaProxyIngress> ingresses = context.getSecondaryResources(KafkaProxyIngress.class).stream()
5252
.collect(ResourcesUtil.toByLocalRefMap());
53-
Map<LocalRef<KafkaClusterRef>, KafkaClusterRef> clusterRefs = context.getSecondaryResources(KafkaClusterRef.class).stream()
53+
Map<LocalRef<KafkaService>, KafkaService> clusterRefs = context.getSecondaryResources(KafkaService.class).stream()
5454
.collect(ResourcesUtil.toByLocalRefMap());
5555
Map<LocalRef<GenericKubernetesResource>, GenericKubernetesResource> filters = context.getSecondaryResources(GenericKubernetesResource.class).stream()
5656
.collect(ResourcesUtil.toByLocalRefMap());
@@ -63,12 +63,12 @@ public ResolutionResult deepResolve(Context<KafkaProxy> context, UnresolvedDepen
6363

6464
private ClusterResolutionResult determineUnresolvedDependencies(VirtualKafkaCluster cluster,
6565
Map<LocalRef<KafkaProxyIngress>, KafkaProxyIngress> ingresses,
66-
Map<LocalRef<KafkaClusterRef>, KafkaClusterRef> clusterRefs,
66+
Map<LocalRef<KafkaService>, KafkaService> clusterRefs,
6767
Map<LocalRef<GenericKubernetesResource>, GenericKubernetesResource> filters) {
6868
VirtualKafkaClusterSpec spec = cluster.getSpec();
6969
Set<LocalRef<?>> unresolvedDependencies = new HashSet<>();
7070
determineUnresolvedIngresses(spec, ingresses).forEach(unresolvedDependencies::add);
71-
determineUnresolvedKafkaClusterRef(spec, clusterRefs).ifPresent(unresolvedDependencies::add);
71+
determineUnresolvedKafkaService(spec, clusterRefs).ifPresent(unresolvedDependencies::add);
7272
determineUnresolvedFilters(spec, filters).forEach(unresolvedDependencies::add);
7373
return new ClusterResolutionResult(cluster, unresolvedDependencies);
7474
}
@@ -85,8 +85,8 @@ private Stream<? extends LocalRef<?>> determineUnresolvedFilters(VirtualKafkaClu
8585
}
8686
}
8787

88-
private Optional<LocalRef<?>> determineUnresolvedKafkaClusterRef(VirtualKafkaClusterSpec spec,
89-
Map<LocalRef<KafkaClusterRef>, KafkaClusterRef> clusterRefs) {
88+
private Optional<LocalRef<?>> determineUnresolvedKafkaService(VirtualKafkaClusterSpec spec,
89+
Map<LocalRef<KafkaService>, KafkaService> clusterRefs) {
9090
var clusterRef = spec.getTargetCluster().getClusterRef();
9191
if (!clusterRefs.containsKey(clusterRef)) {
9292
return Optional.of(clusterRef);

kroxylicious-operator/src/main/java/io/kroxylicious/kubernetes/operator/resolver/ResolutionResult.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,22 @@
1919

2020
import io.kroxylicious.kubernetes.api.common.FilterRef;
2121
import io.kroxylicious.kubernetes.api.common.LocalRef;
22-
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaClusterRef;
2322
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaProxyIngress;
23+
import io.kroxylicious.kubernetes.api.v1alpha1.KafkaService;
2424
import io.kroxylicious.kubernetes.api.v1alpha1.VirtualKafkaCluster;
2525
import io.kroxylicious.kubernetes.operator.ResourcesUtil;
2626

2727
import static java.util.Comparator.comparing;
2828

2929
/**
3030
* The result of a deep resolution of the dependencies of a single KafkaProxy. Contains all
31-
* Filters, KafkaProxyIngresses and KafkaClusterRefs that were successfully resolved. It also
31+
* Filters, KafkaProxyIngresses and KafkaServices that were successfully resolved. It also
3232
* describes which dependencies could not be resolved per VirtualKafkaCluster.
3333
*/
3434
public class ResolutionResult {
3535
private final Map<LocalRef<GenericKubernetesResource>, GenericKubernetesResource> filters;
3636
private final Map<LocalRef<KafkaProxyIngress>, KafkaProxyIngress> kafkaProxyIngresses;
37-
private final Map<LocalRef<KafkaClusterRef>, KafkaClusterRef> kafkaClusterRefs;
37+
private final Map<LocalRef<KafkaService>, KafkaService> kafkaServiceRefs;
3838
private final Map<String, ClusterResolutionResult> clusterResolutionResults;
3939

4040
public record ClusterResolutionResult(VirtualKafkaCluster cluster, Set<LocalRef<?>> unresolvedDependencySet) {
@@ -55,15 +55,15 @@ public boolean isFullyResolved() {
5555

5656
ResolutionResult(Map<LocalRef<GenericKubernetesResource>, GenericKubernetesResource> filters,
5757
Map<LocalRef<KafkaProxyIngress>, KafkaProxyIngress> kafkaProxyIngresses,
58-
Map<LocalRef<KafkaClusterRef>, KafkaClusterRef> kafkaClusterRefs,
58+
Map<LocalRef<KafkaService>, KafkaService> kafkaServiceRefs,
5959
Map<String, ClusterResolutionResult> clusterResolutionResults) {
6060
Objects.requireNonNull(filters);
6161
Objects.requireNonNull(kafkaProxyIngresses);
62-
Objects.requireNonNull(kafkaClusterRefs);
62+
Objects.requireNonNull(kafkaServiceRefs);
6363
Objects.requireNonNull(clusterResolutionResults);
6464
this.filters = filters;
6565
this.kafkaProxyIngresses = kafkaProxyIngresses;
66-
this.kafkaClusterRefs = kafkaClusterRefs;
66+
this.kafkaServiceRefs = kafkaServiceRefs;
6767
this.clusterResolutionResults = clusterResolutionResults;
6868
}
6969

@@ -115,12 +115,12 @@ public Optional<KafkaProxyIngress> ingress(LocalRef<KafkaProxyIngress> localRef)
115115
}
116116

117117
/**
118-
* Get the resolved KafkaClusterRef for a cluster
118+
* Get the resolved KafkaService for a cluster
119119
* @return optional containing the cluster ref if resolved, else empty
120120
*/
121-
public Optional<KafkaClusterRef> kafkaClusterRef(VirtualKafkaCluster cluster) {
121+
public Optional<KafkaService> kafkaServiceRef(VirtualKafkaCluster cluster) {
122122
var ref = cluster.getSpec().getTargetCluster().getClusterRef();
123-
return Optional.ofNullable(kafkaClusterRefs.get(ref));
123+
return Optional.ofNullable(kafkaServiceRefs.get(ref));
124124
}
125125

126126
/**

0 commit comments

Comments
 (0)