Skip to content

Commit 8ddf9f3

Browse files
authored
Merge pull request #30008 from iocanel/broken-openshift-deployer
Fix handling of deployment target when using quarkus-openshift
2 parents c3aa25b + 9dafe22 commit 8ddf9f3

File tree

5 files changed

+38
-7
lines changed

5 files changed

+38
-7
lines changed

extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KnativeProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public class KnativeProcessor {
8484
public void checkKnative(ApplicationInfoBuildItem applicationInfo, KnativeConfig config,
8585
BuildProducer<KubernetesDeploymentTargetBuildItem> deploymentTargets,
8686
BuildProducer<KubernetesResourceMetadataBuildItem> resourceMeta) {
87-
List<String> targets = KubernetesConfigUtil.getUserSpecifiedDeploymentTargets();
87+
List<String> targets = KubernetesConfigUtil.getConfiguratedDeploymentTargets();
8888
boolean knativeEnabled = targets.contains(KNATIVE);
8989
deploymentTargets.produce(
9090
new KubernetesDeploymentTargetBuildItem(KNATIVE, KNATIVE_SERVICE, KNATIVE_SERVICE_GROUP,

extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesConfigUtil.java

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,21 @@ public class KubernetesConfigUtil {
4242

4343
private static final Logger log = Logger.getLogger(KubernetesConfigUtil.class);
4444

45-
public static List<String> getUserSpecifiedDeploymentTargets() {
46-
String deploymentTargets = getConfiguredDeploymentTarget().orElse("");
45+
/**
46+
* Get the explicit configured deployment target, if any.
47+
* The explicit deployment target is determined using: `quarkus.kubernetes.deployment-target=<deployment-target>`
48+
*/
49+
public static Optional<String> getExplicitlyConfiguredDeploymentTarget() {
50+
Config config = ConfigProvider.getConfig();
51+
return config.getOptionalValue(DEPLOYMENT_TARGET, String.class);
52+
}
53+
54+
/**
55+
* The the explicitly configured deployment target list.
56+
* The configured deployment targets are determined using: `quarkus.kubernetes.deployment-target=<deployment-target>`
57+
*/
58+
public static List<String> getExplictilyDeploymentTargets() {
59+
String deploymentTargets = getExplicitlyConfiguredDeploymentTarget().orElse("");
4760
if (deploymentTargets.isEmpty()) {
4861
return Collections.emptyList();
4962
}
@@ -71,7 +84,25 @@ public static Optional<String> getConfiguredDeploymentTarget() {
7184
.filter(s -> s != null)
7285
.findFirst();
7386

74-
return config.getOptionalValue(DEPLOYMENT_TARGET, String.class).or(() -> indirectTarget);
87+
return getExplicitlyConfiguredDeploymentTarget().or(() -> indirectTarget);
88+
}
89+
90+
/**
91+
* The the configured deployment target list.
92+
* The configured deployment targets are determined using:
93+
* 1. the value of `quarkus.kubernetes.deployment-target=<deployment-target>`
94+
* 2. the presenve of `quarkus.<deployment-target>.deploy=true`
95+
*/
96+
public static List<String> getConfiguratedDeploymentTargets() {
97+
String deploymentTargets = getConfiguredDeploymentTarget().orElse("");
98+
if (deploymentTargets.isEmpty()) {
99+
return Collections.emptyList();
100+
}
101+
return Arrays.stream(deploymentTargets
102+
.split(","))
103+
.map(String::trim)
104+
.map(String::toLowerCase)
105+
.collect(Collectors.toList());
75106
}
76107

77108
/**

extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesDeployer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ private DeploymentTargetEntry determineDeploymentTarget(
154154

155155
boolean checkForMissingRegistry = true;
156156
boolean checkForNamespaceGroupAlignment = false;
157-
List<String> userSpecifiedDeploymentTargets = KubernetesConfigUtil.getUserSpecifiedDeploymentTargets();
157+
List<String> userSpecifiedDeploymentTargets = KubernetesConfigUtil.getExplictilyDeploymentTargets();
158158
if (userSpecifiedDeploymentTargets.isEmpty()) {
159159
selectedTarget = targets.getEntriesSortedByPriority().get(0);
160160
if (targets.getEntriesSortedByPriority().size() > 1) {

extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/OpenshiftProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class OpenshiftProcessor {
7373
public void checkOpenshift(ApplicationInfoBuildItem applicationInfo, Capabilities capabilities, OpenshiftConfig config,
7474
BuildProducer<KubernetesDeploymentTargetBuildItem> deploymentTargets,
7575
BuildProducer<KubernetesResourceMetadataBuildItem> resourceMeta) {
76-
List<String> targets = KubernetesConfigUtil.getUserSpecifiedDeploymentTargets();
76+
List<String> targets = KubernetesConfigUtil.getConfiguratedDeploymentTargets();
7777
boolean openshiftEnabled = targets.contains(OPENSHIFT);
7878

7979
DeploymentResourceKind deploymentResourceKind = config.getDeploymentResourceKind(capabilities);

extensions/kubernetes/vanilla/deployment/src/main/java/io/quarkus/kubernetes/deployment/VanillaKubernetesProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void checkVanillaKubernetes(ApplicationInfoBuildItem applicationInfo, Cap
6464
BuildProducer<KubernetesResourceMetadataBuildItem> resourceMeta) {
6565
String kind = config.getDeploymentResourceKind(capabilities).kind;
6666

67-
List<String> userSpecifiedDeploymentTargets = KubernetesConfigUtil.getUserSpecifiedDeploymentTargets();
67+
List<String> userSpecifiedDeploymentTargets = KubernetesConfigUtil.getConfiguratedDeploymentTargets();
6868
if (userSpecifiedDeploymentTargets.isEmpty() || userSpecifiedDeploymentTargets.contains(KUBERNETES)) {
6969
// when nothing was selected by the user, we enable vanilla Kubernetes by
7070
// default

0 commit comments

Comments
 (0)