# Copyright 2022 DigitalOcean # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # snapshotter controller # source: # Source: https://github.com/kubernetes-csi/external-snapshotter # kind: StatefulSet apiVersion: apps/v1 metadata: name: snapshot-controller namespace: kube-system spec: serviceName: "snapshot-controller" replicas: 1 selector: matchLabels: app: snapshot-controller template: metadata: labels: app: snapshot-controller spec: serviceAccountName: snapshot-controller containers: - name: snapshot-controller image: registry.k8s.io/sig-storage/snapshot-controller:v6.1.0 args: - "--v=5" imagePullPolicy: IfNotPresent --- apiVersion: v1 kind: ServiceAccount metadata: name: snapshot-controller namespace: kube-system --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: snapshot-controller-role rules: - apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["persistentvolumeclaims"] verbs: ["get", "list", "watch", "update"] - apiGroups: [""] resources: ["events"] verbs: ["list", "watch", "create", "update", "patch"] - apiGroups: ["snapshot.storage.k8s.io"] resources: ["volumesnapshotclasses"] verbs: ["get", "list", "watch"] - apiGroups: ["snapshot.storage.k8s.io"] resources: ["volumesnapshotcontents"] verbs: ["create", "get", "list", "watch", "update", "delete", "patch"] - apiGroups: ["snapshot.storage.k8s.io"] resources: ["volumesnapshotcontents/status"] verbs: ["patch"] - apiGroups: ["snapshot.storage.k8s.io"] resources: ["volumesnapshots"] verbs: ["get", "list", "watch", "update", "patch"] - apiGroups: ["snapshot.storage.k8s.io"] resources: ["volumesnapshots/status"] verbs: ["update", "patch"] --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: snapshot-controller-binding subjects: - kind: ServiceAccount name: snapshot-controller namespace: kube-system roleRef: kind: ClusterRole name: snapshot-controller-role apiGroup: rbac.authorization.k8s.io