- [Enhancement] Drop support for Python 3.8; update the Ubuntu base image to "Ubuntu Jammy" (22.04).
When updating your plugin to this version, you'll need to rebuild the image.
- [Enhancement] Support Tutor 18 and Open edX Redwood.
- [Enhancement] Add options to opt-out single-transaction and flush logs in mysql
- [Enhancement] Support Python 3.12.
- [Enhancement] Support Tutor 17 and Open edX Quince.
- [fix] Run
mysqladmin flush-logs
immediately after a successful MySQL restore.
- [fix] Switch the MySQL client tools to version 8.0 and the MongoDB client tools to version 4.4.
This version drops compatibility with Open edX Olive and Tutor 15.
- [fix] Avoid running Kubernetes CronJob instances concurrently by
default: add the
BACKUP_K8S_CRONJOB_CONCURRENCYPOLICY
setting and default it toForbid
(rather than the Kubernetes default,Allow
).
- [Enhancement] Support Tutor 16, Open edX Palm and Python 3.11.
- [fix] Add the
BACKUP_MONGORESTORE_ADDITIONAL_OPTIONS
setting to the definition of the Kubernetes restore cron job (in addition to that of the ad-hoc Kubernetes job).
- [BREAKING CHANGE] Add support for Tutor 15 and Open edX Olive. Tutor version 15.0.0 includes changes to the implementation of custom commands and thus requires changes in this plugin as well that are not backwards compatible. From version 2.0.0 this plugin only supports Tutor versions from 15.0.0 and Open edX Olive release.
- [feature] Add the
BACKUP_MONGORESTORE_ADDITIONAL_OPTIONS
setting.
- [feature] Add the
BACKUP_MONGODB_DATABASES
setting to select the MongoDB databases to back up. AddBACKUP_MONGODB_AUTHENTICATION_DATABASE
to override default authentication database name. - [refactor] Remove obsolete scripts.
- [feature] Use ephemeral volumes in K8s for data volume
- [fix] When calculating the checksum for large backup tar files, all the file was read into memory. This could cause pods to be killed when backing up large databases. Fix that by reading in the tar file in chunks when calculating the checksum.
- [feature] Add the
BACKUP_MYSQL_DATABASES
setting to select the MySQL databases to backup.
- [BREAKING CHANGE] Support Tutor 14 and Open edX Nutmeg. This entails a configuration format change from JSON to YAML, meaning that from version 1.0.0 this plugin only supports Tutor versions from 14.0.0 (and with that, only Open edX versions from Nutmeg).
- [feature] From this version forward the backup files contain a date
stamp, and are thus named
backup.YYYY-MM-DD.tar.xz
rather than justbackup.tar.xz
. Users can now specify a date when using the restore command. In a Kubernetes deployment, if multiple backups are made in one day, users can specify the date and the version ID of the desired backup when restoring. If no date is specified on restore, the restore job looks for a backup from today. This means that when upgrading from an earlier version, attempting a restore operation before any new backup is made will fail because the restore will be looking for a backup namedbackup.YYYY-MM-DD.tar.xz
when no such backup exists yet. In that event, please rename your existingbackup.tar.xz
file to thebackup.YYYY-MM-DD.tar.xz
format, reflecting the current date.
- [feature] Add ability to enable and disable CronJobs by suspending them.
- [fix] Remove dependencies on mysql and mongodb from the docker-compose configuration if Tutor is configured to run with external MySQL and MongoDB.
- [refactor] Use Tutor v1 plugin API
- [feature] List available backup versions using
tutor k8s restore --list-versions
.
- [fix] Fix for k8s restore that would fail if no version ID was given.
- [fix] When checking file integrity after download, compare the checksum to the correct version of the backup file on S3.
- [feature] Add timestamps to log messages.
- [fix] Don’t break on existing directories when restoring Caddy data.
- [refactor] Rewrite backup and restore scripts in Python, improving logging and integrity verification.
- [feature] Add ability to exclude individual services from restore.
Experimental. Do not use in production.
- Add backup and restore functionality for k8s Tutor deployment.
- Add backup and restore functionality for local Tutor deployment.
- Created plugin with Cookiecutter from https://github.com/fghaas/cookiecutter-tutor-plugin.