Skip to content

Commit 78830b3

Browse files
authored
fix: readme and namings (#45)
1 parent a219106 commit 78830b3

File tree

8 files changed

+70
-15
lines changed

8 files changed

+70
-15
lines changed

README.md

Lines changed: 62 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,61 @@
33
Framework and tooling to support
44
implementing [admission controllers](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/)
55
and [conversion hooks](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion)
6-
for Kubernetes in Java. Supports both **quarkus** and **spring boot**. Both Sync and Async programing model.
6+
for Kubernetes in Java. Supports both **quarkus** and **spring boot**. Both **sync** and **async** programing model.
77

88
## Sample Usage
99

1010
### Admission Controllers
1111

1212
Defining a mutation or validation controller is simple as:
1313

14-
https://github.com/java-operator-sdk/kubernetes-webhooks-framework/blob/0946595d941b789caef6a69b34c2e5be8c6b59cf/samples/quarkus/src/main/java/io/javaoperatorsdk/admissioncontroller/sample/quarkus/AdmissionControllerConfig.java#L31-L68
14+
```java
1515

16-
What can be then simple used in an endpoint:
16+
@Singleton
17+
@Named(MUTATING_CONTROLLER)
18+
public AdmissionController<Pod> mutatingController() {
19+
return new AdmissionController<>((resource, operation) -> {
20+
if (resource.getMetadata().getLabels() == null) {
21+
resource.getMetadata().setLabels(new HashMap<>());
22+
}
23+
resource.getMetadata().getLabels().putIfAbsent(APP_NAME_LABEL_KEY, "mutation-test");
24+
return resource;
25+
});
26+
}
27+
28+
@Singleton
29+
@Named(VALIDATING_CONTROLLER)
30+
public AdmissionController<Pod> validatingController() {
31+
return new AdmissionController<>((resource, operation) -> {
32+
if (resource.getMetadata().getLabels() == null
33+
|| resource.getMetadata().getLabels().get(APP_NAME_LABEL_KEY) == null) {
34+
throw new NotAllowedException("Missing label: " + APP_NAME_LABEL_KEY);
35+
}
36+
});
37+
}
38+
39+
```
40+
41+
What can be simply used in an endpoint:
42+
43+
```java
44+
@POST
45+
@Path(MUTATE_PATH)
46+
@Consumes(MediaType.APPLICATION_JSON)
47+
@Produces(MediaType.APPLICATION_JSON)
48+
public AdmissionReview mutate(AdmissionReview admissionReview) {
49+
return mutationController.handle(admissionReview);
50+
}
51+
52+
@POST
53+
@Path(VALIDATE_PATH)
54+
@Consumes(MediaType.APPLICATION_JSON)
55+
@Produces(MediaType.APPLICATION_JSON)
56+
public AdmissionReview validate(AdmissionReview admissionReview) {
57+
return validationController.handle(admissionReview);
58+
}
59+
```
1760

18-
https://github.com/java-operator-sdk/kubernetes-webhooks-framework/blob/0946595d941b789caef6a69b34c2e5be8c6b59cf/samples/quarkus/src/main/java/io/javaoperatorsdk/admissioncontroller/sample/quarkus/AdmissionEndpoint.java#L57-L89
1961

2062
See samples also for details.
2163

@@ -29,8 +71,22 @@ To create the controller
2971
register [mappers](https://github.com/java-operator-sdk/kubernetes-webhooks-framework/blob/main/core/src/main/java/io/javaoperatorsdk/webhook/conversion/Mapper.java)
3072
:
3173

32-
https://github.com/java-operator-sdk/kubernetes-webhooks-framework/blob/2a2bce54b49ea3398bef95a9102ee8645e11cf87/samples/quarkus/src/main/java/io/javaoperatorsdk/webhook/admission/sample/quarkus/conversion/ConversionControllerConfig.java#L15-L29
74+
```java
75+
@Singleton
76+
public ConversionController conversionController() {
77+
var controller = new ConversionController();
78+
controller.registerMapper(new V1Mapper());
79+
controller.registerMapper(new V2Mapper());
80+
return controller;
81+
}
82+
```
3383

3484
and use the controllers in the endpoint:
3585

36-
https://github.com/java-operator-sdk/kubernetes-webhooks-framework/blob/2a2bce54b49ea3398bef95a9102ee8645e11cf87/samples/spring-boot/src/main/java/io/javaoperatorsdk/webhook/sample/springboot/conversion/ConversionEndpoint.java#L29-L40
86+
```java
87+
@PostMapping(CONVERSION_PATH)
88+
@ResponseBody
89+
public ConversionReview convert(@RequestBody ConversionReview conversionReview) {
90+
return conversionController.handle(conversionReview);
91+
}
92+
```

core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</parent>
1111

1212
<artifactId>kubernetes-webhooks-framework-core</artifactId>
13-
<name>Admission Controller Framework - Core</name>
13+
<name>Kubernetes Webhooks Framework - Core</name>
1414
<packaging>jar</packaging>
1515

1616
<build>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<groupId>io.javaoperatorsdk</groupId>
77
<artifactId>kubernetes-webhooks-framework</artifactId>
88
<version>0.2.1-SNAPSHOT</version>
9-
<name>Kubernetes Webhooks Framework for Java</name>
9+
<name>Kubernetes Webhooks Framework</name>
1010
<description>Framework to Implement Admission Controllers and Conversion Hooks in Java</description>
1111
<packaging>pom</packaging>
1212
<url>https://github.com/java-operator-sdk/kubernetes-webhooks-framework</url>

samples/commons/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<groupId>io.javaoperatorsdk.admissioncontroller.sample</groupId>
1212
<artifactId>sample-commons</artifactId>
13-
<name>Admission Controller Framework - Samples - Commons</name>
13+
<name>Kubernetes Webhooks Framework - Samples - Commons</name>
1414

1515
<properties>
1616
<java.version>11</java.version>

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/AdmissionControllers.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ public static AdmissionController<Pod> mutatingController() {
2121
if (resource.getMetadata().getLabels() == null) {
2222
resource.getMetadata().setLabels(new HashMap<>());
2323
}
24-
2524
resource.getMetadata().getLabels().putIfAbsent(APP_NAME_LABEL_KEY, "mutation-test");
2625
return resource;
2726
});

samples/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</parent>
1010
<artifactId>kubernetes-webhooks-framework-samples</artifactId>
1111
<packaging>pom</packaging>
12-
<name>Admission Controller Framework - Samples</name>
12+
<name>Kubernetes Webhooks Framework - Samples</name>
1313
<modules>
1414
<module>commons</module>
1515
<module>spring-boot</module>

samples/quarkus/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
<artifactId>kubernetes-webhooks-framework-samples</artifactId>
88
<version>0.2.1-SNAPSHOT</version>
99
</parent>
10-
<groupId>io.javaoperatorsdk.admissioncontroller.sample</groupId>
10+
<groupId>io.javaoperatorsdk.webhook.sample</groupId>
1111
<artifactId>quarkus-sample</artifactId>
12-
<name>Admission Controller Framework - Samples - Quarkus</name>
12+
<name>Kubernetes Webhooks Framework - Samples - Quarkus</name>
1313
<properties>
1414
<compiler-plugin.version>3.8.1</compiler-plugin.version>
1515
<maven.compiler.release>11</maven.compiler.release>

samples/spring-boot/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
<version>0.2.1-SNAPSHOT</version>
99
</parent>
1010

11-
<groupId>io.javaoperatorsdk.admissioncontroller.sample</groupId>
11+
<groupId>io.javaoperatorsdk.webhook.sample</groupId>
1212
<artifactId>spring-boot-sample</artifactId>
1313
<version>0.2.1-SNAPSHOT</version>
14-
<name>Admission Controller Framework - Samples - Spring Boot</name>
14+
<name>Kubernetes Webhooks Framework - Samples - Spring Boot</name>
1515

1616
<properties>
1717
<java.version>11</java.version>

0 commit comments

Comments
 (0)