Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Borgbackup #2495

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,11 @@ Added
New DebOps roles
''''''''''''''''

- The :ref:`debops.borgbackup` role can be used to setup cluster-wide backups
using `BorgBackup`__.

.. __: https://www.borgbackup.org/

- The :ref:`debops.metricbeat` role, part of the Elastic stack, can be used to
install `Metricbeat`__, a service that can gather metrics and other non-log
data from other services and send them to Elasticsearch for processing.
Expand Down
3 changes: 3 additions & 0 deletions ansible/playbooks/layer/app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
- name: Configure backup2l service
import_playbook: '../service/backup2l.yml'

- name: Configure borgbackup service
import_playbook: '../service/borgbackup.yml'

- name: Configure rsnapshot service
import_playbook: '../service/rsnapshot.yml'

Expand Down
24 changes: 24 additions & 0 deletions ansible/playbooks/service/borgbackup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
# Copyright (C) 2019-2023 Robin Schneider <ypid@riseup.net>
# Copyright (C) 2023 David Härdeman <david@hardeman.nu>
# Copyright (C) 2024 Tasos Alvas <tasos.alvas@qwertyuiopia.com>
# Copyright (C) 2019-2024 DebOps <https://debops.org/>
# SPDX-License-Identifier: GPL-3.0-only

- name: Configure backups using borgbackup and borgmatic
collections: [ 'debops.debops', 'debops.roles01',
'debops.roles02', 'debops.roles03' ]
hosts:
- 'debops_service_borgbackup'
- 'debops_service_borgbackup_server'
- 'debops_service_borgbackup_controlled'
- 'debops_service_borgbackup_controller'
become: True

environment: '{{ inventory__environment | d({})
| combine(inventory__group_environment | d({}))
| combine(inventory__host_environment | d({})) }}'

roles:
- role: borgbackup
tags: [ 'role::borgbackup', 'skip::borgbackup' ]
21 changes: 21 additions & 0 deletions ansible/roles/borgbackup/COPYRIGHT
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
debops.borgbackup - Configure backups with borg and borgmatic

Copyright (C) 2019-2023 Robin Schneider <ypid@riseup.net>
Copyright (C) 2023 David Härdeman <david@hardeman.nu>
Copyright (C) 2024 Tasos Alvas <tasos.alvas@qwertyuiopia.com>
Copyright (C) 2019-2024 DebOps https://debops.org/
SPDX-License-Identifier: GPL-3.0-only

This Ansible role is part of DebOps.

DebOps is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3, as
published by the Free Software Foundation.

DebOps is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with DebOps. If not, see https://www.gnu.org/licenses/.
Loading
Loading