Skip to content

Commit 1ace012

Browse files
committed
Update examples.
1 parent 393a6a3 commit 1ace012

File tree

77 files changed

+5699
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+5699
-7
lines changed

examples/examples-release-13/pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,27 @@
3535
<dependency>
3636
<groupId>io.kubernetes</groupId>
3737
<artifactId>client-java-api</artifactId>
38-
<version>${project.version}</version>
38+
<version>13.0.1</version>
3939
</dependency>
4040
<dependency>
4141
<groupId>io.kubernetes</groupId>
4242
<artifactId>client-java</artifactId>
43-
<version>${project.version}</version>
43+
<version>13.0.1</version>
4444
</dependency>
4545
<dependency>
4646
<groupId>io.kubernetes</groupId>
4747
<artifactId>client-java-extended</artifactId>
48-
<version>${project.version}</version>
48+
<version>13.0.1</version>
4949
</dependency>
5050
<dependency>
5151
<groupId>io.kubernetes</groupId>
5252
<artifactId>client-java-spring-integration</artifactId>
53-
<version>${project.version}</version>
53+
<version>13.0.1</version>
5454
</dependency>
5555
<dependency>
5656
<groupId>io.kubernetes</groupId>
5757
<artifactId>client-java-proto</artifactId>
58-
<version>${project.version}</version>
58+
<version>13.0.1</version>
5959
</dependency>
6060
<dependency>
6161
<groupId>commons-cli</groupId>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM openjdk:8-jre
2+
3+
COPY target/client-java-examples-*-SNAPSHOT-jar-with-dependencies.jar /examples.jar
4+
5+
CMD ["java", "-jar", "/examples.jar"]
6+
7+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Running examples
2+
3+
```sh
4+
export REPO_ROOT=/path/to/client-java/repo
5+
6+
cd ${REPO_ROOT}/
7+
mvn install
8+
9+
cd ${REPO_ROOT}/examples/examples-13
10+
mvn compile
11+
mvn exec:java -Dexec.mainClass="io.kubernetes.client.examples.Example"
12+
```
13+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
3+
# creates a pod and runs
4+
# Example.java(list pods for all namespaces) on starting of pod
5+
6+
# Exit on any error.
7+
set -e
8+
9+
if ! which minikube > /dev/null; then
10+
echo "This script requires minikube installed."
11+
exit 100
12+
fi
13+
14+
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
15+
16+
export REPO_ROOT=${dir}/..
17+
18+
cd ${REPO_ROOT}
19+
mvn install
20+
21+
cd ${REPO_ROOT}/examples
22+
mvn package
23+
24+
eval $(minikube docker-env)
25+
docker build -t test/examples:1.0 .
26+
kubectl apply -f test.yaml

