DefaultKubernetesClientBuilder.java
package org.entando.kubernetes.service;
import io.fabric8.kubernetes.client.Config;
import io.fabric8.kubernetes.client.ConfigBuilder;
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClient;
import java.util.function.Function;
public class DefaultKubernetesClientBuilder implements Function<String, KubernetesClient> {
public static final String NOT_K8S_TOKEN = "NOT_K8S_TOKEN";
@Override
public KubernetesClient apply(String token) {
if (NOT_K8S_TOKEN.equals(token)) {
return new DefaultKubernetesClient();
} else {
return new DefaultKubernetesClient(
//Get default config from current Kube context
new ConfigBuilder(Config.autoConfigure(null))
.withOauthToken(token)
.build());
}
}
}