Skip to content

Commit 237da69

Browse files
committed
Add a Config object that knows how to create ApiClients
1 parent 1db144d commit 237da69

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

  • kubernetes/src/main/java/io/kubernetes/client/util
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package io.kubernetes.client.util;
2+
3+
import io.kubernetes.client.ApiClient;
4+
5+
import java.io.BufferedReader;
6+
import java.io.FileReader;
7+
import java.io.FileInputStream;
8+
import java.io.IOException;
9+
10+
public class Config {
11+
private static final String SERVICEACCOUNT_ROOT =
12+
"/var/run/secrets/kubernetes.io/serviceaccount";
13+
private static final String SERVICEACCOUNT_CA_PATH =
14+
SERVICEACCOUNT_ROOT + "/ca.crt";
15+
private static final String SERVICEACCOUNT_TOKEN_PATH =
16+
SERVICEACCOUNT_ROOT + "/token";
17+
18+
public static ApiClient fromCluster() throws IOException {
19+
String host = System.getenv("KUBERNETES_SERVICE_HOST");
20+
String port = System.getenv("KUBERNETES_SERVICE_PORT");
21+
22+
FileInputStream caCert = new FileInputStream(SERVICEACCOUNT_CA_PATH);
23+
BufferedReader tokenReader = new BufferedReader(new FileReader(SERVICEACCOUNT_TOKEN_PATH));
24+
StringBuilder builder = new StringBuilder();
25+
for (String line = tokenReader.readLine(); line != null; line = tokenReader.readLine()) {
26+
builder.append(line);
27+
}
28+
ApiClient result = new ApiClient();
29+
result.setBasePath("https://" + host + ":" + port);
30+
result.setSslCaCert(caCert);
31+
result.setAccessToken(builder.toString());
32+
33+
return result;
34+
}
35+
}

0 commit comments

Comments
 (0)