examples/examples-release-14/pom.xml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<modelVersion>4.0.0</modelVersion>
3+
4+
<parent>
5+
<groupId>io.kubernetes</groupId>
6+
<artifactId>client-java-examples-parent</artifactId>
7+
<version>14.0.1-SNAPSHOT</version>
8+
<relativePath>..</relativePath>
9+
</parent>
10+
11+
<artifactId>client-java-examples-release-14</artifactId>
12+
<name>client-java-examples-release-14</name>
13+
14+
<properties>
15+
<kubernetes.prometheus.version>14.0.1-SNAPSHOT</kubernetes.prometheus.version>
16+
<kubernetes.cert-manager.version>14.0.1-SNAPSHOT</kubernetes.cert-manager.version>
17+
</properties>
18+
19+
<dependencies>
20+
<dependency>
21+
<groupId>ch.qos.logback</groupId>
22+
<artifactId>logback-classic</artifactId>
23+
<scope>runtime</scope>
24+
</dependency>
25+
<dependency>
26+
<groupId>io.prometheus</groupId>
27+
<artifactId>simpleclient</artifactId>
28+
<version>0.12.0</version>
29+
</dependency>
30+
<dependency>
31+
<groupId>io.prometheus</groupId>
32+
<artifactId>simpleclient_httpserver</artifactId>
33+
<version>0.12.0</version>
34+
</dependency>
35+
<dependency>
36+
<groupId>io.kubernetes</groupId>
37+
<artifactId>client-java-api</artifactId>
38+
<version>14.0.0</version>
39+
</dependency>
40+
<dependency>
41+
<groupId>io.kubernetes</groupId>
42+
<artifactId>client-java</artifactId>
43+
<version>14.0.0</version>
44+
</dependency>
45+
<dependency>
46+
<groupId>io.kubernetes</groupId>
47+
<artifactId>client-java-extended</artifactId>
48+
<version>14.0.0</version>
49+
</dependency>
50+
<dependency>
51+
<groupId>io.kubernetes</groupId>
52+
<artifactId>client-java-spring-integration</artifactId>
53+
<version>14.0.0</version>
54+
</dependency>
55+
<dependency>
56+
<groupId>io.kubernetes</groupId>
57+
<artifactId>client-java-proto</artifactId>
58+
<version>14.0.0</version>
59+
</dependency>
60+
<dependency>
61+
<groupId>commons-cli</groupId>
62+
<artifactId>commons-cli</artifactId>
63+
</dependency>
64+
<dependency>
65+
<groupId>io.kubernetes</groupId>
66+
<artifactId>client-java-cert-manager-models</artifactId>
67+
<version>${kubernetes.cert-manager.version}</version>
68+
</dependency>
69+
<dependency>
70+
<groupId>io.kubernetes</groupId>
71+
<artifactId>client-java-prometheus-operator-models</artifactId>
72+
<version>${kubernetes.prometheus.version}</version>
73+
</dependency>
74+
<!-- test dependencies -->
75+
<dependency>
76+
<groupId>junit</groupId>
77+
<artifactId>junit</artifactId>
78+
<scope>test</scope>
79+
</dependency>
80+
<dependency>
81+
<groupId>com.github.tomakehurst</groupId>
82+
<artifactId>wiremock</artifactId>
83+
<scope>test</scope>
84+
</dependency>
85+
<!--for spring controller example-->
86+
<dependency>
87+
<groupId>org.springframework.boot</groupId>
88+
<artifactId>spring-boot-starter-web</artifactId>
89+
<version>${spring.boot.version}</version>
90+
</dependency>
91+
<dependency>
92+
<groupId>org.springframework.boot</groupId>
93+
<artifactId>spring-boot-starter-actuator</artifactId>
94+
<version>${spring.boot.version}</version>
95+
</dependency>
96+
97+
</dependencies>
98+
99+
100+
</project>
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
/*
2+
Copyright 2020 The Kubernetes Authors.
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
package io.kubernetes.client.examples;
14+
15+
import io.kubernetes.client.Attach;
16+
import io.kubernetes.client.openapi.ApiClient;
17+
import io.kubernetes.client.openapi.ApiException;
18+
import io.kubernetes.client.openapi.Configuration;
19+
import io.kubernetes.client.util.Config;
20+
import io.kubernetes.client.util.Streams;
21+
import java.io.BufferedReader;
22+
import java.io.IOException;
23+
import java.io.InputStreamReader;
24+
import java.io.OutputStream;
25+
26+
/**
27+
* A simple example of how to use the Java API
28+
*
29+
* <p>Easiest way to run this: mvn exec:java
30+
* -Dexec.mainClass="io.kubernetes.client.examples.AttachExample"
31+
*
32+
* <p>From inside $REPO_DIR/examples
33+
*/
34+
public class AttachExample {
35+
public static void main(String[] args) throws IOException, ApiException, InterruptedException {
36+
ApiClient client = Config.defaultClient();
37+
Configuration.setDefaultApiClient(client);
38+
39+
Attach attach = new Attach();
40+
final Attach.AttachResult result = attach.attach("default", "nginx-4217019353-k5sn9", true);
41+
42+
new Thread(
43+
new Runnable() {
44+
public void run() {
45+
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
46+
OutputStream output = result.getStandardInputStream();
47+
try {
48+
while (true) {
49+
String line = in.readLine();
50+
output.write(line.getBytes());
51+
output.write('\n');
52+
output.flush();
53+
}
54+
} catch (IOException ex) {
55+
ex.printStackTrace();
56+
}
57+
}
58+
})
59+
.start();
60+
61+
new Thread(
62+
new Runnable() {
63+
public void run() {
64+
try {
65+
Streams.copy(result.getStandardOutputStream(), System.out);
66+
} catch (IOException ex) {
67+
ex.printStackTrace();
68+
}
69+
}
70+
})
71+
.start();
72+
73+
Thread.sleep(10 * 1000);
74+
result.close();
75+
System.exit(0);
76+
}
77+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
Copyright 2020 The Kubernetes Authors.
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
*/
13+
package io.kubernetes.client.examples;
14+
15+
import io.cert.manager.models.V1alpha2IssuerSpecSelfSigned;
16+
import io.cert.manager.models.V1beta1Issuer;
17+
import io.cert.manager.models.V1beta1IssuerList;
18+
import io.cert.manager.models.V1beta1IssuerSpec;
19+
import io.kubernetes.client.openapi.models.V1ObjectMeta;
20+
import io.kubernetes.client.util.ClientBuilder;
21+
import io.kubernetes.client.util.generic.GenericKubernetesApi;
22+
import java.io.IOException;
23+
24+
/**
25+
* This sample creates a self signed issuer "self-signed-issuer" in default namespace on a
26+
* Kubernetes cluster where cert-manager is installed
27+
*/
28+
public class CertManagerExample {
29+
public static void main(String[] args) throws IOException {
30+
GenericKubernetesApi<V1beta1Issuer, V1beta1IssuerList> issuerApi =
31+
new GenericKubernetesApi<>(
32+
V1beta1Issuer.class,
33+
V1beta1IssuerList.class,
34+
"cert-manager.io",
35+
"v1beta1",
36+
"issuers",
37+
ClientBuilder.defaultClient());
38+
issuerApi.create(
39+
new V1beta1Issuer()
40+
.metadata(new V1ObjectMeta().namespace("default").name("self-signed-issuer"))
41+
.kind("Issuer")
42+
.apiVersion("cert-manager.io/v1beta1")
43+
.spec(new V1beta1IssuerSpec().selfSigned(new V1alpha2IssuerSpecSelfSigned())));
44+
}
45+
}

0 commit comments

Comments
 (0)