Files
my-rook-config/cluster/examples/kubernetes/nfs/webhook.yaml
T
Alexander Trost be16bc455f docs: operator use rbac.authorization.k8s.io/v1
This replaces any uses of `rbac.authorization.k8s.io/v1beta1` with
`rbac.authorization.k8s.io/v1` affecting RBAC objects like ClusterRole
and ClusterRoleBindings, etc. to make it consistent.
This is done as some RBAC objects used the `v1beta1` and others already
using `v1`.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-08-20 12:08:32 +02:00

128 lines
2.7 KiB
YAML

apiVersion: v1
kind: ServiceAccount
metadata:
name: rook-nfs-webhook
namespace: rook-nfs-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: rook-nfs-webhook
namespace: rook-nfs-system
rules:
- apiGroups: [""]
resources: ["secrets"]
resourceNames:
- 'rook-nfs-webhook-cert'
verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: rook-nfs-webhook
namespace: rook-nfs-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: rook-nfs-webhook
subjects:
- apiGroup: ""
kind: ServiceAccount
name: rook-nfs-webhook
namespace: rook-nfs-system
---
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: rook-nfs-webhook-cert
namespace: rook-nfs-system
spec:
dnsNames:
- rook-nfs-webhook.rook-nfs-system.svc
- rook-nfs-webhook.rook-nfs-system.svc.cluster.local
issuerRef:
kind: Issuer
name: rook-nfs-selfsigned-issuer
secretName: rook-nfs-webhook-cert
---
apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
name: rook-nfs-selfsigned-issuer
namespace: rook-nfs-system
spec:
selfSigned: {}
---
apiVersion: admissionregistration.k8s.io/v1beta1
kind: ValidatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: rook-nfs-system/rook-nfs-webhook-cert
creationTimestamp: null
name: rook-nfs-validating-webhook-configuration
webhooks:
- clientConfig:
caBundle: Cg==
service:
name: rook-nfs-webhook
namespace: rook-nfs-system
path: /validate-nfs-rook-io-v1alpha1-nfsserver
failurePolicy: Fail
name: validation.nfsserver.nfs.rook.io
rules:
- apiGroups:
- nfs.rook.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- nfsservers
---
kind: Service
apiVersion: v1
metadata:
name: rook-nfs-webhook
namespace: rook-nfs-system
spec:
selector:
app: rook-nfs-webhook
ports:
- port: 443
targetPort: webhook-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rook-nfs-webhook
namespace: rook-nfs-system
labels:
app: rook-nfs-webhook
spec:
replicas: 1
selector:
matchLabels:
app: rook-nfs-webhook
template:
metadata:
labels:
app: rook-nfs-webhook
spec:
containers:
- name: rook-nfs-webhook
image: rook/nfs:master
imagePullPolicy: IfNotPresent
args: ["nfs", "webhook"]
ports:
- containerPort: 9443
name: webhook-server
volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert
readOnly: true
volumes:
- name: cert
secret:
defaultMode: 420
secretName: rook-nfs-webhook-cert