Skip to content

Commit 3046f2c

Browse files
committed
temp
Signed-off-by: YuChen <[email protected]>
1 parent d74ea93 commit 3046f2c

File tree

3 files changed

+146
-0
lines changed

3 files changed

+146
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Service Account with necessary permissions
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: cs-db-backup-sa
6+
namespace: <cs-db namespace>
7+
---
8+
# ClusterRole with required permissions
9+
apiVersion: rbac.authorization.k8s.io/v1
10+
kind: ClusterRole
11+
metadata:
12+
name: cs-db-backup-role
13+
rules:
14+
- apiGroups: [""]
15+
resources: ["pods", "pods/exec", "configmaps", "jobs"]
16+
verbs: ["get", "list", "create", "delete", "patch", "update"]
17+
- apiGroups: ["batch"]
18+
resources: ["jobs"]
19+
verbs: ["get", "list", "create", "delete", "patch", "update"]
20+
- apiGroups: ["postgresql.k8s.enterprisedb.io"]
21+
resources: ["clusters"]
22+
verbs: ["get", "list"]
23+
- apiGroups: ["route.openshift.io"]
24+
resources: ["routes"]
25+
verbs: ["get", "list"]
26+
- apiGroups: ["config.openshift.io"]
27+
resources: ["ingresses"]
28+
verbs: ["get", "list"]
29+
---
30+
# ClusterRoleBinding
31+
apiVersion: rbac.authorization.k8s.io/v1
32+
kind: ClusterRoleBinding
33+
metadata:
34+
name: cs-db-backup-binding
35+
roleRef:
36+
apiGroup: rbac.authorization.k8s.io
37+
kind: ClusterRole
38+
name: cs-db-backup-role
39+
subjects:
40+
- kind: ServiceAccount
41+
name: cs-db-backup-sa
42+
namespace: <cs-db namespace>
43+
---
44+
# PVC for backup storage
45+
apiVersion: v1
46+
kind: PersistentVolumeClaim
47+
metadata:
48+
name: cs-db-backup-pvc
49+
namespace: <cs-db namespace>
50+
spec:
51+
accessModes:
52+
- ReadWriteOnce
53+
resources:
54+
requests:
55+
storage: 10Gi
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
apiVersion: batch/v1
2+
kind: Job
3+
metadata:
4+
name: test-cs-db-backup
5+
namespace: <cs-db namespace>
6+
spec:
7+
template:
8+
spec:
9+
serviceAccountName: cs-db-backup-sa # You'll need a service account with proper permissions
10+
containers:
11+
- name: cs-db-backup
12+
image: registry.redhat.io/ubi8/ubi:latest
13+
command: ["/bin/bash"]
14+
args: ["/scripts/br_cs-db.sh", "backup", "<cs-db namespace>"]
15+
volumeMounts:
16+
- name: script-volume
17+
mountPath: /scripts
18+
- name: backup-storage
19+
mountPath: /cs-db/cs-db-backup
20+
env:
21+
- name: HOME
22+
value: /tmp
23+
volumes:
24+
- name: script-volume
25+
configMap:
26+
name: cs-db-br-configmap
27+
defaultMode: 0755
28+
- name: backup-storage
29+
persistentVolumeClaim:
30+
claimName: cs-db-backup-pvc # You'll need a PVC for backup storage
31+
restartPolicy: Never
32+
backoffLimit: 3
33+
---
34+
apiVersion: batch/v1
35+
kind: Job
36+
metadata:
37+
name: test-cs-db-restore
38+
namespace: <cs-db namespace>
39+
spec:
40+
template:
41+
spec:
42+
serviceAccountName: cs-db-backup-sa
43+
containers:
44+
- name: cs-db-restore
45+
image: registry.redhat.io/ubi8/ubi:latest
46+
command: ["/bin/bash"]
47+
args: ["/scripts/br_cs-db.sh", "restore", "<cs-db namespace>"]
48+
volumeMounts:
49+
- name: script-volume
50+
mountPath: /scripts
51+
- name: backup-storage
52+
mountPath: /cs-db/cs-db-backup
53+
env:
54+
- name: HOME
55+
value: /tmp
56+
volumes:
57+
- name: script-volume
58+
configMap:
59+
name: cs-db-br-configmap
60+
defaultMode: 0755
61+
- name: backup-storage
62+
persistentVolumeClaim:
63+
claimName: cs-db-backup-pvc
64+
restartPolicy: Never
65+
backoffLimit: 3
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: test-idp-update
5+
namespace: <cs-db namespace>
6+
spec:
7+
serviceAccountName: cs-db-backup-sa
8+
containers:
9+
- name: idp-tester
10+
image: registry.redhat.io/ubi8/ubi:latest
11+
command: ["/bin/bash"]
12+
args: ["-c", "while true; do sleep 30; done"] # Keep pod running for manual testing
13+
volumeMounts:
14+
- name: script-volume
15+
mountPath: /scripts
16+
env:
17+
- name: HOME
18+
value: /tmp
19+
- name: CSDB_NAMESPACE
20+
value: "<cs-db namespace>"
21+
volumes:
22+
- name: script-volume
23+
configMap:
24+
name: cs-db-br-configmap
25+
defaultMode: 0755
26+
restartPolicy: Never

0 commit comments

Comments
 (0)