1
0
Fork 0

Merge branch '68-build-update-borg-ansible-role-to-v0-9-3' into 'main'

Resolve "build: update Borg Ansible role to v0.9.3"

Closes #68

See merge request lydra/yunohost/ansible-yunohost!48
This commit is contained in:
Christophe Chaudier 2022-09-06 09:20:03 +00:00
commit 60b6b3d30c
8 changed files with 58 additions and 35 deletions

View file

@ -6,6 +6,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and the commits message folow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). and the commits message folow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
## [[1.1.1] - 2022-09-05](https://lab.frogg.it/lydra/yunohost/ansible-yunohost/-/releases/1.1.1)
### Added
- In role `ynh_backup`:
- Added Ansible variable `m3nu_ansible_role_borgbackup_version`. The default version of the role is v0.9.3, but it can easily be changed by overriding the default value. You can check the releases of the role [here](https://github.com/borgbase/ansible-role-borgbackup).
- Updated the readme files.
- In general readme:
- Added restic tag.
### Fixed
- In role `ynh_backup`:
- Ansible role Borg has been updated to v0.9.3 due to a bug that I discovered. More info [here](https://github.com/borgbase/ansible-role-borgbackup/issues/101).
## [[1.1.0] - 2022-08-30](https://lab.frogg.it/lydra/yunohost/ansible-yunohost/-/releases/1.1.0) ## [[1.1.0] - 2022-08-30](https://lab.frogg.it/lydra/yunohost/ansible-yunohost/-/releases/1.1.0)
### Added ### Added

View file

@ -44,6 +44,7 @@ Ces tags sont applicables suivant les rôles.
|smtp|Tâches liées aux paramètres de relais smtp de Yunohost.| |smtp|Tâches liées aux paramètres de relais smtp de Yunohost.|
|backup|Tâches liées aux sauvegardes de Yunohost en local.| |backup|Tâches liées aux sauvegardes de Yunohost en local.|
|borg|Tâches liées aux sauvegardes avec BorgBackup.| |borg|Tâches liées aux sauvegardes avec BorgBackup.|
|restic|Tâches liées aux sauvegardes avec Restic.|
## License ## License

View file

@ -44,6 +44,7 @@ These tags are applicable to roles.
|smtp|Tasks related to Yunohost smtp relay settings.| |smtp|Tasks related to Yunohost smtp relay settings.|
|backup|Tasks related to local Yunohost backups.| |backup|Tasks related to local Yunohost backups.|
|borg|Tasks related to backups with BorgBackup.| |borg|Tasks related to backups with BorgBackup.|
|restic|Tasks related to backups with Restic.|
## License ## License

View file

@ -1,6 +1,6 @@
namespace: lydra namespace: lydra
name: yunohost name: yunohost
version: 1.1.0 version: 1.1.1
readme: README.md readme: README.md
authors: authors:
- Lydra (<support@lydra.fr>) - Lydra (<support@lydra.fr>)

View file

@ -47,21 +47,23 @@ ynh_backup:
- Les sauvegardes avec [BorgBackup](https://borgbackup.readthedocs.io/en/stable/) et [Borgmatic](https://github.com/witten/borgmatic) : Grâce au rôle Ansible `m3nu.ansible_role_borgbackup`, nous pouvons automatiser le processus d'installation et de configuration de BorgBackup sur un serveur YunoHost. Les sauvegardes Borg sont accessibles sur un dépôt Borg local ou distant. Plus d'info sur ce rôle [ici](https://github.com/borgbase/ansible-role-borgbackup) - Les sauvegardes avec [BorgBackup](https://borgbackup.readthedocs.io/en/stable/) et [Borgmatic](https://github.com/witten/borgmatic) : Grâce au rôle Ansible `m3nu.ansible_role_borgbackup`, nous pouvons automatiser le processus d'installation et de configuration de BorgBackup sur un serveur YunoHost. Les sauvegardes Borg sont accessibles sur un dépôt Borg local ou distant. Plus d'info sur ce rôle [ici](https://github.com/borgbase/ansible-role-borgbackup)
```yml ```yml
ynh_borg_backup_scheduled: True ynh_borg_backup_scheduled: True
borg_source_directories: "{{ ynh_backup.directory }}" m3nu_ansible_role_borgbackup_version: "v0.9.3"
borg_repository: "/data/backup/borg_repository" borg_source_directories: "{{ ynh_backup.directory }}"
borg_encryption_passphrase: "PLEASECHANGEME" borg_repository: "/data/backup/borg_repository"
borgmatic_config_name: "borgmatic_ynh_config" borg_encryption_passphrase: "PLEASECHANGEME"
borgmatic_cron_name: "borgmatic_ynh_cron" borgmatic_config_name: "borgmatic_ynh_config"
borgmatic_cron_name: "borgmatic_ynh_cron"
borg_retention_policy: borg_retention_policy:
keep_daily: "4" keep_daily: "4"
ynh_borg_backup_remote_repo: True ynh_borg_backup_remote_repo: True
borg_ssh_keys_src: "files/prd/ssh_keys/ynh_ed25519.vault" borg_ssh_keys_src: "files/prd/ssh_keys/ynh_ed25519.vault"
borg_ssh_keys_dest: "/home/debian/.ssh/ynh_ed25519" borg_ssh_keys_dest: "/home/debian/.ssh/ynh_ed25519"
ynh_ssh_borg_command: "ssh_command: ssh -p 7410 -o StrictHostKeychecking=no -i {{ borg_ssh_keys_dest }}" ynh_ssh_borg_command: "ssh_command: ssh -p 7410 -o StrictHostKeychecking=no -i {{ borg_ssh_keys_dest }}"
``` ```
- `ynh_borg_backup_scheduled` : Active / désactive la fonctionnalité de sauvegarde avec BorgBackup. - `ynh_borg_backup_scheduled` : Active / désactive la fonctionnalité de sauvegarde avec BorgBackup.
- `m3nu_ansible_role_borgbackup_version` : Vous permet de spécifier la version du rôle Ansible Borg Backup que vous souhaitez utiliser. La version par défaut du rôle est v0.9.3 mais vous pouvez vérifier les versions du rôle [ici](https://github.com/borgbase/ansible-role-borgbackup).
- `ynh_borg_backup_remote_repo` : Active / désactive la fonctionnalité de sauvegarde sur un dépôt distant BorgBackup (tâches liées à la mise en place des clés SSH). Si vous activez cette fonctionnalité, vous aurez besoin d'utiliser les variables `borg_ssh_keys_src` et `borg_ssh_keys_dest`. - `ynh_borg_backup_remote_repo` : Active / désactive la fonctionnalité de sauvegarde sur un dépôt distant BorgBackup (tâches liées à la mise en place des clés SSH). Si vous activez cette fonctionnalité, vous aurez besoin d'utiliser les variables `borg_ssh_keys_src` et `borg_ssh_keys_dest`.
- `borg_source_directories` : Liste des dossiers source à sauvegarder. Par défaut, il s'agit du dossier qui contient les sauvegardes faites par YunoHost. - `borg_source_directories` : Liste des dossiers source à sauvegarder. Par défaut, il s'agit du dossier qui contient les sauvegardes faites par YunoHost.
- `borg_repository` : Chemin complet vers le dépôt Borg. Possibilité de donner une liste de dépôts pour sauvegarder les données dans plusieurs endroits. - `borg_repository` : Chemin complet vers le dépôt Borg. Possibilité de donner une liste de dépôts pour sauvegarder les données dans plusieurs endroits.

View file

@ -47,21 +47,23 @@ ynh_backup:
- Backups with [BorgBackup](https://borgbackup.readthedocs.io/en/stable/) and [Borgmatic](https://github.com/witten/borgmatic): Thanks to the Ansible role `m3nu.ansible_role_borgbackup` we can automate the installation and configuration process of Borg Backup on a YunoHost server. Borg backups are accessible on a local or a remote Borg repository. More info about this role [here](https://github.com/borgbase/ansible-role-borgbackup). - Backups with [BorgBackup](https://borgbackup.readthedocs.io/en/stable/) and [Borgmatic](https://github.com/witten/borgmatic): Thanks to the Ansible role `m3nu.ansible_role_borgbackup` we can automate the installation and configuration process of Borg Backup on a YunoHost server. Borg backups are accessible on a local or a remote Borg repository. More info about this role [here](https://github.com/borgbase/ansible-role-borgbackup).
```yml ```yml
ynh_borg_backup_scheduled: True ynh_borg_backup_scheduled: True
borg_source_directories: "{{ ynh_backup.directory }}" m3nu_ansible_role_borgbackup_version: "v0.9.3"
borg_repository: "/data/backup/borg_repository" borg_source_directories: "{{ ynh_backup.directory }}"
borg_encryption_passphrase: "PLEASECHANGEME" borg_repository: "/data/backup/borg_repository"
borgmatic_config_name: "borgmatic_ynh_config" borg_encryption_passphrase: "PLEASECHANGEME"
borgmatic_cron_name: "borgmatic_ynh_cron" borgmatic_config_name: "borgmatic_ynh_config"
borgmatic_cron_name: "borgmatic_ynh_cron"
borg_retention_policy: borg_retention_policy:
keep_daily: "4" keep_daily: "4"
ynh_borg_backup_remote_repo: True ynh_borg_backup_remote_repo: True
borg_ssh_keys_src: "files/prd/ssh_keys/ynh_ed25519.vault" borg_ssh_keys_src: "files/prd/ssh_keys/ynh_ed25519.vault"
borg_ssh_keys_dest: "/home/debian/.ssh/ynh_ed25519" borg_ssh_keys_dest: "/home/debian/.ssh/ynh_ed25519"
ynh_ssh_borg_command: "ssh_command: ssh -p 7410 -o StrictHostKeychecking=no -i {{ borg_ssh_keys_dest }}" ynh_ssh_borg_command: "ssh_command: ssh -p 7410 -o StrictHostKeychecking=no -i {{ borg_ssh_keys_dest }}"
``` ```
- `ynh_borg_backup_scheduled`: Enable / disable the backup feature with BorgBackup. - `ynh_borg_backup_scheduled`: Enable / disable the backup feature with BorgBackup.
- `m3nu_ansible_role_borgbackup_version`: Allows you to specify which version of the Borg Backup Ansible role you want to use. The default version of the role is v0.9.3 but you can check the releases of the role [here](https://github.com/borgbase/ansible-role-borgbackup).
- `ynh_borg_backup_remote_repo`: Enable / disable the backup functionality on a BorgBackup remote repository (tasks related to SSH keys setup). If you enable this feature, then you will need to use `borg_ssh_keys_src` and `borg_ssh_keys_dest` variables. - `ynh_borg_backup_remote_repo`: Enable / disable the backup functionality on a BorgBackup remote repository (tasks related to SSH keys setup). If you enable this feature, then you will need to use `borg_ssh_keys_src` and `borg_ssh_keys_dest` variables.
- `borg_source_directories`: List of source folders to back up. By default, this is the folder in which YunoHost local backups are located. - `borg_source_directories`: List of source folders to back up. By default, this is the folder in which YunoHost local backups are located.
- `borg_repository`: Full path to the Borg repository. Possibility to give a list of repositories to save data in several places. - `borg_repository`: Full path to the Borg repository. Possibility to give a list of repositories to save data in several places.

View file

@ -20,21 +20,22 @@
# Variables for local YunoHost backups # Variables for local YunoHost backups
ynh_backup: ynh_backup:
scheduled: False scheduled: False
# Variables for YunoHost BorgBackup # Variables for YunoHost BorgBackup
ynh_borg_backup_scheduled: False ynh_borg_backup_scheduled: False
m3nu_ansible_role_borgbackup_version: "v0.9.3"
borg_source_directories: borg_source_directories:
- "/home/yunohost.backup" - "/home/yunohost.backup"
borg_repository: "/data/backup/borg_repository" borg_repository: "/data/backup/borg_repository"
borg_init_command: "borgmatic init -c /etc/borgmatic/{{ borgmatic_config_name }} -e repokey --syslog-verbosity 1" borg_init_command: "borgmatic init -c /etc/borgmatic/{{ borgmatic_config_name }} -e repokey --syslog-verbosity 1"
borg_archive_name_format: "'{hostname}-yunohost-live-data-{now:%Y-%m-%d-%H%M%S}'" borg_archive_name_format: "'{hostname}-yunohost-live-data-{now:%Y-%m-%d-%H%M%S}'"
ynh_borg_backup_remote_repo: False ynh_borg_backup_remote_repo: False
# Variables for YunoHost Restic # Variables for YunoHost Restic
# https://github.com/roles-ansible/ansible_role_restic # https://github.com/roles-ansible/ansible_role_restic
ynh_restic_backup_scheduled: False ynh_restic_backup_scheduled: False
do1jlr_restic_version: "v0.7.1" do1jlr_restic_version: "v0.7.1"
restic_version: "0.12.1" restic_version: "0.12.1"
restic_schedule_type: "cronjob" restic_schedule_type: "cronjob"
restic_keep_time: "0y1m0d0h" restic_keep_time: "0y1m0d0h"

View file

@ -18,7 +18,7 @@
# # # #
#-----------------------------------------------------------------------------# #-----------------------------------------------------------------------------#
- name: Download BorgBackup role on localhost - name: Download BorgBackup role on localhost
ansible.builtin.command: ansible-galaxy install m3nu.ansible_role_borgbackup,v0.9.0 -p "{{ _ansible_role_directory }}" ansible.builtin.command: ansible-galaxy install m3nu.ansible_role_borgbackup,"{{ m3nu_ansible_role_borgbackup_version }}" -p "{{ _ansible_role_directory }}"
delegate_to: localhost delegate_to: localhost
become: False become: False
tags: tags: