.withClientCertData(or(kubernetesClientProperties.getClientCertData(), base.getClientCertData()))
builder.withClientCertData((String) properties.get(KUBERNETES_CLIENT_CERTIFICATE_DATA_SYSTEM_PROPERTY));
@Bean @ConditionalOnMissingBean(Config.class) public Config kubernetesClientConfig(KubernetesClientProperties kubernetesClientProperties) { Config base = new Config(); Config properties = new ConfigBuilder(base) //Only set values that have been explicitly specified .withMasterUrl(or(kubernetesClientProperties.getMasterUrl(), base.getMasterUrl())) .withApiVersion(or(kubernetesClientProperties.getApiVersion(), base.getApiVersion())) .withNamespace(or(kubernetesClientProperties.getNamespace(), base.getNamespace())) .withUsername(or(kubernetesClientProperties.getUsername(), base.getUsername())) .withPassword(or(kubernetesClientProperties.getPassword(), base.getPassword())) .withCaCertFile(or(kubernetesClientProperties.getCaCertFile(), base.getCaCertFile())) .withCaCertData(or(kubernetesClientProperties.getCaCertData(), base.getCaCertData())) .withClientKeyFile(or(kubernetesClientProperties.getClientKeyFile(), base.getClientKeyFile())) .withClientKeyData(or(kubernetesClientProperties.getClientKeyData(), base.getClientKeyData())) .withClientCertFile(or(kubernetesClientProperties.getClientCertFile(), base.getClientCertFile())) .withClientCertData(or(kubernetesClientProperties.getClientCertData(), base.getClientCertData())) //No magic is done for the properties below so we leave them as is. .withClientKeyAlgo(or(kubernetesClientProperties.getClientKeyAlgo(), base.getClientKeyAlgo())) .withClientKeyPassphrase(or(kubernetesClientProperties.getClientKeyPassphrase(), base.getClientKeyPassphrase())) .withConnectionTimeout(or(kubernetesClientProperties.getConnectionTimeout(), base.getConnectionTimeout())) .withRequestTimeout(or(kubernetesClientProperties.getRequestTimeout(), base.getRequestTimeout())) .withRollingTimeout(or(kubernetesClientProperties.getRollingTimeout(), base.getRollingTimeout())) .withTrustCerts(or(kubernetesClientProperties.isTrustCerts(), base.isTrustCerts())) .build(); if (properties.getNamespace() == null || properties.getNamespace().isEmpty()) { LOG.warn("No namespace has been detected. Please specify KUBERNETES_NAMESPACE env var, or use a later kubernetes version (1.3 or later)"); } return properties; }
builder.withClientCertData((String) properties.get(KUBERNETES_CLIENT_CERTIFICATE_DATA_SYSTEM_PROPERTY));
configBuilder.withClientCertData(this.clientCertData);
static NamespacedKubernetesClient getKubernetesClient(Config rootConfig, String id, Container gke, KubernetesClientFactory clientFactory) { try { final Config config = rootConfig .getConfig(GKE_CLUSTER_PATH) .getConfig(id); final Cluster cluster = gke.projects().locations().clusters() .get(String.format("projects/%s/locations/%s/clusters/%s", config.getString(GKE_CLUSTER_PROJECT_ID), config.getString(GKE_CLUSTER_ZONE), config.getString(GKE_CLUSTER_ID))).execute(); final io.fabric8.kubernetes.client.Config kubeConfig = new ConfigBuilder() .withMasterUrl("https://" + cluster.getEndpoint()) .withCaCertData(cluster.getMasterAuth().getClusterCaCertificate()) .withClientCertData(cluster.getMasterAuth().getClientCertificate()) .withClientKeyData(cluster.getMasterAuth().getClientKey()) .withNamespace(config.getString(GKE_CLUSTER_NAMESPACE)) .withRequestTimeout(get(rootConfig, rootConfig::getInt, KUBERNETES_REQUEST_TIMEOUT) .orElse(DEFAULT_KUBERNETES_REQUEST_TIMEOUT_MILLIS)) .build(); final OkHttpClient httpClient = HttpClientUtils.createHttpClient(kubeConfig).newBuilder() .protocols(Collections.singletonList(Protocol.HTTP_1_1)) .build(); return clientFactory.apply(httpClient, kubeConfig); } catch (IOException e) { throw Throwables.propagate(e); } }
.withCaCertData("cacertdata") .withClientCertFile("/path/to/clientcert") .withClientCertData("clientcertdata") .withClientKeyFile("/path/to/clientkey") .withClientKeyData("clientkeydata")
public KubernetesClientWrapper(String server, String certificateAuthorityData, String clientCertificateData, String clientKeyData) { Config config = new ConfigBuilder() .withMasterUrl(server) .withCaCertData(certificateAuthorityData) .withClientCertData(clientCertificateData) .withClientKeyData(clientKeyData) .withWebsocketPingInterval(0) .build(); client = new DefaultKubernetesClient(config); }
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias); Key key = keyStore.getKey(alias, Secret.toString(certificateCredentials.getPassword()).toCharArray()); builder.withClientCertData(Base64.encodeBase64String(certificate.getEncoded())) .withClientKeyData(pemEncodeKey(key)) .withClientKeyPassphrase(Secret.toString(certificateCredentials.getPassword()));
configBuilder.withClientCertData(auth.getClientCertificateData()); configBuilder.withClientKeyFile(getRelativeFile(auth.getClientKey(), configFolder)); configBuilder.withClientKeyData(auth.getClientKeyData()); KubernetesCerts certs = new KubernetesCerts(conf); if (certs.caCertData.isPresent()) configBuilder.withCaCertData(toBase64Encoding(certs.caCertData.get())); if (certs.clientCertData.isPresent()) configBuilder.withClientCertData(toBase64Encoding(certs.clientCertData.get())); if (certs.clientKeyData.isPresent()) configBuilder.withClientKeyData(toBase64Encoding(certs.clientKeyData.get())); if (certs.clientKeyAlgo.isPresent()) configBuilder.withClientKeyAlgo(certs.clientKeyAlgo.get());
builder.withClientCertData(configuration.getClientCertData());
builder.withClientCertData(configuration.getClientCertData());
static Config buildK8sConfig(TillerConfig config) { if (config == null) { return null; } return new ConfigBuilder() .withMasterUrl(config.getK8sApiUrl()) .withTrustCerts(config.getK8sTrustCertificateAuthority()) .withCaCertData(config.getK8sCertificateAuthority()) .withClientCertData(config.getK8sClientCertificate()) .withClientKeyData(config.getK8sClientKey()) .withClientKeyPassphrase(config.getK8sClientKeyPassphrase()) .build(); }
@Bean @ConditionalOnMissingBean(Config.class) public Config kubernetesClientConfig() { Config base = new Config(); Config properites = new ConfigBuilder(base) //Only set values that have been explicitly specified .withMasterUrl(or(properties.getMasterUrl(), base.getMasterUrl())) .withMasterUrl(or(properties.getApiVersion(), base.getApiVersion())) .withMasterUrl(or(properties.getApiVersion(), base.getMasterUrl())) .withUsername(or(properties.getUsername(), base.getUsername())) .withPassword(or(properties.getPassword(), base.getPassword())) .withCaCertFile(or(properties.getCaCertFile(), base.getCaCertFile())) .withCaCertData(or(properties.getCaCertData(), base.getCaCertData())) .withClientKeyFile(or(properties.getClientKeyFile(), base.getClientKeyFile())) .withClientKeyData(or(properties.getClientKeyData(), base.getClientKeyData())) .withClientCertFile(or(properties.getClientCertFile(), base.getClientCertFile())) .withClientCertData(or(properties.getClientCertData(), base.getClientCertData())) //No magic is done for the properties below so we leave them as is. .withClientKeyAlgo(or(properties.getClientKeyAlgo(), base.getClientKeyAlgo())) .withClientKeyPassphrase(or(properties.getClientKeyPassphrase(), base.getClientKeyPassphrase())) .withConnectionTimeout(or(properties.getConnectionTimeout(), base.getConnectionTimeout())) .withRequestTimeout(or(properties.getRequestTimeout(), base.getRequestTimeout())) .withRollingTimeout(or(properties.getRollingTimeout(), base.getRollingTimeout())) .withTrustCerts(or(properties.isTrustCerts(), base.isTrustCerts())) .build(); if (!base.equals(properites)) { System.out.println("Objects different"); } return properites; }
@Bean @ConditionalOnMissingBean(Config.class) public Config kubernetesClientConfig(KubernetesClientProperties kubernetesClientProperties) { Config base = new Config(); Config properties = new ConfigBuilder(base) //Only set values that have been explicitly specified .withMasterUrl(or(kubernetesClientProperties.getMasterUrl(), base.getMasterUrl())) .withApiVersion(or(kubernetesClientProperties.getApiVersion(), base.getApiVersion())) .withNamespace(or(kubernetesClientProperties.getNamespace(), base.getNamespace())) .withUsername(or(kubernetesClientProperties.getUsername(), base.getUsername())) .withPassword(or(kubernetesClientProperties.getPassword(), base.getPassword())) .withCaCertFile(or(kubernetesClientProperties.getCaCertFile(), base.getCaCertFile())) .withCaCertData(or(kubernetesClientProperties.getCaCertData(), base.getCaCertData())) .withClientKeyFile(or(kubernetesClientProperties.getClientKeyFile(), base.getClientKeyFile())) .withClientKeyData(or(kubernetesClientProperties.getClientKeyData(), base.getClientKeyData())) .withClientCertFile(or(kubernetesClientProperties.getClientCertFile(), base.getClientCertFile())) .withClientCertData(or(kubernetesClientProperties.getClientCertData(), base.getClientCertData())) //No magic is done for the properties below so we leave them as is. .withClientKeyAlgo(or(kubernetesClientProperties.getClientKeyAlgo(), base.getClientKeyAlgo())) .withClientKeyPassphrase(or(kubernetesClientProperties.getClientKeyPassphrase(), base.getClientKeyPassphrase())) .withConnectionTimeout(or(kubernetesClientProperties.getConnectionTimeout(), base.getConnectionTimeout())) .withRequestTimeout(or(kubernetesClientProperties.getRequestTimeout(), base.getRequestTimeout())) .withRollingTimeout(or(kubernetesClientProperties.getRollingTimeout(), base.getRollingTimeout())) .withTrustCerts(or(kubernetesClientProperties.isTrustCerts(), base.isTrustCerts())) .build(); if (properties.getNamespace() == null || properties.getNamespace().isEmpty()) { LOG.warn("No namespace has been detected. Please specify KUBERNETES_NAMESPACE env var, or use a later kubernetes version (1.3 or later)"); } return properties; }
.withClientCertData(or(kubernetesClientProperties.getClientCertData(), base.getClientCertData()))