backup: scope Soteria permissions to Longhorn mode
This commit is contained in:
parent
b119076cca
commit
4659653692
@ -6,6 +6,7 @@ resources:
|
|||||||
- metis-configmap.yaml
|
- metis-configmap.yaml
|
||||||
- metis-data-pvc.yaml
|
- metis-data-pvc.yaml
|
||||||
- soteria-configmap.yaml
|
- soteria-configmap.yaml
|
||||||
|
- soteria-state-secrets.yaml
|
||||||
- ariadne-serviceaccount.yaml
|
- ariadne-serviceaccount.yaml
|
||||||
- soteria-serviceaccount.yaml
|
- soteria-serviceaccount.yaml
|
||||||
- ariadne-rbac.yaml
|
- ariadne-rbac.yaml
|
||||||
|
|||||||
@ -13,12 +13,9 @@ rules:
|
|||||||
- apiGroups: [""]
|
- apiGroups: [""]
|
||||||
resources: ["pods/log"]
|
resources: ["pods/log"]
|
||||||
verbs: ["get"]
|
verbs: ["get"]
|
||||||
- apiGroups: [""]
|
|
||||||
resources: ["secrets"]
|
|
||||||
verbs: ["get", "list", "create", "update", "delete"]
|
|
||||||
- apiGroups: ["batch"]
|
- apiGroups: ["batch"]
|
||||||
resources: ["jobs"]
|
resources: ["jobs"]
|
||||||
verbs: ["get", "list", "create", "delete"]
|
verbs: ["get", "list"]
|
||||||
- apiGroups: ["longhorn.io"]
|
- apiGroups: ["longhorn.io"]
|
||||||
resources: ["backups"]
|
resources: ["backups"]
|
||||||
verbs: ["get", "list"]
|
verbs: ["get", "list"]
|
||||||
@ -35,3 +32,33 @@ subjects:
|
|||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: soteria
|
name: soteria
|
||||||
namespace: maintenance
|
namespace: maintenance
|
||||||
|
---
|
||||||
|
# Longhorn mode needs only the existing policy/usage records and B2 credential.
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: Role
|
||||||
|
metadata:
|
||||||
|
name: soteria-state
|
||||||
|
namespace: maintenance
|
||||||
|
rules:
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["secrets"]
|
||||||
|
resourceNames: ["soteria-policies", "soteria-backup-usage"]
|
||||||
|
verbs: ["get", "update"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["secrets"]
|
||||||
|
resourceNames: ["soteria-restic"]
|
||||||
|
verbs: ["get"]
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: soteria-state
|
||||||
|
namespace: maintenance
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: soteria-state
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: soteria
|
||||||
|
namespace: maintenance
|
||||||
|
|||||||
19
services/maintenance/apps/soteria-state-secrets.yaml
Normal file
19
services/maintenance/apps/soteria-state-secrets.yaml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# services/maintenance/apps/soteria-state-secrets.yaml
|
||||||
|
# No data field: Soteria owns these values; Flux only provisions missing records.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: soteria-policies
|
||||||
|
namespace: maintenance
|
||||||
|
annotations:
|
||||||
|
kustomize.toolkit.fluxcd.io/prune: disabled
|
||||||
|
type: Opaque
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: soteria-backup-usage
|
||||||
|
namespace: maintenance
|
||||||
|
annotations:
|
||||||
|
kustomize.toolkit.fluxcd.io/prune: disabled
|
||||||
|
type: Opaque
|
||||||
Loading…
x
Reference in New Issue
Block a user