diff --git a/pom.xml b/pom.xml
index 26e6d3b9..369a9dd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,7 @@
1.16.1
2.3.8
0.18.2
+ 6.4.1
@@ -383,6 +384,13 @@
+
+ io.fabric8
+ kubernetes-client-bom
+ ${fabric8.version}
+ import
+ pom
+
org.springframework.cloud
spring-cloud-dependencies
diff --git a/src/main/java/jasper/component/k8s/TunnelServer.java b/src/main/java/jasper/component/k8s/TunnelServer.java
index 4fc3a4d2..10635671 100644
--- a/src/main/java/jasper/component/k8s/TunnelServer.java
+++ b/src/main/java/jasper/component/k8s/TunnelServer.java
@@ -37,7 +37,7 @@ public class TunnelServer {
timeUnit = TimeUnit.SECONDS)
public void generateConfig() {
var changed = false;
- StringBuilder result = new StringBuilder();
+ var result = new StringBuilder();
for (var origin : props.getSshOrigins()) {
var cursor = userRepository.getCursor(origin);
if (cursor != null) {
@@ -65,8 +65,15 @@ public void generateConfig() {
}
}
try (var client = new DefaultKubernetesClient()) {
- client.configMaps().inNamespace(props.getSshConfigNamespace()).withName(props.getSshConfigMapName())
- .edit(c -> new ConfigMapBuilder(c).addToData("authorized_keys", result.toString()).build());
+ client.configMaps()
+ .inNamespace(props.getSshConfigNamespace())
+ .resource(new ConfigMapBuilder()
+ .withNewMetadata()
+ .withName(props.getSshConfigMapName())
+ .and()
+ .addToData("authorized_keys", result.toString())
+ .build())
+ .serverSideApply();
}
}