fuzzymistborn.autorestic
Instalador de Autorestic/Restic
Un rol de Ansible para instalar y configurar restic y autorestic. La inspiración/basamento del rol proviene de @IronicBadger y también de @ItsNotGoodName por las mejoras en la copia del instalador/configuración.
Instala con ansible-galaxy install fuzzymistborn.autorestic
Características
- Instalación y configuración de los binarios GO de
restic
yautorestic
. - Copia/actualización del archivo de configuración de
autorestic
. - Actualización de binarios si hay una nueva versión y no está fijada.
Configuración
Este rol tiene varias variables que se pueden configurar.
Además, puedes fijar una versión específica de cualquiera de los binarios con autorestic_pinned_ver
o restic_pinned_ver
. Por defecto, el rol descarga e instala la última versión disponible, y ejecutará el comando de actualización si el binario ya está presente cada vez que se ejecute el rol. Puedes desactivar esto fijando una versión específica. Aquí hay un ejemplo si deseas establecer la versión.
autorestic_download_latest_ver: false
autorestic_pinned_ver: 1.2.0
restic_download_latest_ver: false
restic_pinned_ver: 0.12.1
Al establecer una versión fijada, los comandos de actualización no se ejecutarán y solo se descargará una versión si la versión instalada no coincide con la versión fijada.
Otras variables que se pueden cambiar:
autorestic_config_user: root
autorestic_config_yaml: CAMBIA ESTO # configuración de autorestic en yaml
autorestic_config_path: "{{ autorestic_user_directory }}/.autorestic.yml"
autorestic_config_mode: 0600
autorestic_config_owner: "{{ autorestic_config_user }}"
autorestic_config_group: "{{ autorestic_config_user }}"
autorestic_distro: linux_amd64
restic_distro: linux_amd64
No recomiendo cambiar otras variables, como restic_gh_url
, restic_install_directory
, etc., a menos que desees personalizar la instalación.
Consulta las páginas de lanzamiento para autorestic y restic para encontrar la distribución correcta para tu instalación.
Ejemplo de archivo de configuración de Autorestic
La configuración de Autorestic se copia al directorio de inicio de root por defecto. Se puede cambiar a otro directorio de inicio de usuario con la variable autorestic_config_user
.
A continuación, hay un ejemplo que muestra todas las opciones disponibles.
autorestic_config_yaml:
locations:
docker:
from: '/opt/docker'
to:
- local
- b2_docker
backends:
local:
type: local
path: /backup
key: 123
b2_docker:
type: s3
path: 'b2_backend_url'
key: b2_password
env:
AWS_ACCESS_KEY_ID: 1234
AWS_SECRET_ACCESS_KEY: 1234abc
Para documentación adicional, consulta los documentos oficiales.
API de Github
Este rol utiliza la API de GitHub para determinar la última versión disponible. Por defecto, el rol utiliza solicitudes no autenticadas, que son limitadas por GitHub a 60 solicitudes por hora. Las solicitudes están asociadas con la dirección IP de origen. Para la mayoría de los casos de uso, esto no es un problema. Sin embargo, es posible que te encuentres con limitaciones. Si te autenticas, puedes hacer 5,000 solicitudes por hora.
Para autenticarte, debes obtener un Token de Acceso Personal. El token no necesita que se seleccionen ningún alcance. Luego, agrega las siguientes variables:
github_api_user: fuzzymistborn
github_api_pass: TU_TOKEN
github_api_auth: yes
¡Eso es todo!
Tareas Pendientes
Agregar variables de cronjob (?) para tareas básicas (respaldo, olvidar, etc).- No creo que lo implemente. Demasiado personalizado y demasiada variedad en cómo hacerlo. Seguiré intentando pensar en una manera.
Encontrar una manera de fijar restic incluso si se actualiza autorestic.
Si aprecias mi trabajo, por favor considera invitarme a una cerveza (o café, o lo que sea)
ansible-galaxy install fuzzymistborn.autorestic