Skip to content

Commit 7b67f88

Browse files
authored
Merge pull request #121 from jkaninda/template
Template
2 parents 140ed60 + 043233d commit 7b67f88

File tree

8 files changed

+61
-264
lines changed

8 files changed

+61
-264
lines changed

docs/how-tos/backup-to-s3.md

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -82,53 +82,3 @@ networks:
8282
web:
8383
```
8484
85-
## Deploy on Kubernetes
86-
87-
For Kubernetes, you don't need to run it in scheduled mode. You can deploy it as CronJob.
88-
89-
### Simple Kubernetes CronJob usage:
90-
91-
```yaml
92-
apiVersion: batch/v1
93-
kind: CronJob
94-
metadata:
95-
name: bkup-job
96-
spec:
97-
schedule: "0 1 * * *"
98-
jobTemplate:
99-
spec:
100-
template:
101-
spec:
102-
containers:
103-
- name: mysql-bkup
104-
image: jkaninda/mysql-bkup
105-
command:
106-
- /bin/sh
107-
- -c
108-
- backup -s s3 --path /custom_path
109-
env:
110-
- name: DB_PORT
111-
value: "3306"
112-
- name: DB_HOST
113-
value: ""
114-
- name: DB_NAME
115-
value: ""
116-
- name: DB_USERNAME
117-
value: ""
118-
# Please use secret!
119-
- name: DB_PASSWORD
120-
value: ""
121-
- name: AWS_S3_ENDPOINT
122-
value: "https://s3.amazonaws.com"
123-
- name: AWS_S3_BUCKET_NAME
124-
value: "xxx"
125-
- name: AWS_REGION
126-
value: "us-west-2"
127-
- name: AWS_ACCESS_KEY
128-
value: "xxxx"
129-
- name: AWS_SECRET_KEY
130-
value: "xxxx"
131-
- name: AWS_DISABLE_SSL
132-
value: "false"
133-
restartPolicy: OnFailure
134-
```

docs/how-tos/backup-to-ssh.md

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -87,55 +87,3 @@ services:
8787
networks:
8888
web:
8989
```
90-
91-
## Deploy on Kubernetes
92-
93-
For Kubernetes, you don't need to run it in scheduled mode.
94-
You can deploy it as CronJob.
95-
96-
Simple Kubernetes CronJob usage:
97-
98-
```yaml
99-
apiVersion: batch/v1
100-
kind: CronJob
101-
metadata:
102-
name: bkup-job
103-
spec:
104-
schedule: "0 1 * * *"
105-
jobTemplate:
106-
spec:
107-
template:
108-
spec:
109-
containers:
110-
- name: mysql-bkup
111-
image: jkaninda/mysql-bkup
112-
command:
113-
- /bin/sh
114-
- -c
115-
- backup -s ssh
116-
env:
117-
- name: DB_PORT
118-
value: "3306"
119-
- name: DB_HOST
120-
value: ""
121-
- name: DB_NAME
122-
value: ""
123-
- name: DB_USERNAME
124-
value: ""
125-
# Please use secret!
126-
- name: DB_PASSWORD
127-
value: ""
128-
- name: SSH_HOST
129-
value: ""
130-
- name: SSH_PORT
131-
value: "22"
132-
- name: SSH_USER
133-
value: "xxx"
134-
- name: REMOTE_PATH
135-
value: "/home/jkaninda/backups"
136-
- name: AWS_ACCESS_KEY
137-
value: "xxxx"
138-
- name: SSH_IDENTIFY_FILE
139-
value: "/tmp/id_ed25519"
140-
restartPolicy: Never
141-
```

docs/how-tos/deploy-on-kubernetes.md

