<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ansible-role-borgbackup/molecule/default/molecule.yml, branch v2.0.0</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 borg prune and compact jobs</title>
<updated>2026-09-01T19:43:57+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-09-01T19:01:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=9c7586c7c3a235672ec6490d1a8bc44a222ce5d1'/>
<id>9c7586c7c3a235672ec6490d1a8bc44a222ce5d1</id>
<content type='text'>
Run repository retention either after a successful backup or from a
dedicated systemd timer. Clean up script generation with templates and
expand molecule test coverage.

BREAKING CHANGE: Aggregate backup scripts are no longer managed, and
state=preset now requires at least one readable included directory.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run repository retention either after a successful backup or from a
dedicated systemd timer. Clean up script generation with templates and
expand molecule test coverage.

BREAKING CHANGE: Aggregate backup scripts are no longer managed, and
state=preset now requires at least one readable included directory.
</pre>
</div>
</content>
</entry>
<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>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>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>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>
<entry>
<title>test: add tests for systemd exist success status</title>
<updated>2026-06-23T11:21:35+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin@wilk.cx</email>
</author>
<published>2026-06-23T11:21:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=0698339964e9289e9347834c91de25eb3ff8f963'/>
<id>0698339964e9289e9347834c91de25eb3ff8f963</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Migrate role from cron to systemd</title>
<updated>2023-11-04T13:02:38+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin.wilk@tum.de</email>
</author>
<published>2023-11-03T18:45:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=50a2795c3a6c72203262400db5029f5afdf1d49c'/>
<id>50a2795c3a6c72203262400db5029f5afdf1d49c</id>
<content type='text'>
Systemd gives us the ability to monitor backup job status using existing
monitoring solutions (node exporter) and allows us greater control over
the scheduling of the backup jobs.

This introduces a breaking change that requires users to manually remove
the old repositories from the clients and redeploying them with the
role. You will have to remove the Cron job that was created by the
Ansible script, everything else will be overwritten with a run from the
newer version.

- name: Remove backup cron jobs
  ansible.builtin.cron:
    name: BORG (Application level backups)
    state: absent
  become: true
- name: Remove env for backup cron job
  ansible.builtin.cron:
    name: BORG_PASSPHRASE
    env: true
    state: absent
  become: true

Performing manual migrations on the Borg server is not required.

We now additionally support multiple Borg repositories per client host
using the `borg_backup_argument` variable.

Signed-off-by: Colin Wilk &lt;colin.wilk@tum.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Systemd gives us the ability to monitor backup job status using existing
monitoring solutions (node exporter) and allows us greater control over
the scheduling of the backup jobs.

This introduces a breaking change that requires users to manually remove
the old repositories from the clients and redeploying them with the
role. You will have to remove the Cron job that was created by the
Ansible script, everything else will be overwritten with a run from the
newer version.

- name: Remove backup cron jobs
  ansible.builtin.cron:
    name: BORG (Application level backups)
    state: absent
  become: true
- name: Remove env for backup cron job
  ansible.builtin.cron:
    name: BORG_PASSPHRASE
    env: true
    state: absent
  become: true

Performing manual migrations on the Borg server is not required.

We now additionally support multiple Borg repositories per client host
using the `borg_backup_argument` variable.

Signed-off-by: Colin Wilk &lt;colin.wilk@tum.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add YAMLLint rules</title>
<updated>2023-05-24T17:41:18+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin.wilk@tum.de</email>
</author>
<published>2023-05-22T21:32:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=b892f1d7262b36e2ba895768272779571c613adf'/>
<id>b892f1d7262b36e2ba895768272779571c613adf</id>
<content type='text'>
Fix linting errors that came up with the new rules

Main changes:
* Enforce YAML document start headers
* Enforce spacing with commas, colons and hyphens
* Enforce indentation
* Enforce use of quotes only then required
* Enforce use of single quotes over double quotes
* Enforce use of true/false over yes/no and derivatives
* [..] Other minor rules that were already followed

Signed-off-by: Colin Wilk &lt;colin.wilk@tum.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix linting errors that came up with the new rules

Main changes:
* Enforce YAML document start headers
* Enforce spacing with commas, colons and hyphens
* Enforce indentation
* Enforce use of quotes only then required
* Enforce use of single quotes over double quotes
* Enforce use of true/false over yes/no and derivatives
* [..] Other minor rules that were already followed

Signed-off-by: Colin Wilk &lt;colin.wilk@tum.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>init</title>
<updated>2023-05-24T17:40:29+00:00</updated>
<author>
<name>Colin Wilk</name>
<email>colin.wilk@tum.de</email>
</author>
<published>2023-05-22T18:17:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.wilk.cx/ansible/ansible-role-borgbackup.git/commit/?id=1f1f6eeaebc148602085515350eb12829f86c315'/>
<id>1f1f6eeaebc148602085515350eb12829f86c315</id>
<content type='text'>
Signed-off-by: Colin Wilk &lt;colin.wilk@tum.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Colin Wilk &lt;colin.wilk@tum.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
