All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Add the ability to set custom mysql CLI parameters, target all databases without manually specifying, and bump versions
- Added the ability to add custom mysql paramaters during the backup of databases via a new
BACKUP_ADDITIONAL_PARAMS
environment variable. Thanks & credit: @cablespaghetti - Added the ability to target all databases via a new
TARGET_ALL_DATABASES
environment variable. Thanks & credit: @cablespaghetti - Bumped the Alpine Linux version to
3.14.0
from3.12.1
- Bumped the Google Cloud SDK version to
348.0.0
from319.0.0
- Bumped the Age Encryption version to
9d4b2ae7ac0e2913839a545e16504e1ba0391124
(v1.0.0-rc.3
) from31500bfa2f6a36d2958483fc54d6e3cc74154cbc
(v1.0.0-rc.3
)
- Adds the missing Python six package which was breaking awscli and removed the
py-pip
deletion step as this removessix
- Add the
BACKUP_CREATE_DATABASE_STATEMENT
configuration option. This explicitly sets the--databases
flag inmysqldump
which causesmysqldump
to addCREATE DATABASE /*!32312 IF NOT EXISTS*/
andUSE
statements into the dump.
- Added the ability to optionally encrypt backups using age. Thanks & credit: @adamdecaf
- Bumped Alpine Linux version to
3.12.1
from3.11
- Bumped Google Cloud SDK version to
319.0.0
from285.0.1
- Added detection and conditional decoding of base64 encoded
GCP_GCLOUD_AUTH
environment variables to resolve issues with Kubernetes automatic decoding. Thanks & credit: @sreesanpd - Improved formatting and added a license
- Added the ability to GZIP compress backup files. Thanks & credit: @LucasBG0
- Added the ability to use custom S3 compatible storage endpoints. Thanks & credit: @mwienk
- Bumped Google Cloud SDK version to 285.0.1
- Bumped Alpine Linux version to 3.11
- Corrected log filenames that were not correctly updated as part of the v2.2.0 rename
- Added the ability to use Google Cloud Storage (GCS) as a backend storage provider (backwards compatible)
- Renamed to kubernetes-cloud-mysql-backup to better reflect the function of the application
- Improved environment variable processing (removed case sensitivity of Slack environment variable)
- Upgraded Alpine version to 3.10 base
- Switched to Python3
- Documentation improvements
- Ability to append timestamp to the database dump via the BACKUP_TIMESTAMP environment variable added. Thanks & credit: @kuzm1ch
- Renamed to kubernetes-s3-mysql-backup from aws-database-backup to better describe function
- Implemented the ability to backup multiple databases from a single host
- Updated the Variable Name of TARGET_DATABASE_NAME to TARGET_DATABASE_NAMES
- Updated the format of AWS_BUCKET_BACKUP_PATH so that the trailing / is not required
- Removed $AWS_BUCCKET_BACKUP_NAME variable (which had a typo). Database backups are now saved using their database names
- Fixed issue with failed Slack alerts when log messages contained special characters
- Fixed /bin/ash error when evaluating if the log files are empty or not
- Fixed an error message about the log file not existing when the backup runs successfully
- Suppressed CURL output for Slack alerts
- Added Slack Integration
- Introduced Error Handling to make sure the container exits with the correct status, and provides useful debug information
- Fixed a bug where a failure of
mysqldump
would lead to a blank database backup being uploaded to S3 - Introduced default Environment Variables for non-essential values
- Improved the README.md
- Initial Release