Skip to content

Commit 2016f8e

Browse files
committed
progress
Signed-off-by: Attila Mészáros <csviri@gmail.com>
1 parent c1adeb0 commit 2016f8e

File tree

8 files changed

+104
-6
lines changed

8 files changed

+104
-6
lines changed

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

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

77
@FunctionalInterface
88
public interface SecondaryToPrimaryMapper<R> {
9-
Set<ResourceID> toPrimaryResourceIDs(R dependentResource);
9+
Set<ResourceID> toPrimaryResourceIDs(R resource);
1010
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package io.javaoperatorsdk.operator;
2+
3+
public class DependentCustomMappingAnnotationIT {
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package io.javaoperatorsdk.operator.sample.dependentcustommappingannotation;
2+
3+
import io.fabric8.kubernetes.api.model.ConfigMap;
4+
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
5+
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
6+
import io.javaoperatorsdk.operator.api.reconciler.Context;
7+
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
8+
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDNoGCKubernetesDependentResource;
9+
import io.javaoperatorsdk.operator.processing.event.ResourceID;
10+
import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper;
11+
import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers;
12+
13+
import java.util.Map;
14+
import java.util.Set;
15+
16+
public class CustomMappingConfigMapDependentResource
17+
extends CRUDNoGCKubernetesDependentResource<ConfigMap, DependentCustomMappingCustomResource>
18+
implements SecondaryToPrimaryMapper<ConfigMap> {
19+
20+
private SecondaryToPrimaryMapper<ConfigMap> mapper = Mappers.fromAnnotation("customNameKey","customNamespaceKey");
21+
22+
public CustomMappingConfigMapDependentResource() {
23+
super(ConfigMap.class);
24+
}
25+
26+
@Override
27+
protected ConfigMap desired(DependentCustomMappingCustomResource primary,
28+
Context<DependentCustomMappingCustomResource> context) {
29+
return new ConfigMapBuilder()
30+
.withMetadata(new ObjectMetaBuilder()
31+
.withName(primary.getMetadata().getName())
32+
.withNamespace(primary.getMetadata().getNamespace())
33+
.build())
34+
.withData(Map.of("key", "val"))
35+
.build();
36+
}
37+
38+
@Override
39+
public Set<ResourceID> toPrimaryResourceIDs(ConfigMap resource) {
40+
return mapper.toPrimaryResourceIDs(resource);
41+
}
42+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package io.javaoperatorsdk.operator.sample.dependentcustommappingannotation;
2+
3+
import io.fabric8.kubernetes.api.model.Namespaced;
4+
import io.fabric8.kubernetes.client.CustomResource;
5+
import io.fabric8.kubernetes.model.annotation.Group;
6+
import io.fabric8.kubernetes.model.annotation.Version;
7+
8+
@Group("sample.javaoperatorsdk")
9+
@Version("v1")
10+
public class DependentCustomMappingCustomResource
11+
extends CustomResource<DependentCustomMappingSpec, Void>
12+
implements Namespaced {
13+
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.javaoperatorsdk.operator.sample.dependentcustommappingannotation;
2+
3+
import io.fabric8.kubernetes.client.KubernetesClient;
4+
import io.javaoperatorsdk.operator.api.reconciler.*;
5+
import io.javaoperatorsdk.operator.api.reconciler.dependent.Dependent;
6+
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
7+
8+
import java.util.Map;
9+
10+
@ControllerConfiguration(dependents = {@Dependent(type = CustomMappingConfigMapDependentResource.class)})
11+
public class DependentCustomMappingReconciler
12+
implements Reconciler<DependentCustomMappingCustomResource> {
13+
14+
@Override
15+
public UpdateControl<DependentCustomMappingCustomResource> reconcile(
16+
DependentCustomMappingCustomResource resource,
17+
Context<DependentCustomMappingCustomResource> context) throws Exception {
18+
19+
return UpdateControl.noUpdate();
20+
}
21+
22+
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package io.javaoperatorsdk.operator.sample.dependentcustommappingannotation;
2+
3+
public class DependentCustomMappingSpec {
4+
5+
private String value;
6+
7+
public String getValue() {
8+
return value;
9+
}
10+
11+
public DependentCustomMappingSpec setValue(String value) {
12+
this.value = value;
13+
return this;
14+
}
15+
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/primaryindexer/DependentPrimaryIndexerTestReconciler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public ReadOnlyConfigMapDependent() {
3131
}
3232

3333
@Override
34-
public Set<ResourceID> toPrimaryResourceIDs(ConfigMap dependentResource) {
35-
return cache.byIndex(CONFIG_MAP_RELATION_INDEXER, dependentResource.getMetadata().getName())
34+
public Set<ResourceID> toPrimaryResourceIDs(ConfigMap resource) {
35+
return cache.byIndex(CONFIG_MAP_RELATION_INDEXER, resource.getMetadata().getName())
3636
.stream()
3737
.map(ResourceID::fromResource)
3838
.collect(Collectors.toSet());

sample-operators/mysql-schema/src/main/java/io/javaoperatorsdk/operator/sample/dependent/SecretDependentResource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ public Result<Secret> match(Secret actual, MySQLSchema primary, Context<MySQLSch
6161
}
6262

6363
@Override
64-
public Set<ResourceID> toPrimaryResourceIDs(Secret dependentResource) {
65-
String name = dependentResource.getMetadata().getName();
64+
public Set<ResourceID> toPrimaryResourceIDs(Secret resource) {
65+
String name = resource.getMetadata().getName();
6666
return Set.of(new ResourceID(name.substring(0, name.length() - SECRET_SUFFIX.length()),
67-
dependentResource.getMetadata().getNamespace()));
67+
resource.getMetadata().getNamespace()));
6868
}
6969
}

0 commit comments

Comments
 (0)