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

Commit

Permalink
feat: update kube config flag (#60)
Browse files Browse the repository at this point in the history
  • Loading branch information
csviri authored Mar 31, 2023
1 parent f224d7b commit 29cc558
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ public void start() {
etcdProcess.cleanEtcdData();
var etcdPort = etcdProcess.startEtcd();
var apiServerPort = kubeApiServerProcess.startApiServer(etcdPort);
kubeConfig.updateKubeConfig(apiServerPort);
if (config.isUpdateKubeConfig()) {
kubeConfig.updateKubeConfig(apiServerPort);
}
kubeApiServerProcess.waitUntilDefaultNamespaceCreated();
log.debug("API Server ready to use");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,15 @@ public class KubeAPIServerConfig {
*/
private final List<String> apiServerFlags;

private final boolean updateKubeConfig;

KubeAPIServerConfig(String jenvtestDir, String apiServerVersion, boolean offlineMode,
List<String> apiServerFlags) {
List<String> apiServerFlags, boolean updateKubeConfig) {
this.jenvtestDir = jenvtestDir;
this.apiServerVersion = apiServerVersion;
this.offlineMode = offlineMode;
this.apiServerFlags = apiServerFlags;
this.updateKubeConfig = updateKubeConfig;
}

public String getJenvtestDir() {
Expand All @@ -56,4 +59,8 @@ public boolean isOfflineMode() {
public List<String> getApiServerFlags() {
return apiServerFlags;
}

public boolean isUpdateKubeConfig() {
return updateKubeConfig;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public final class KubeAPIServerConfigBuilder {
private String jenvtestDir;
private String apiServerVersion;
private Boolean offlineMode;
private boolean updateKubeConfig = true;
private final List<String> apiServerFlags = new ArrayList<>(0);

public KubeAPIServerConfigBuilder() {}
Expand Down Expand Up @@ -61,22 +62,31 @@ public KubeAPIServerConfig build() {
this.apiServerVersion = apiServerVersionEnvVar;
}
}
return new KubeAPIServerConfig(jenvtestDir, apiServerVersion, offlineMode, apiServerFlags);
return new KubeAPIServerConfig(jenvtestDir, apiServerVersion, offlineMode, apiServerFlags,
updateKubeConfig);
}

public void withApiServerFlags(List<String> flags) {
public KubeAPIServerConfigBuilder withUpdateKubeConfig(boolean updateKubeConfig) {
this.updateKubeConfig = updateKubeConfig;
return this;
}

public KubeAPIServerConfigBuilder withApiServerFlags(List<String> flags) {
apiServerFlags.addAll(flags);
return this;
}

public void withApiServerFlag(String key, String value) {
public KubeAPIServerConfigBuilder withApiServerFlag(String key, String value) {
checkKeyPrefix(key);
apiServerFlags.add(key);
apiServerFlags.add(value);
return this;
}

public void withApiServerFlag(String key) {
public KubeAPIServerConfigBuilder withApiServerFlag(String key) {
checkKeyPrefix(key);
apiServerFlags.add(key);
return this;
}

private void checkKeyPrefix(String key) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ void usingWildcardVersion() {

@Test
void creatingClientFromConfigString() {
var kubeApi = new KubeAPIServer();
var kubeApi = new KubeAPIServer(KubeAPIServerConfigBuilder.anAPIServerConfig()
.withUpdateKubeConfig(false)
.build());
kubeApi.start();

var client =
Expand Down

0 comments on commit 29cc558

Please sign in to comment.