Browse Source

k8s deployment + doc

main v0.0.2
Nicolas Massé 4 years ago
parent
commit
3a589779bd
  1. 39
      README.md
  2. 106
      k8s.yaml

39
README.md

@ -10,3 +10,42 @@ This code borrows from:
- https://github.com/tektoncd/triggers/blob/v0.17.1/pkg/interceptors/server/server.go
- https://github.com/tektoncd/triggers/blob/v0.17.1/pkg/interceptors/github/github.go
## Installation
```sh
kubectl apply -f k8s.yaml
```
## Usage
```yaml
apiVersion: v1
kind: Secret
metadata:
name: webhook-secret
type: Opaque
stringData:
# openssl rand -base64 24
sharedSecret: AZERTYUIOPazertyuiop01234567890=
---
apiVersion: triggers.tekton.dev/v1beta1
kind: Trigger
metadata:
name: trigger
spec:
interceptors:
- name: gitea
ref:
name: gitea
kind: ClusterInterceptor
apiVersion: triggers.tekton.dev
params:
- name: secretRef
value:
secretName: webhook-secret
secretKey: sharedSecret
- name: eventTypes
value: ["push"]
[...]
```

106
k8s.yaml

@ -0,0 +1,106 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: gitea-interceptor
app.kubernetes.io/name: gitea-interceptor
name: gitea-interceptor
namespace: tekton-pipelines
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/name: gitea-interceptor
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: gitea-interceptor
app.kubernetes.io/name: gitea-interceptor
spec:
containers:
- command:
- /giteainterceptor
args:
- '-logtostderr'
- '-stderrthreshold'
- INFO
env:
- name: SYSTEM_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: CONFIG_LOGGING_NAME
value: config-logging-triggers
- name: CONFIG_OBSERVABILITY_NAME
value: config-observability-triggers
- name: METRICS_DOMAIN
value: tekton.dev/triggers
image: quay.io/itix/gitea-tekton-interceptor:latest
imagePullPolicy: IfNotPresent
name: tekton-triggers-gitea-interceptor
readinessProbe:
failureThreshold: 3
httpGet:
path: /ready
port: 8080
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources: {}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- all
runAsGroup: 65532
runAsUser: 65532
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: tekton-triggers-core-interceptors
serviceAccountName: tekton-triggers-core-interceptors
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
labels:
app: gitea-interceptor
app.kubernetes.io/name: gitea-interceptor
name: gitea-interceptor
namespace: tekton-pipelines
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app.kubernetes.io/name: gitea-interceptor
sessionAffinity: None
type: ClusterIP
---
apiVersion: triggers.tekton.dev/v1alpha1
kind: ClusterInterceptor
metadata:
name: gitea
spec:
clientConfig:
service:
name: gitea-interceptor
namespace: tekton-pipelines
Loading…
Cancel
Save