From 4247a91802da6e0b8c7ae8ecaa2e015c81a7ffda Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Tue, 6 Feb 2024 10:24:03 -0800 Subject: [PATCH] Add borgmatic project. --- Google-Summer-of-Code-2024-Ideas.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Google-Summer-of-Code-2024-Ideas.md b/Google-Summer-of-Code-2024-Ideas.md index 5926eb4..45d874c 100644 --- a/Google-Summer-of-Code-2024-Ideas.md +++ b/Google-Summer-of-Code-2024-Ideas.md @@ -190,12 +190,21 @@ Other issues tagged [help wanted](https://github.com/borgbackup/borg/issues?q=is **Additional details**: Not all Borg sub-commands make sense to wrap. For instance, Borg invokes `borg serve` internally, and there's likely not a good use case for running it via borgmatic. Similarly, some Borg flags like `--info` and `--debug` shouldn't be exposed directly via borgmatic configuration options or command-line flags, because borgmatic uses them implicitly (e.g. via `--verbosity`) without exposing them to the end-user.
### MySQL/MariaDB database directory format support +**Difficulty**: Medium
**Length**: 40 hours
**Skills required**: Python, Linux, MySQL/MariaDB
**Description**: Today borgmatic supports dumping MySQL/MariaDB databases directly to Borg for backup purposes and also restoring them directly from Borg. However, borgmatic does not support the MySQL/MariaDB `directory` format for database dumps currently.
**Task outline**: Implement a new `directory` value (or maybe `tab`?) for the existing MySQL/MariaDB `format` configuration options. When that's set, pass the relevant option (`--tab=...`?) to `mysqldump` so that database dumps are dumped into a directory instead of as a single file. Note that this will have to bypass the existing streaming to named pipe logic since a directory can't be streamed that way. Also note that there are separate MySQL and MariaDB hooks, which would both need similar updates to support this feature.
**Additional details**: Look at the existing PostgreSQL hook for an example of a database hook that supports both streaming database dumps and non-streaming directory format database dumps. You can probably take a similar approach with this MySQL/MariaDB work. Also see [the ticket](https://projects.torsion.org/borgmatic-collective/borgmatic/issues/816). +### Docker/Podman container backups +**Difficulty**: Medium
+**Length**: 80 hours
+**Skills required**: Python, Linux, Docker/Podman
+**Description**: borgmatic has a variety of hooks for dumping non-filesystem data sources like databases, but now there's also a need to dump containers or container volumes for backup.
+**Task outline**: Implement a new borgmatic hook or multiple hooks for dumping and restoring containers or container volumes. Test against both Docker and Podman.
+**Additional details**: See [the ticket](https://projects.torsion.org/borgmatic-collective/borgmatic/issues/685) for design and implementation ideas. + Also see [good first issues](https://projects.torsion.org/borgmatic-collective/borgmatic/issues?q=&type=all&state=open&labels=52&milestone=0&assignee=0&poster=0).