Rohmu is a Python library for building backup tools for databases providing functionality for compression, encryption, and transferring data between the database and an object storage. Rohmu supports main public clouds such as GCP, AWS, and Azure for backup storage. Rohmu is used in various backup tools such as PGHoard for PostgreSQL, MyHoard for MySQL, and Astacus for M3, ClickHouse, and other databases.
- Supported object storages: Azure, GCP, S3, Swift (OpenStack), local file storage, and SFTP.
- Supported compression algorithms: Snappy, zstd, and lzma.
Rohmu requires Python >= 3.8. For Python library dependencies, refer to setup.cfg.
Add usage example here
For real-world usage, see how Rohmu is used in PGHoard.
TODO
To build an installation package for your distribution, go to the root directory of a Rohmu Git checkout and run:
Fedora:
sudo make fedora-dev-setup make rpm
This will produce a .rpm
package usually into rpm/RPMS/noarch/
.
Rohmu is licensed under the Apache license, version 2.0. Full license text is available in the LICENSE file.
Please note that the project explicitly does not require a CLA (Contributor License Agreement) from its contributors.
PostgreSQL, MySQL, M3 and ClickHouse are trademarks and property of their respective owners. All product and service names used in this website are for identification purposes only and do not imply endorsement.
Rohmu was created by and is maintained by Aiven.
Rohmu was originally a part of PGHoard but was later extracted to its own GitHub project.
The Rohmu logo was created by @evche-aiven.
Bug reports and patches are very welcome; please post them as GitHub issues and pull requests at rohmu_repo. To report any possible vulnerabilities or other serious issues, please see our security policy.
Copyright (C) 2023 Aiven Ltd and contributors to the Rohmu project.