Lines changed: 59 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,9 @@ spec:
8181
# for a list of available releases.
8282
image: jkaninda/mysql-bkup
8383
command:
84-
- /bin/sh
85-
- -c
86-
- bkup
87-
- backup
88-
- --storage
89-
- ssh
90-
- --disable-compression
84+
- /bin/sh
85+
- -c
86+
- backup --storage ssh
9187
resources:
9288
limits:
9389
memory: "128Mi"
@@ -116,7 +112,7 @@ spec:
116112
value: "/home/toto/backup"
117113
# Optional, required if you want to encrypt your backup
118114
- name: GPG_PASSPHRASE
119-
value: "xxxx"
115+
value: "secure-passphrase"
120116
restartPolicy: Never
121117
```
122118
@@ -139,13 +135,9 @@ spec:
139135
# for a list of available releases.
140136
image: jkaninda/mysql-bkup
141137
command:
142-
- /bin/sh
143-
- -c
144-
- bkup
145-
- restore
146-
- --storage
147-
- ssh
148-
- --file store_20231219_022941.sql.gz
138+
- /bin/sh
139+
- -c
140+
- backup --storage ssh --file store_20231219_022941.sql.gz
149141
resources:
150142
limits:
151143
memory: "128Mi"
@@ -238,7 +230,6 @@ spec:
238230
239231
This image also supports Kubernetes security context, you can run it in Rootless environment.
240232
It has been tested on Openshift, it works well.
241-
Deployment on OpenShift is supported, you need to remove `securityContext` section on your yaml file.
242233
243234
```yaml
244235
apiVersion: batch/v1
@@ -301,3 +292,55 @@ spec:
301292
# value: "xxx"
302293
restartPolicy: OnFailure
303294
```
295+
296+
## Migrate database
297+
298+
```yaml
299+
apiVersion: batch/v1
300+
kind: Job
301+
metadata:
302+
name: migrate-db
303+
spec:
304+
ttlSecondsAfterFinished: 100
305+
template:
306+
spec:
307+
containers:
308+
- name: mysql-bkup
309+
# In production, it is advised to lock your image tag to a proper
310+
# release version instead of using `latest`.
311+
# Check https://github.com/jkaninda/mysql-bkup/releases
312+
# for a list of available releases.
313+
image: jkaninda/mysql-bkup
314+
command:
315+
- /bin/sh
316+
- -c
317+
- migrate
318+
resources:
319+
limits:
320+
memory: "128Mi"
321+
cpu: "500m"
322+
env:
323+
## Source Database
324+
- name: DB_HOST
325+
value: "mysql"
326+
- name: DB_PORT
327+
value: "3306"
328+
- name: DB_NAME
329+
value: "dbname"
330+
- name: DB_USERNAME
331+
value: "username"
332+
- name: DB_PASSWORD
333+
value: "password"
334+
## Target Database
335+
- name: TARGET_DB_HOST
336+
value: "target-mysql"
337+
- name: TARGET_DB_PORT
338+
value: "3306"
339+
- name: TARGET_DB_NAME
340+
value: "dbname"
341+
- name: TARGET_DB_USERNAME
342+
value: "username"
343+
- name: TARGET_DB_PASSWORD
344+
value: "password"
345+
restartPolicy: Never
346+
```

docs/how-tos/migrate.md

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -78,54 +78,3 @@ TARGET_DB_PASSWORD=password
7878
jkaninda/mysql-bkup migrate
7979
```
8080

81-
## Kubernetes
82-
83-
```yaml
84-
apiVersion: batch/v1
85-
kind: Job
86-
metadata:
87-
name: migrate-db
88-
spec:
89-
ttlSecondsAfterFinished: 100
90-
template:
91-
spec:
92-
containers:
93-
- name: mysql-bkup
94-
# In production, it is advised to lock your image tag to a proper
95-
# release version instead of using `latest`.
96-
# Check https://github.com/jkaninda/mysql-bkup/releases
97-
# for a list of available releases.
98-
image: jkaninda/mysql-bkup
99-
command:
100-
- /bin/sh
101-
- -c
102-
- migrate
103-
resources:
104-
limits:
105-
memory: "128Mi"
106-
cpu: "500m"
107-
env:
108-
## Source Database
109-
- name: DB_HOST
110-
value: "mysql"
111-
- name: DB_PORT
112-
value: "3306"
113-
- name: DB_NAME
114-
value: "dbname"
115-
- name: DB_USERNAME
116-
value: "username"
117-
- name: DB_PASSWORD
118-
value: "password"
119-
## Target Database
120-
- name: TARGET_DB_HOST
121-
value: "target-mysql"
122-
- name: TARGET_DB_PORT
123-
value: "3306"
124-
- name: TARGET_DB_NAME
125-
value: "dbname"
126-
- name: TARGET_DB_USERNAME
127-
value: "username"
128-
- name: TARGET_DB_PASSWORD
129-
value: "password"
130-
restartPolicy: Never
131-
```

docs/how-tos/restore-from-s3.md

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -46,50 +46,3 @@ services:
4646
networks:
4747
web:
4848
```
49-
50-
## Restore on Kubernetes
51-
52-
Simple Kubernetes restore Job:
53-
54-
```yaml
55-
apiVersion: batch/v1
56-
kind: Job
57-
metadata:
58-
name: restore-db
59-
spec:
60-
template:
61-
spec:
62-
containers:
63-
- name: mysql-bkup
64-
image: jkaninda/mysql-bkup
65-
command:
66-
- /bin/sh
67-
- -c
68-
- restore -s s3 --path /custom_path -f store_20231219_022941.sql.gz
69-
env:
70-
- name: DB_PORT
71-
value: "3306"
72-
- name: DB_HOST
73-
value: ""
74-
- name: DB_NAME
75-
value: ""
76-
- name: DB_USERNAME
77-
value: ""
78-
# Please use secret!
79-
- name: DB_PASSWORD
80-
value: ""
81-
- name: AWS_S3_ENDPOINT
82-
value: "https://s3.amazonaws.com"
83-
- name: AWS_S3_BUCKET_NAME
84-
value: "xxx"
85-
- name: AWS_REGION
86-
value: "us-west-2"
87-
- name: AWS_ACCESS_KEY
88-
value: "xxxx"
89-
- name: AWS_SECRET_KEY
90-
value: "xxxx"
91-
- name: AWS_DISABLE_SSL
92-
value: "false"
93-
restartPolicy: Never
94-
backoffLimit: 4
95-
```

docs/how-tos/restore-from-ssh.md

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -44,50 +44,4 @@ services:
4444
- web
4545
networks:
4646
web:
47-
```
48-
## Restore on Kubernetes
49-
50-
Simple Kubernetes restore Job:
51-
52-
```yaml
53-
apiVersion: batch/v1
54-
kind: Job
55-
metadata:
56-
name: restore-db
57-
spec:
58-
template:
59-
spec:
60-
containers:
61-
- name: mysql-bkup
62-
image: jkaninda/mysql-bkup
63-
command:
64-
- /bin/sh
65-
- -c
66-
- restore -s ssh -f store_20231219_022941.sql.gz
67-
env:
68-
- name: DB_PORT
69-
value: "3306"
70-
- name: DB_HOST
71-
value: ""
72-
- name: DB_NAME
73-
value: ""
74-
- name: DB_USERNAME
75-
value: ""
76-
# Please use secret!
77-
- name: DB_PASSWORD
78-
value: ""
79-
- name: SSH_HOST_NAME
80-
value: ""
81-
- name: SSH_PORT
82-
value: "22"
83-
- name: SSH_USER
84-
value: "xxx"
85-
- name: SSH_REMOTE_PATH
86-
value: "/home/jkaninda/backups"
87-
- name: AWS_ACCESS_KEY
88-
value: "xxxx"
89-
- name: SSH_IDENTIFY_FILE
90-
value: "/tmp/id_ed25519"
91-
restartPolicy: Never
92-
backoffLimit: 4
9347
```

templates/email-error.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
<li>Date: {{.EndTime}}</li>
1414
<li>Backup Reference: {{.BackupReference}} </li>
1515
</ul>
16-
<p>©2024 <a href="github.com/jkaninda/mysql-bkup">mysql-bkup</a></p>
16+
<p>©2024 <a href="https://github.com/jkaninda/mysql-bkup">mysql-bkup</a></p>
1717
</body>
1818
</html>

templates/email.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<li>Backup Reference: {{.BackupReference}} </li>
1919
</ul>
2020
<p>Best regards,</p>
21-
<p>©2024 <a href="github.com/jkaninda/mysql-bkup">mysql-bkup</a></p>
21+
<p>©2024 <a href="https://github.com/jkaninda/mysql-bkup">mysql-bkup</a></p>
2222
<href>
2323
</body>
2424
</html>

0 commit comments

Comments
 (0)