<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ansible-role-borgbackup/molecule, branch master</title>
<subtitle>Ansible role for deploying scheduled borgbackup configurations</subtitle>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/'/>
<entry>
<title>Add state: absent variable</title>
<updated>2026-07-02T16:10:04+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-07-02T16:10:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=50b914e77695fd1cdb294653f20143747e7e3b01'/>
<id>50b914e77695fd1cdb294653f20143747e7e3b01</id>
<content type='text'>
Allow removing configuration for repositories.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow removing configuration for repositories.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support custom arguments for borg create</title>
<updated>2026-06-29T18:56:50+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-29T18:56:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=66e46df3d2a840bf62ef8084ad171041772db65e'/>
<id>66e46df3d2a840bf62ef8084ad171041772db65e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Format python files with ruff</title>
<updated>2026-06-28T21:24:21+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-28T21:24:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=a0432093db76d7bb462f113d4bbeca0a8f376e95'/>
<id>a0432093db76d7bb462f113d4bbeca0a8f376e95</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Parametrize server-side borg user</title>
<updated>2026-06-28T21:18:35+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-28T20:47:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=7d96c1a11fc442b4efddf9ce5250cf0a9dfaf02e'/>
<id>7d96c1a11fc442b4efddf9ce5250cf0a9dfaf02e</id>
<content type='text'>
Adds option to choose a non-default borg backup user on the server.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds option to choose a non-default borg backup user on the server.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add option to disable decryption key export</title>
<updated>2026-06-28T20:26:36+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-28T19:59:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=785e6c88e4c0a3ccc44fd357b4f693c5aadd432c'/>
<id>785e6c88e4c0a3ccc44fd357b4f693c5aadd432c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add storage quota support</title>
<updated>2026-06-27T21:28:48+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-27T21:20:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=8b0175c70cbf3ed63c9a0e617c3f1e5332650ff6'/>
<id>8b0175c70cbf3ed63c9a0e617c3f1e5332650ff6</id>
<content type='text'>
Add borg_storage_quota variable to limit repository storage on the
borg server via --storage-quota option in authorized_keys.

When not using borg_ssh_key_per_repo, all repos for a host must share
the same quota setting (similar to --append-only). Per-repo SSH keys
enable independent quotas per repository.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add borg_storage_quota variable to limit repository storage on the
borg server via --storage-quota option in authorized_keys.

When not using borg_ssh_key_per_repo, all repos for a host must share
the same quota setting (similar to --append-only). Per-repo SSH keys
enable independent quotas per repository.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add per-repo SSH key support</title>
<updated>2026-06-27T21:05:21+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-27T21:01:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=8d872069976c5445c4396804ef3a0196f10eb14b'/>
<id>8d872069976c5445c4396804ef3a0196f10eb14b</id>
<content type='text'>
Add borg_ssh_key_per_repo option to generate unique SSH keypairs per
(server, repo) combination. When enabled, each repository gets its own
authorized_keys entry, enabling:

- Independent --append-only settings per repository
- Per-repo storage quotas
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add borg_ssh_key_per_repo option to generate unique SSH keypairs per
(server, repo) combination. When enabled, each repository gets its own
authorized_keys entry, enabling:

- Independent --append-only settings per repository
- Per-repo storage quotas
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for non-root backup clients</title>
<updated>2026-06-27T19:25:37+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-27T19:25:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=cce7d2d258292c283d64ce8da14a6d1e366b564d'/>
<id>cce7d2d258292c283d64ce8da14a6d1e366b564d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>borg!: support multiple backups to same target</title>
<updated>2026-06-27T14:55:53+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-27T13:22:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=a22ff185f9836023817f9d4f8df3157b948f8cf2'/>
<id>a22ff185f9836023817f9d4f8df3157b948f8cf2</id>
<content type='text'>
This brings support for multiple backups pointing to the same borg
server, different repositories, from the same client. We support this by
parsing the SSH authorized key file first and appending allowed
repositories to allow independent definitions of the borg targets.

So that the decryption_keys do not clash we include the repository name
as well as the host in the key. This will lead to new keys being created
for existing hosts in the new format.

    Old Format: {{ combine({inventory_hostname: borg_keys.stdout}) }}
    New Format: {{ combine({(inventory_hostname ~ '_' ~ borg_repo_name): borg_keys.stdout}) }}

If upgrading from an older version that used just the hostname as the
key, your existing `decryption_keys.yml` can be manually removed once
the new format is also added.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This brings support for multiple backups pointing to the same borg
server, different repositories, from the same client. We support this by
parsing the SSH authorized key file first and appending allowed
repositories to allow independent definitions of the borg targets.

So that the decryption_keys do not clash we include the repository name
as well as the host in the key. This will lead to new keys being created
for existing hosts in the new format.

    Old Format: {{ combine({inventory_hostname: borg_keys.stdout}) }}
    New Format: {{ combine({(inventory_hostname ~ '_' ~ borg_repo_name): borg_keys.stdout}) }}

If upgrading from an older version that used just the hostname as the
key, your existing `decryption_keys.yml` can be manually removed once
the new format is also added.
</pre>
</div>
</content>
</entry>
<entry>
<title>test: add larger test suite for role</title>
<updated>2026-06-27T13:43:21+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-26T22:35:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=e15d494e96e9f9e6cdf21676ce3644c7894b3b53'/>
<id>e15d494e96e9f9e6cdf21676ce3644c7894b3b53</id>
<content type='text'>
- Add test systems for client/server setup
- Add tests for systemd service and timer files
- Add tests for SSH connectivity
- Add tests for security configurations
- Add tests for multi-instance backup scenarios
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add test systems for client/server setup
- Add tests for systemd service and timer files
- Add tests for SSH connectivity
- Add tests for security configurations
- Add tests for multi-instance backup scenarios
</pre>
</div>
</content>
</entry>
</feed>
