Skip to content
This repository was archived by the owner on Apr 10, 2024. It is now read-only.

Commit 29cc558

Browse files
authored
feat: update kube config flag (#60)
1 parent f224d7b commit 29cc558

File tree

4 files changed

+28
-7
lines changed

4 files changed

+28
-7
lines changed

core/src/main/java/io/javaoperatorsdk/jenvtest/KubeAPIServer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ public void start() {
4444
etcdProcess.cleanEtcdData();
4545
var etcdPort = etcdProcess.startEtcd();
4646
var apiServerPort = kubeApiServerProcess.startApiServer(etcdPort);
47-
kubeConfig.updateKubeConfig(apiServerPort);
47+
if (config.isUpdateKubeConfig()) {
48+
kubeConfig.updateKubeConfig(apiServerPort);
49+
}
4850
kubeApiServerProcess.waitUntilDefaultNamespaceCreated();
4951
log.debug("API Server ready to use");
5052
}

core/src/main/java/io/javaoperatorsdk/jenvtest/KubeAPIServerConfig.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,15 @@ public class KubeAPIServerConfig {
3333
*/
3434
private final List<String> apiServerFlags;
3535

36+
private final boolean updateKubeConfig;
37+
3638
KubeAPIServerConfig(String jenvtestDir, String apiServerVersion, boolean offlineMode,
37-
List<String> apiServerFlags) {
39+
List<String> apiServerFlags, boolean updateKubeConfig) {
3840
this.jenvtestDir = jenvtestDir;
3941
this.apiServerVersion = apiServerVersion;
4042
this.offlineMode = offlineMode;
4143
this.apiServerFlags = apiServerFlags;
44+
this.updateKubeConfig = updateKubeConfig;
4245
}
4346

4447
public String getJenvtestDir() {
@@ -56,4 +59,8 @@ public boolean isOfflineMode() {
5659
public List<String> getApiServerFlags() {
5760
return apiServerFlags;
5861
}
62+
63+
public boolean isUpdateKubeConfig() {
64+
return updateKubeConfig;
65+
}
5966
}

core/src/main/java/io/javaoperatorsdk/jenvtest/KubeAPIServerConfigBuilder.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public final class KubeAPIServerConfigBuilder {
1515
private String jenvtestDir;
1616
private String apiServerVersion;
1717
private Boolean offlineMode;
18+
private boolean updateKubeConfig = true;
1819
private final List<String> apiServerFlags = new ArrayList<>(0);
1920

2021
public KubeAPIServerConfigBuilder() {}
@@ -61,22 +62,31 @@ public KubeAPIServerConfig build() {
6162
this.apiServerVersion = apiServerVersionEnvVar;
6263
}
6364
}
64-
return new KubeAPIServerConfig(jenvtestDir, apiServerVersion, offlineMode, apiServerFlags);
65+
return new KubeAPIServerConfig(jenvtestDir, apiServerVersion, offlineMode, apiServerFlags,
66+
updateKubeConfig);
6567
}
6668

67-
public void withApiServerFlags(List<String> flags) {
69+
public KubeAPIServerConfigBuilder withUpdateKubeConfig(boolean updateKubeConfig) {
70+
this.updateKubeConfig = updateKubeConfig;
71+
return this;
72+
}
73+
74+
public KubeAPIServerConfigBuilder withApiServerFlags(List<String> flags) {
6875
apiServerFlags.addAll(flags);
76+
return this;
6977
}
7078

71-
public void withApiServerFlag(String key, String value) {
79+
public KubeAPIServerConfigBuilder withApiServerFlag(String key, String value) {
7280
checkKeyPrefix(key);
7381
apiServerFlags.add(key);
7482
apiServerFlags.add(value);
83+
return this;
7584
}
7685

77-
public void withApiServerFlag(String key) {
86+
public KubeAPIServerConfigBuilder withApiServerFlag(String key) {
7887
checkKeyPrefix(key);
7988
apiServerFlags.add(key);
89+
return this;
8090
}
8191

8292
private void checkKeyPrefix(String key) {

samples/src/test/java/io/javaoperatorsdk/jenvtest/KubeApiServerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ void usingWildcardVersion() {
3939

4040
@Test
4141
void creatingClientFromConfigString() {
42-
var kubeApi = new KubeAPIServer();
42+
var kubeApi = new KubeAPIServer(KubeAPIServerConfigBuilder.anAPIServerConfig()
43+
.withUpdateKubeConfig(false)
44+
.build());
4345
kubeApi.start();
4446

4547
var client =

0 commit comments

Comments
 (0)