Skip to content

Commit 9a6d9a6

Browse files
andreaTPjsenko
authored andcommitted
[chore] cleanup sql datasource
1 parent 2986294 commit 9a6d9a6

File tree

3 files changed

+45
-29
lines changed

3 files changed

+45
-29
lines changed

operator/controller/src/main/java/io/apicurio/registry/operator/feat/KafkaSql.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ public class KafkaSql {
1414
public static String ENV_STORAGE_KIND = "APICURIO_STORAGE_KIND";
1515
public static String ENV_KAFKASQL_BOOTSTRAP_SERVERS = "APICURIO_KAFKASQL_BOOTSTRAP_SERVERS";
1616

17-
public static void configureKafkaSQL(ApicurioRegistry3 primary, Map<String, EnvVar> env) {
17+
public static boolean configureKafkaSQL(ApicurioRegistry3 primary, Map<String, EnvVar> env) {
1818
if (primary.getSpec().getApp().getKafkasql() != null
1919
&& !isBlank(primary.getSpec().getApp().getKafkasql().getBootstrapServers())) {
2020
addEnvVar(env, new EnvVarBuilder().withName(ENV_STORAGE_KIND).withValue("kafkasql").build());
2121
addEnvVar(env, new EnvVarBuilder().withName(ENV_KAFKASQL_BOOTSTRAP_SERVERS)
2222
.withValue(primary.getSpec().getApp().getKafkasql().getBootstrapServers()).build());
23+
return true;
2324
}
25+
return false;
2426
}
2527
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package io.apicurio.registry.operator.feat;
2+
3+
import io.apicurio.registry.operator.api.v1.ApicurioRegistry3;
4+
import io.fabric8.kubernetes.api.model.EnvVar;
5+
import io.fabric8.kubernetes.api.model.EnvVarBuilder;
6+
7+
import java.util.Map;
8+
9+
import static io.apicurio.registry.operator.resource.app.AppDeploymentResource.addEnvVar;
10+
11+
public class PostgresSql {
12+
13+
public static final String ENV_APICURIO_STORAGE_KIND = "APICURIO_STORAGE_KIND";
14+
public static final String ENV_APICURIO_STORAGE_SQL_KIND = "APICURIO_STORAGE_SQL_KIND";
15+
public static final String ENV_APICURIO_DATASOURCE_URL = "APICURIO_DATASOURCE_URL";
16+
public static final String ENV_APICURIO_DATASOURCE_USERNAME = "APICURIO_DATASOURCE_USERNAME";
17+
public static final String ENV_APICURIO_DATASOURCE_PASSWORD = "APICURIO_DATASOURCE_PASSWORD";
18+
19+
public static boolean configureDatasource(ApicurioRegistry3 primary, Map<String, EnvVar> env) {
20+
if (primary.getSpec().getApp().getSql() != null
21+
&& primary.getSpec().getApp().getSql().getDatasource() != null) {
22+
var datasource = primary.getSpec().getApp().getSql().getDatasource();
23+
24+
addEnvVar(env, new EnvVarBuilder().withName(ENV_APICURIO_STORAGE_KIND).withValue("sql").build());
25+
addEnvVar(env, new EnvVarBuilder().withName(ENV_APICURIO_STORAGE_SQL_KIND).withValue("postgresql")
26+
.build());
27+
28+
addEnvVar(env, new EnvVarBuilder().withName(ENV_APICURIO_DATASOURCE_URL)
29+
.withValue(datasource.getUrl()).build());
30+
addEnvVar(env, new EnvVarBuilder().withName(ENV_APICURIO_DATASOURCE_USERNAME)
31+
.withValue(datasource.getUsername()).build());
32+
addEnvVar(env, new EnvVarBuilder().withName(ENV_APICURIO_DATASOURCE_PASSWORD)
33+
.withValue(datasource.getPassword()).build());
34+
return true;
35+
}
36+
return false;
37+
}
38+
}

operator/controller/src/main/java/io/apicurio/registry/operator/resource/app/AppDeploymentResource.java

+4-28
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import io.apicurio.registry.operator.OperatorException;
44
import io.apicurio.registry.operator.api.v1.ApicurioRegistry3;
5-
import io.apicurio.registry.operator.api.v1.spec.Sql;
65
import io.apicurio.registry.operator.feat.KafkaSql;
6+
import io.apicurio.registry.operator.feat.PostgresSql;
77
import io.fabric8.kubernetes.api.model.Container;
88
import io.fabric8.kubernetes.api.model.EnvVar;
99
import io.fabric8.kubernetes.api.model.EnvVarBuilder;
@@ -36,12 +36,6 @@ public class AppDeploymentResource extends CRUDKubernetesDependentResource<Deplo
3636

3737
private static final Logger log = LoggerFactory.getLogger(AppDeploymentResource.class);
3838

39-
public static final String ENV_APICURIO_STORAGE_KIND = "APICURIO_STORAGE_KIND";
40-
public static final String ENV_APICURIO_STORAGE_SQL_KIND = "APICURIO_STORAGE_SQL_KIND";
41-
public static final String ENV_APICURIO_DATASOURCE_URL = "APICURIO_DATASOURCE_URL";
42-
public static final String ENV_APICURIO_DATASOURCE_USERNAME = "APICURIO_DATASOURCE_USERNAME";
43-
public static final String ENV_APICURIO_DATASOURCE_PASSWORD = "APICURIO_DATASOURCE_PASSWORD";
44-
4539
public AppDeploymentResource() {
4640
super(Deployment.class);
4741
}
@@ -67,8 +61,9 @@ protected Deployment desired(ApicurioRegistry3 primary, Context<ApicurioRegistry
6761
addEnvVar(envVars, new EnvVarBuilder().withName("APICURIO_APIS_V2_DATE_FORMAT").withValue("yyyy-MM-dd''T''HH:mm:ssZ").build());
6862
// spotless:on
6963

70-
configureSqlDatasource(envVars, primary.getSpec().getApp().getSql());
71-
KafkaSql.configureKafkaSQL(primary, envVars);
64+
if (!PostgresSql.configureDatasource(primary, envVars)) {
65+
KafkaSql.configureKafkaSQL(primary, envVars);
66+
}
7267

7368
var container = getContainerFromDeployment(d, APP_CONTAINER_NAME);
7469
container.setEnv(envVars.values().stream().toList());
@@ -77,25 +72,6 @@ protected Deployment desired(ApicurioRegistry3 primary, Context<ApicurioRegistry
7772
return d;
7873
}
7974

80-
private static void configureSqlDatasource(Map<String, EnvVar> map, Sql sql) {
81-
if (sql != null && sql.getDatasource() != null) {
82-
var datasource = sql.getDatasource();
83-
84-
addEnvVar(map, new EnvVarBuilder().withName(ENV_APICURIO_STORAGE_KIND).withValue("sql").build());
85-
addEnvVar(map, new EnvVarBuilder().withName(ENV_APICURIO_STORAGE_SQL_KIND).withValue("postgresql")
86-
.build());
87-
88-
addEnvVar(map, new EnvVarBuilder().withName(ENV_APICURIO_DATASOURCE_URL)
89-
.withValue(datasource.getUrl()).build());
90-
addEnvVar(map, new EnvVarBuilder().withName(ENV_APICURIO_DATASOURCE_USERNAME)
91-
.withValue(datasource.getUsername()).build());
92-
addEnvVar(map, new EnvVarBuilder().withName(ENV_APICURIO_DATASOURCE_PASSWORD)
93-
.withValue(datasource.getPassword()).build());
94-
} else {
95-
log.info("No SQL datasource configured");
96-
}
97-
}
98-
9975
public static void addEnvVar(Map<String, EnvVar> map, EnvVar envVar) {
10076
if (!map.containsKey(envVar.getName())) {
10177
map.put(envVar.getName(), envVar);

0 commit comments

Comments
 (0)