- Make Azure requirements coherent with the Docker image (@adejanovski)
- Add missing deps for Azure-cli in the Docker image (@adejanovski)
- Make sudo switchable when Kubernetes mode is disabled (@rhardouin)
- Add support for Azure backend in docker image (@adutra)
- Fossa Integration (@jdonenine)
- Set a gc grace period on backup files to prevent premature purge while backup is running (@adejanovski)
- Health check updates for encrypted connections (@jeffbanks)
- Use a datetime as default backup name for backup-cluster (@optplx)
- Add seed_target for backup-cluster (@optplx)
- Add a --version option (@optplx)
- Use custom config file when restoring data (@rhardouin)
- Fix hostname_resolver.resolve_fqdn when resolve_ip_addresses is False (@optplx)
- Support ssh with public certificates (@optplx)
- Add exponential delays in retries for S3 libcloud uploads and downloads (@ivanmp91)
- Ensure each setting can be overridden (@rhardouin)
- Add retries for Azure to remove test flakiness (@adejanovski)
- Publish debian packages to Cloudsmith (@adejanovski)
- Updated to support python 3.9 (@dmitry-saprykin)
- Use python 3.9 in CI (@adejanovski)
- Upgrade cassandra driver and remove protocol V4 enforcement (@adejanovski)
- Fix S3 compatible backend uploads when no region is specified (@adejanovski)
- Force int type for ports to the C* object (@ivanmp91)
- add handler for sigterm and use exec to run server.py script (@jsanda)
- Bypass the restore in GRPC/k8s mode if the backup doesn't exist (@adejanovski)
- Fix deprecation warnings (@rhardouin)
- Disable md5 comparisons during backups by default (@mkcello96)
- Improve backup success rate by adding retries on single file downloads/uploads (@ivanmp91)
- If running in Kubernetes, replace tokens in not in_place case and disable boostrap (@burmanm)
- Add BaseS3StorageDriver that allows defining the region and pass the information to that driver. Also, remove unused ibm driver (@burmanm)
- Fix MinIO support with unsecured access and add integration tests (@adejanovski)
- Build and publish Docker image during releases (@adejanovski)
- Force using protocol v4 to maintain compatibility with 4.0 (@adejanovski)
- Fix region replacement in the S3 storage backend (@adejanovski)
- Include storage prefix during file purge process (@ivanmp91)
- Swap to cassandra user to avoid chown issues (@burmanm)
- Pin cryptography to 3.3.2 to avoid install failing on missing Rust req (@adejanovski)
- Fix home/medusa directory with correct rights (@burmanm)
- Use multi-stage building in the Dockerfile to reduce image size (@burmanm)
- Use cassandra 999 as gid for the medusa user, and change medusa user to id 1001 (@burmanm)
- Run as non-root (@burmanm)
- Add s3_compatible storage option for all S3 compatible storage targets (@burmanm)
- Azure fixes - add configurable host, add MD5 for large files, support multi-part in differential backups
- Update TLS version
- Remove custom storage port for integration tests (@adejanovski)
- Unthrottle downloads for S3 and IBM storage backends to speed up restores (@adejanovski)
- Backup and DeleteBackup did not return the correct error code in case of Exception (@burmanm)
- Allow to set the CQL user/pass through env variables (@adejanovski)
- Replace the pycrypto dependency with pycryptodome (@deniszh)
### 0.8.1 (2021/01/07 14:50 +00:00)
- Add missing dependencies for Libcloud 3.3.0 and pin Libcloud dependency to specific versions (@adejanovski)
- Add Azure blob storage support (@ilhanadiyaman)
- Ignore all peer tables, even the v2 ones (@rzvoncek)
- Allow to download only a set of keyspaces/tables (@masterzen)
- Build ubuntu package for focal 20.04 (@masterzen)
- debian: Add missing build dependency for python3-venv (@ecsv)
- Fix Xenial builds by downloading dh-virtualenv v1.0 directly instead of using a repo (@adejanovski)
- Add gRPC service (@emerkle826)
- Add backup-cluster command, decouple snapshots from upload, allow parallelism control (@arodrime)
- Add support for IBM Cloud object storage (@adejanovski)
- Normalized resolve_ip_addresses value (@dmitry-saprykin)
- Fixing gsutil upload/download. Divide file list into chunks. (@house-of-vanity)
- Add wheel package to requirements.txt to be able to perform offline installation (@julienlau)
- [gcs] Compare the same type when checking for process count (@rzvoncek)
- [gcs] Use 'gsutil -m' only if concurrent_transfers > 1 (@rzvoncek)
- (#201) Improved debian packaging (@masterzen)
- [tox] Stop running against python 3.5, but do so for 3.7 & 3.8 instead (@rzvoncek)
- Tolerate custom seed providers in C* yaml (@rzvoncek)
- Honor concurrent_transfers in GCP storage. Fixes #103 (@rzvoncek)
- Pin ssh2-python version to 0.19.0 (@arodrime)
- Enable multi Cassandra version integration tests (@adejanovski)
- Remove nc (netcat) dependency, use python socket instead (@arodrime)
- Avoid double purge (through count + age) of the same backup (@arodrime)
- Add a timeout for nc checks - node_up? (@arodrime)
- Do not rely on nc command output, use returncode instead (@arodrime)
- Restore node should be done in place by default (@adejanovski)
- Use the service command as default to start Cassandra (@adejanovski)
- Add a setting to avoid ip addresses from being resolved to hostnames (@adejanovski)
- Do not delete cleanup and saved_caches folders (@arodrime)
- fixing empty folder issue (@arodrime)
- specify resotre specific keyspaces/tables usage (@arodrime)
- Keep system keyspaces when user specifies ks/tables (@arodrime)
- Add wait for node shutdown. Fix healtcheck config. Fixes #72 (@rzvoncek)
- Enforce tokens by modifying cassandra.yaml instead of env vars (@adejanovski)
- Use the local fqdn as seed target if it's not provided (@adejanovski)
- Simplify the checks for whether the seed_target or if the host_list is set. (@adejanovski)
- Overwrite auth by default (@adejanovski)
- Compute in-place based on source/target node list. (@adejanovski)
- Move question about keeping auth to a more appropriate location to avoid clashing with in place computation (@adejanovski)
- Fix --keep-auth flag issue (@adejanovski)
- Move digest computation to storage implementations. Fixes #123 (@rzvoncek)
- Resolve FQDN of the ip addresses provided in the host list file (@adejanovski)
- Fix restore infinite loop by using nc instead of remote nodetool invocation (@adejanovski)
- Fix debian packaging which broke due to gevent not building anymore. (@adejanovski)
- Make 1st differential backup upload all files, even if a full one exists. Fixes 108 (@rzvoncek)
- Add ini option to enable -ssl parameter for nodetool (@ANeumann82)
- Add S3 region selector for S3 rgw (@mclpfr)
- Disable checksum comparisons for the local storage provider. (@adejanovski)
- Enable SSL Authentication for Medusa to access Cassandra SSL Clusters (@SINDHUJA21)
- Local and s3 RGW backends now use streams for both uploads and downloads. (@nicholasamorim)
- fix fqdn not honored in config file (@chebelom)
- fix medusa download command not working due to missing parameter (@chebelom)
- medusa get_last_complete_cluster_backup explodes if no complete cluster backup exists (@chebelom)
- Add a delete-backup command (@arodrime)
- Allow awscli binary path to be specified (@bishoprunout)
- Add ssh port info to Readme.md and medusa-example.ini (@alvaropalmeirao)
- Improve S3 connection performance when IAM roles aren't used (@adejanovski)
- Add customized port to ssh section (@alvaropalmeirao)
- Fix the usage of prefix for multi tenant buckets (@adejanovski)
- Fix sstableloader calls for clusters without authentication (@adejanovski)
- Adding support for Env Credentials and IAM Role (@alvaropalmeirao)
- add aws regions by bumping libcloud (@arodrime)
- Publish debian packages (@arodrime/@adejanovski)
- Fixed the path to the file where S3 is configured for integration tests. (@pumpkiny9120)
- Use awscli for large files downloads (@adejanovski)
- Fixing issue #54 - permission denied during build (@arodrime)
- Pass temp_dir to restore-node command from restore-cluster command (@jfharden)
- Add offline installation informations (@adejanovski)
- Set nodetool parameters (@bhagenbourger)
- Instead of failing on nodetool clearsnapshot, just log a warning message as the backup is essentially finished. (@nicholasamorim)
- Add Gitter badge (@gitter-badger)
- Added support to Ceph Object Gateway, an API compatible with S3. Uses s3_rgw libcloud driver. (@nicholasamorim)
- Added logging section to configuration which provides control over logging-to-file (@nicholasamorim)
- Fix compatibility with python3.5
- Fix differential backups re-uploading files in S3 (@adejanovski)
- Use multi part uploads for S3 (@adejanovski)
- Replacing custom ssh management by parallel-ssh lib (@arodrime)
- Parse blob names with regexpes. Fixes #12 (@rzvoncek)
- requirements require minimum versions, not exact versions (@michaelsembwever)
- Added nose & flake8 libs to test libraries (@maciej-lasyk)
- Fix contact point address discovery when listen_address is missing from cassandra.yaml (@adejanovski)
- use correct terminology of 'IAM Policy' rather than 'IAM Strategy' (@michaelsembwever)
- Support backups of SIs (@rzvoncek)
- Adjust installation procedure in README (@adejanovski)
- Separate build and publish workflows. (@adejanovski)
- Fix release publishing step (@adejanovski)
- Bump pyyaml from 3.10 to 5.1 (@dependabot[bot])
- Publish releases to pypi (@adejanovski)
- Cleanup ci workflow (@adejanovski)
- Add Github actions workflow (@adejanovski)
- Change default Cassandra stop command (@adejanovski)
- Remove 'incremental' in tests and docs (@rzvoncek)
- Switch incremental to differential. (@adejanovski)
- Move to incremental by default (@adejanovski)
- Update paramiko dependency to v2.6.0 (@arodrime)
- Fix hostname being used instead of fqdn (@adejanovski)
- Initial commit (@adejanovski)