75 lines
1.9 KiB
Text
75 lines
1.9 KiB
Text
|
|
apiVersion: v1
|
||
|
|
kind: Service
|
||
|
|
metadata:
|
||
|
|
name: backup-manager
|
||
|
|
namespace: {{ namespace }}
|
||
|
|
labels:
|
||
|
|
app: backup-manager
|
||
|
|
app.kubernetes.io/name: backup-manager
|
||
|
|
spec:
|
||
|
|
type: ClusterIP
|
||
|
|
selector:
|
||
|
|
app: backup-manager
|
||
|
|
ports:
|
||
|
|
- name: api
|
||
|
|
port: {{ daemon_http_port }}
|
||
|
|
targetPort: api
|
||
|
|
protocol: TCP
|
||
|
|
- name: metrics
|
||
|
|
port: {{ daemon_metrics_port }}
|
||
|
|
targetPort: metrics
|
||
|
|
protocol: TCP
|
||
|
|
---
|
||
|
|
apiVersion: v1
|
||
|
|
kind: ServiceAccount
|
||
|
|
metadata:
|
||
|
|
name: backup-manager
|
||
|
|
namespace: {{ namespace }}
|
||
|
|
---
|
||
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
|
kind: ClusterRole
|
||
|
|
metadata:
|
||
|
|
name: backup-manager
|
||
|
|
rules:
|
||
|
|
# Read state of every workload to know what to back up.
|
||
|
|
- apiGroups: [""]
|
||
|
|
resources: ["pods", "services", "configmaps", "secrets", "persistentvolumeclaims", "namespaces", "events"]
|
||
|
|
verbs: ["get", "list", "watch"]
|
||
|
|
# Drive Longhorn VolumeSnapshot CRD for csi_consistent_group coordination.
|
||
|
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
||
|
|
resources: ["volumesnapshots", "volumesnapshotclasses", "volumesnapshotcontents"]
|
||
|
|
verbs: ["get", "list", "watch", "create", "delete"]
|
||
|
|
# Manage CronJobs for one-shot scheduling.
|
||
|
|
- apiGroups: ["batch"]
|
||
|
|
resources: ["cronjobs", "jobs"]
|
||
|
|
verbs: ["get", "list", "watch", "create", "patch", "update", "delete"]
|
||
|
|
# Pod exec for quiesce hooks.
|
||
|
|
- apiGroups: [""]
|
||
|
|
resources: ["pods/exec", "pods/log"]
|
||
|
|
verbs: ["create", "get"]
|
||
|
|
---
|
||
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
|
kind: ClusterRoleBinding
|
||
|
|
metadata:
|
||
|
|
name: backup-manager
|
||
|
|
roleRef:
|
||
|
|
apiGroup: rbac.authorization.k8s.io
|
||
|
|
kind: ClusterRole
|
||
|
|
name: backup-manager
|
||
|
|
subjects:
|
||
|
|
- kind: ServiceAccount
|
||
|
|
name: backup-manager
|
||
|
|
namespace: {{ namespace }}
|
||
|
|
---
|
||
|
|
apiVersion: v1
|
||
|
|
kind: PersistentVolumeClaim
|
||
|
|
metadata:
|
||
|
|
name: backup-manager-state
|
||
|
|
namespace: {{ namespace }}
|
||
|
|
spec:
|
||
|
|
accessModes: ["ReadWriteOnce"]
|
||
|
|
storageClassName: hcloud-volumes
|
||
|
|
resources:
|
||
|
|
requests:
|
||
|
|
storage: 5Gi
|