# This YAML file shows how to deploy the snapshot controller

# The snapshot controller implements the control loop for CSI snapshot functionality.
# It should be installed as part of the base Kubernetes distribution in an appropriate
# namespace for components implementing base system functionality. For installing with
# Vanilla Kubernetes, kube-system makes sense for the namespace.

---
kind: StatefulSet
apiVersion: apps/v1
metadata:
  name: snapshot-controller
  namespace: default # TODO: replace with the namespace you want for your controller, e.g. kube-system
spec:
  serviceName: "snapshot-controller"
  replicas: 1
  selector:
    matchLabels:
      app: snapshot-controller
  template:
    metadata:
      labels:
        app: snapshot-controller
    spec:
      serviceAccount: snapshot-controller
      containers:
        - name: snapshot-controller
          image: k8s.gcr.io/sig-storage/snapshot-controller:v4.0.0
          args:
            - "--v=5"
            - "--leader-election=false"
          imagePullPolicy: IfNotPresent
