From 6d05cf3efbd28c71b19cf7f8e9d9a1d6dab67d85 Mon Sep 17 00:00:00 2001 From: Luka Hartwig Date: Wed, 26 Oct 2022 11:55:38 +0200 Subject: [PATCH] Add Nomad to cloud platforms See gh-32880 --- .../springframework/boot/cloud/CloudPlatform.java | 12 ++++++++++++ .../boot/cloud/CloudPlatformTests.java | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/cloud/CloudPlatform.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/cloud/CloudPlatform.java index 14d7c12f359..b095d673c92 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/cloud/CloudPlatform.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/cloud/CloudPlatform.java @@ -85,6 +85,18 @@ public enum CloudPlatform { }, + /** + * Nomad platform. + */ + NOMAD { + + @Override + public boolean isDetected(Environment environment) { + return environment.containsProperty("NOMAD_ALLOC_ID"); + } + + }, + /** * Kubernetes platform. */ diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/cloud/CloudPlatformTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/cloud/CloudPlatformTests.java index 884057e21f6..9e759637974 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/cloud/CloudPlatformTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/cloud/CloudPlatformTests.java @@ -86,6 +86,14 @@ class CloudPlatformTests { assertThat(platform.isActive(environment)).isTrue(); } + @Test + void getActiveWhenHasNomadAllocIdShouldReturnNomad() { + Environment environment = new MockEnvironment().withProperty("NOMAD_ALLOC_ID", "---"); + CloudPlatform platform = CloudPlatform.getActive(environment); + assertThat(platform).isEqualTo(CloudPlatform.NOMAD); + assertThat(platform.isActive(environment)).isTrue(); + } + @Test void getActiveWhenHasKubernetesServiceHostAndPortShouldReturnKubernetes() { Map envVars = new HashMap<>();