fixed typos
This commit is contained in:
parent
4497e7fb68
commit
a6a1e88544
7 changed files with 34 additions and 34 deletions
10
README.md
10
README.md
|
|
@ -1,6 +1,6 @@
|
||||||
# webhook-interseptor
|
# webhook-interceptor
|
||||||
|
|
||||||
The Webhook Interseptor checks for specific conditions when a webhook is received.
|
The Webhook Interceptor checks for specific conditions when a webhook is received.
|
||||||
|
|
||||||
This way we can trigger cleanups when the PR is closed.
|
This way we can trigger cleanups when the PR is closed.
|
||||||
|
|
||||||
|
|
@ -9,13 +9,13 @@ This way we can trigger cleanups when the PR is closed.
|
||||||
## Push Event
|
## Push Event
|
||||||
|
|
||||||
```
|
```
|
||||||
X-Interseptor-Ref: refs/heads/master
|
X-Interceptor-Ref: refs/heads/master
|
||||||
```
|
```
|
||||||
|
|
||||||
## Pull-Request Event
|
## Pull-Request Event
|
||||||
|
|
||||||
```
|
```
|
||||||
X-Interseptor-Action: [create|delete]
|
X-Interceptor-Action: [create|delete]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Issue Comment Event
|
## Issue Comment Event
|
||||||
|
|
@ -23,7 +23,7 @@ X-Interseptor-Action: [create|delete]
|
||||||
**TBD**
|
**TBD**
|
||||||
|
|
||||||
```
|
```
|
||||||
X-Interseptor-Comment: /test
|
X-Interceptor-Comment: /test
|
||||||
```
|
```
|
||||||
|
|
||||||
# Build and run
|
# Build and run
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
apiVersion: policy/v1beta1
|
apiVersion: policy/v1beta1
|
||||||
kind: PodSecurityPolicy
|
kind: PodSecurityPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
spec:
|
spec:
|
||||||
privileged: false
|
privileged: false
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,32 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ServiceAccount
|
kind: ServiceAccount
|
||||||
metadata:
|
metadata:
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
namespace: webhook-interseptor
|
namespace: webhook-interceptor
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
namespace: webhook-interseptor
|
namespace: webhook-interceptor
|
||||||
rules:
|
rules:
|
||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["secrets"]
|
resources: ["secrets"]
|
||||||
verbs: ["get"]
|
verbs: ["get"]
|
||||||
- apiGroups: ["policy"]
|
- apiGroups: ["policy"]
|
||||||
resources: ["podsecuritypolicies"]
|
resources: ["podsecuritypolicies"]
|
||||||
resourceNames: ["webhook-interseptor"]
|
resourceNames: ["webhook-interceptor"]
|
||||||
verbs: ["use"]
|
verbs: ["use"]
|
||||||
---
|
---
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
namespace: webhook-interseptor
|
namespace: webhook-interceptor
|
||||||
roleRef:
|
roleRef:
|
||||||
apiGroup: rbac.authorization.k8s.io
|
apiGroup: rbac.authorization.k8s.io
|
||||||
kind: Role
|
kind: Role
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,24 @@
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
namespace: webhook-interseptor
|
namespace: webhook-interceptor
|
||||||
labels:
|
labels:
|
||||||
app: webhook-interseptor
|
app: webhook-interceptor
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: webhook-interseptor
|
app: webhook-interceptor
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: webhook-interseptor
|
app: webhook-interceptor
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: webhook-interseptor
|
serviceAccountName: webhook-interceptor
|
||||||
containers:
|
containers:
|
||||||
- name: webhook-interseptor
|
- name: webhook-interceptor
|
||||||
image: git.giftfish.de/ston1th/webhook-interseptor
|
image: git.giftfish.de/ston1th/webhook-interceptor
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: webhook-interseptor
|
name: webhook-interceptor
|
||||||
namespace: webhook-interseptor
|
namespace: webhook-interceptor
|
||||||
labels:
|
labels:
|
||||||
app: webhook-interseptor
|
app: webhook-interceptor
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
ports:
|
ports:
|
||||||
|
|
@ -12,4 +12,4 @@ spec:
|
||||||
port: 80
|
port: 80
|
||||||
targetPort: 8080
|
targetPort: 8080
|
||||||
selector:
|
selector:
|
||||||
app: webhook-interseptor
|
app: webhook-interceptor
|
||||||
|
|
|
||||||
12
main.go
12
main.go
|
|
@ -1,11 +1,11 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"encoding/json"
|
|
||||||
"time"
|
"time"
|
||||||
"io/ioutil"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var version string
|
var version string
|
||||||
|
|
@ -31,12 +31,12 @@ func prHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
switch pr.Action {
|
switch pr.Action {
|
||||||
case "opened", "reopened", "synchronize":
|
case "opened", "reopened", "synchronize":
|
||||||
if r.Header.Get("X-Interseptor-Action") == "create" {
|
if r.Header.Get("X-Interceptor-Action") == "create" {
|
||||||
w.Write(body)
|
w.Write(body)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case "closed":
|
case "closed":
|
||||||
if r.Header.Get("X-Interseptor-Action") == "delete" {
|
if r.Header.Get("X-Interceptor-Action") == "delete" {
|
||||||
w.Write(body)
|
w.Write(body)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -63,7 +63,7 @@ func pushHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if r.Header.Get("X-Interseptor-Ref") == p.Ref {
|
if r.Header.Get("X-Interceptor-Ref") == p.Ref {
|
||||||
w.Write(body)
|
w.Write(body)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -93,7 +93,7 @@ func commentHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if r.Header.Get("X-Interseptor-Comment") == c.Comment.Body {
|
if r.Header.Get("X-Interceptor-Comment") == c.Comment.Body {
|
||||||
w.Write(body)
|
w.Write(body)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue