-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
309b834
commit 380a3ff
Showing
4 changed files
with
112 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
apiVersion: v1 | ||
description: BackupZen is a solution for backing up and uploading various database types, leveraging the power of K8s cronjobs. | ||
name: backup-zen | ||
version: 0.1.0 | ||
version: 0.1.1 | ||
appVersion: 1.0.0 | ||
kubeVersion: ">= 1.20.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
databaseType: MongoDB # Can be one of PostgreSQL, MySQL or MongoDB | ||
hostname: mydb.rds.amazonaws.com | ||
port: 54325 | ||
# Select one of these two types: | ||
# oneByOne: preparing databaseName, username and password for each database as an array in oneByOne.creds must be provided | ||
# OR | ||
# adminUser: admin user credentials in adminUser.username and adminUser.password must be provided | ||
# default is adminUser | ||
credentialType: oneByOne | ||
# credsSecretName is the name of the secret where the database credentials are stored (can be used instead of setting oneByOne.creds) | ||
# It must contain | ||
# username and password >>> if credentialType == adminUser | ||
# creds.json >>> if credentialType == oneByOne | ||
# credsSecretName: mycreds-secret | ||
|
||
global: | ||
charset: | ||
namespace: db-backups | ||
createNamespace: true | ||
rotation: true | ||
#### SETTINGS FOR ROTATED BACKUPS #### | ||
rotation_config: | ||
# Which day to take the weekly backup from (1-7 = Monday-Sunday) | ||
dayOfWeekToKeep: 5 | ||
# Number of days to keep daily backups | ||
daysToKeep: 7 | ||
# How many weeks to keep weekly backups | ||
weeksToKeep: 5 | ||
teamsNotification: true | ||
succeededTeamsURL: https://myorg.webhook.office.com/webhookb2/blob-blob-blob | ||
failedTeamsURL: https://myorg.webhook.office.com/webhookb2/blob-blob-blob | ||
|
||
cronjob: | ||
# image: rezachalak/pg-backup-zen:1.0.0 | ||
pullPolicy: Always | ||
imagePullSecrets: [] | ||
restartPolicy: Never | ||
resources: | ||
requests: | ||
cpu: 1 | ||
memory: "1Gi" | ||
limits: | ||
cpu: 2 | ||
memory: "2Gi" | ||
schedule: "0 0 * * *" | ||
failedJobsHistoryLimit: 3 | ||
successfulJobsHistoryLimit: 3 | ||
storage: | ||
createPVC: true | ||
PVCName: mydb-backup | ||
storageClass: standard | ||
accessMode: ReadWriteOnce | ||
PVCSize: 20Gi | ||
|
||
adminUser: | ||
# Optional username to connect to database as. Will default to "root" if none specified. | ||
username: root | ||
password: roOtP@$$ | ||
# Provide adminUser.username and adminUser.password in or create a secret in the specified namespace containing username and password in it | ||
# backupCredsSecretName: mydb-backup-creds | ||
|
||
oneByOne: | ||
# credsSecretName is the name of the secret where the database credentials are stored (can be used instead of oneByOne.creds) | ||
# credsSecretName: mycreds-secret | ||
# This secret must contain: creds.json | ||
# creds.json: | ||
# [ | ||
# { | ||
# "database_name": "", | ||
# "username": "", | ||
# "password": "" | ||
# },.. | ||
# ] | ||
creds: | ||
- database_name: db1 | ||
username: user1 | ||
password: password1 | ||
- database_name: db2 | ||
username: user2 | ||
password: password2 | ||
|
||
##### SETTINGS FOR AWS S3 #### | ||
backupUpload: | ||
active: true | ||
# Supported objectStorages are: MinIO and AWS_S3 | ||
objectStorageType: MinIO | ||
# objectStorageSecretName is the name of the secret where the credentials of object storage is stored. | ||
# objectStorageSecretName: s3-secret-name | ||
AWS_S3: | ||
AWS_ACCESS_KEY_ID: "access" | ||
AWS_DEFAULT_REGION: "us-west-1" | ||
AWS_SECRET_ACCESS_KEY: "secret" | ||
BUCKET_NAME: "mybucket-backup-zen" | ||
MINIO: | ||
MINIO_ACCESS_KEY_ID: access-key | ||
MINIO_URL: https://localhost | ||
MINIO_SECRET_ACCESS_KEY: secret | ||
BUCKET_NAME: backupzen-minio | ||
OBJECT_NAME: c342jhc34gf |