Skip to content

Commit 975b0a0

Browse files
committed
feat: generate default configs using reconciliation cycle
1 parent aa01e3d commit 975b0a0

144 files changed

Lines changed: 2888 additions & 1561 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

stackgres-k8s/e2e/spec/default-mutator

Lines changed: 245 additions & 90 deletions
Large diffs are not rendered by default.

stackgres-k8s/src/common/src/main/java/io/stackgres/common/StackGresContext.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public interface StackGresContext {
1717
String CLUSTER_UID_KEY = "cluster-uid";
1818
String CLUSTER_SCOPE_KEY = "cluster-scope";
1919
String CLUSTER_NAMESPACE_KEY = "cluster-namespace";
20+
String CLUSTER_DEFAULT_CONFIG_KEY = "cluster-default-config";
2021
String RIGHT_VALUE = Boolean.TRUE.toString();
2122
String WRONG_VALUE = Boolean.FALSE.toString();
2223
String RESTAPI_KEY = "restapi";
@@ -32,6 +33,7 @@ public interface StackGresContext {
3233
String DISTRIBUTED_LOGS_CLUSTER_NAME_KEY = "distributed-logs-name";
3334
String DISTRIBUTED_LOGS_CLUSTER_NAMESPACE_KEY = "distributed-logs-namespace";
3435
String DISTRIBUTED_LOGS_CLUSTER_UID_KEY = "distributed-logs-uid";
36+
String DISTRIBUTED_LOGS_DEFAULT_CONFIG_KEY = "distributed-logs-default-config";
3537
String DBOPS_APP_NAME = "StackGresDbOps";
3638
String DBOPS_NAME_KEY = "dbops-name";
3739
String DBOPS_UID_KEY = "dbops-uid";
@@ -45,6 +47,7 @@ public interface StackGresContext {
4547
String SHARDED_CLUSTER_NAME_KEY = "shardedcluster-name";
4648
String SHARDED_CLUSTER_UID_KEY = "shardedcluster-uid";
4749
String SHARDED_CLUSTER_NAMESPACE_KEY = "shardedcluster-namespace";
50+
String SHARDED_CLUSTER_DEFAULT_CONFIG_KEY = "shardedcluster-default-config";
4851
String COORDINATOR_KEY = "coordinator";
4952
String SHARDS_KEY = "shards";
5053
String SHARDED_BACKUP_KEY = "sharded-backup";

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/ClusterLabelFactory.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ public ClusterLabelMapper labelMapper() {
3838
return labelMapper;
3939
}
4040

41+
@Override
42+
public Map<String, String> defaultConfigLabels(StackGresCluster resource) {
43+
return ImmutableMap.<String, String>builder().putAll(genericLabels(resource))
44+
.put(labelMapper().defaultConfigKey(resource), StackGresContext.RIGHT_VALUE)
45+
.build();
46+
}
47+
4148
@Override
4249
public Map<String, String> clusterLabels(StackGresCluster resource) {
4350
return ImmutableMap.<String, String>builder().putAll(clusterLabelsWithoutUid(resource))

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/DistributedLogsLabelFactory.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55

66
package io.stackgres.common.labels;
77

8+
import java.util.Map;
9+
10+
import com.google.common.collect.ImmutableMap;
11+
import io.stackgres.common.StackGresContext;
812
import io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogs;
913
import jakarta.enterprise.context.ApplicationScoped;
1014
import jakarta.inject.Inject;
@@ -26,4 +30,11 @@ public DistributedLogsLabelMapper labelMapper() {
2630
return labelMapper;
2731
}
2832

33+
@Override
34+
public Map<String, String> defaultConfigLabels(StackGresDistributedLogs resource) {
35+
return ImmutableMap.<String, String>builder().putAll(genericLabels(resource))
36+
.put(labelMapper().defaultConfigKey(resource), StackGresContext.RIGHT_VALUE)
37+
.build();
38+
}
39+
2940
}

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/LabelFactoryForCluster.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
public interface LabelFactoryForCluster
1414
extends LabelFactory<StackGresCluster> {
1515

16+
Map<String, String> defaultConfigLabels(StackGresCluster resource);
17+
1618
Map<String, String> clusterLabels(StackGresCluster resource);
1719

1820
Map<String, String> clusterLabelsWithoutUid(StackGresCluster resource);

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/LabelFactoryForDistributedLogs.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@
55

66
package io.stackgres.common.labels;
77

8+
import java.util.Map;
9+
810
import io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogs;
911

1012
public interface LabelFactoryForDistributedLogs
1113
extends LabelFactory<StackGresDistributedLogs> {
1214

15+
Map<String, String> defaultConfigLabels(StackGresDistributedLogs resource);
16+
1317
@Override
1418
LabelMapperForDistributedLogs labelMapper();
1519

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/LabelFactoryForShardedCluster.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
public interface LabelFactoryForShardedCluster
1313
extends LabelFactory<StackGresShardedCluster> {
1414

15+
Map<String, String> defaultConfigLabels(StackGresShardedCluster resource);
16+
1517
Map<String, String> coordinatorLabels(StackGresShardedCluster resource);
1618

1719
Map<String, String> coordinatorLabelsWithoutUid(StackGresShardedCluster resource);

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/LabelMapperForCluster.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
public interface LabelMapperForCluster
1414
extends LabelMapper<StackGresCluster> {
1515

16+
default String defaultConfigKey(StackGresCluster resource) {
17+
return getKeyPrefix(resource) + StackGresContext.CLUSTER_DEFAULT_CONFIG_KEY;
18+
}
19+
1620
default String clusterKey(StackGresCluster resource) {
1721
return getKeyPrefix(resource) + StackGresContext.CLUSTER_KEY;
1822
}

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/LabelMapperForDistributedLogs.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,14 @@
55

66
package io.stackgres.common.labels;
77

8+
import io.stackgres.common.StackGresContext;
89
import io.stackgres.common.crd.sgdistributedlogs.StackGresDistributedLogs;
910

1011
public interface LabelMapperForDistributedLogs
1112
extends LabelMapper<StackGresDistributedLogs> {
1213

14+
default String defaultConfigKey(StackGresDistributedLogs resource) {
15+
return getKeyPrefix(resource) + StackGresContext.DISTRIBUTED_LOGS_DEFAULT_CONFIG_KEY;
16+
}
17+
1318
}

stackgres-k8s/src/common/src/main/java/io/stackgres/common/labels/LabelMapperForShardedCluster.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
public interface LabelMapperForShardedCluster
1212
extends LabelMapper<StackGresShardedCluster> {
1313

14+
default String defaultConfigKey(StackGresShardedCluster resource) {
15+
return getKeyPrefix(resource) + StackGresContext.SHARDED_CLUSTER_DEFAULT_CONFIG_KEY;
16+
}
17+
1418
default String coordinatorKey(StackGresShardedCluster resource) {
1519
return getKeyPrefix(resource) + StackGresContext.COORDINATOR_KEY;
1620
}

0 commit comments

Comments
 (0)