restic

Ansible Роль: Restic

CI

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.

О проекте

Restic installation for Linux & FreeBSD.

Установить
ansible-galaxy install hadret/ansible-role-restic
Лицензия
mit
Загрузки
1275
Владелец
Vegetarian, skeptic & Linux SysAdmin (: