restic
Ansible Роль: Restic
Ansible роль, которая устанавливает restic на Linux и FreeBSD.
Требования
Отсутствуют.
Переменные роли
Доступные переменные перечислены ниже, вместе с значениями по умолчанию (см. defaults/main.yml):
restic_version: '0.15.1'
restic_install_path: '/usr/local/bin'
restic_password_file_path: '/root'
restic_discard_cron_stdout: false
restic_user: root
restic_group: "{{ restic_user }}"
restic_version
указывает версию бинарного файла restic, который должен быть установлен. Она сопоставляется с репозиторием на GitHub, где анонсируются релизы для загрузки.restic_install_path
предоставляет путь, из которого бинарный файл restic должен быть доступен (/usr/local/bin
по умолчанию происходит часть из$PATH
). Это также тот же путь, который используется оберткой скрипта, выполняющего фактическое выполнение резервного копирования, где имя формируется как$restic_install_path/restic-$job_name
(об этом подробнее позже).restic_password_file_path
указывает путь к папке, в которой должны храниться файлы паролей для репозиториев restic. Каждый файл формируется как$restic_password_file_path/.restic-@job_name
. Эти файлы скрыты (поэтому точка перед файлом) по умолчанию и имеют ограниченный доступ только для чтения дляrestic_user
иrestic_group
. По умолчанию этоroot
, но это можно переопределить, и можно использовать любого действительного/уже существующего пользователя. В этом случае будут обеспечены соответствующие полномочия для этого пользователя.
restic_discard_cron_stdout: false
Определяет, должен ли вывод задания cron перенаправляться в /dev/null
или нет
(при установке значения false
будет отправляться электронное письмо при каждом выполнении).
restic_prometheus_exporter: true
restic_prometheus_output_path: /var/lib/node_exporter/textfile_collector
Включает очень простую интеграцию с Prometheus, которая будет записывать три
значения в стандартное место для текстовых файлов коллектора. Обратите внимание, что для включения
этой поддержки будут установлены/требуются две дополнительных зависимости:
jq
и moreutils
(для sponge
).
restic_repos: []
Это определяет массив заданий restic. Каждое определенное задание создаст отдельный скрипт-обертку и файл пароля. Примеры можно найти в defaults/main.yml.
Зависимости
Отсутствуют.
Пример плейбука
- hosts: all
roles:
- hadret.restic
Благодарности
Эта роль построена на основе работы
donat-b/ansible-restic и
paulfantom/ansible-restic. Все
тесты molecule
и конфигурация CI основаны на работе
geerlingguy. Многие части интеграции с Prometheus были взяты
прямо из этой темы форума Restic.
Лицензия
MIT
Информация об авторе
Эта роль была собрана в 2018 году Filip Chabik.
ansible-galaxy install hadret/ansible-role-restic