Files
oam/examples/kubernetes/create an admission webhook/resources.yaml

90 lines
1.7 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: webhook
namespace: test
labels:
app: webhook
spec:
selector:
matchLabels:
app: webhook
template:
metadata:
namespace: test
labels:
app: webhook
spec:
containers:
- name: webhook
image: webhook
imagePullPolicy: Never # only needed locally
ports:
- containerPort: 8443
volumeMounts:
- mountPath: /cert
name: cert
volumes:
- name: cert
secret:
secretName: webhook
---
apiVersion: v1
kind: Service
metadata:
name: webhook
namespace: test
spec:
selector:
app: webhook
ports:
- protocol: TCP
port: 443
targetPort: 8443
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
name: webhook-validate
namespace: test
webhooks:
- name: test.example.com
failurePolicy: Fail
clientConfig:
service:
name: webhook
namespace: test
path: /validate
rules:
- apiGroups: [""]
resources:
- "pods"
apiVersions:
- "*"
operations:
- CREATE
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: MutatingWebhookConfiguration
metadata:
name: webhook-mutate
namespace: test
labels:
component: mutating-controller
webhooks:
- name: test.example.com
failurePolicy: Fail
clientConfig:
service:
name: webhook
namespace: test
path: /mutate
rules:
- apiGroups: [""]
resources:
- "pods"
apiVersions:
- "*"
operations:
- CREATE