L-P.syncthing
ansible-role-syncthing
Instalar Syncthing.
Requisitos
Una distribución basada en Debian, root o become en el host remoto.
Mira la documentación de Syncthing
para ver qué puertos abrir. La configuración del firewall no se maneja en este rol.
Variables del Rol
Todas las variables son opcionales.
La única forma de establecer opciones de Syncthing es editando su archivo config.xml
,
ve la sección de Ejemplo de Playbook para más detalles.
# Si el repositorio/claves cambian o quieres alojar el tuyo propio, cambia esto:
syncthing_apt_key_id:
syncthing_apt_key_url:
syncthing_apt_repository:
# Si deseas cambiar el nombre de usuario o la carpeta de inicio de syncthing:
syncthing_user:
syncthing_user_home:
# Establece esto en falso si no quieres que el rol cree y gestione al usuario.
# Necesitarás crear el usuario especificado en syncthing_user manualmente
# _antes_ de usar el rol.
syncthing_manage_user:
# Establece esto en verdadero para obtener la configuración de Syncthing del host remoto,
# consulta la sección de Ejemplo de Playbook.
syncthing_fetch_config:
# Donde se escribirán los archivos obtenidos.
syncthing_fetch_dir:
# Contenido de los archivos de configuración
syncthing_config_cert:
syncthing_config_key:
syncthing_config_https_cert:
syncthing_config_https_key:
syncthing_config_config:
Dependencias
Ninguna.
Ejemplo de Playbook
# Instalar Syncthing
- hosts: servers
roles:
- { role: l-p.syncthing }
La configuración de Syncthing es dinámica y se edita en tiempo de ejecución usando la GUI.
Necesitarás obtener la configuración del host y escribirla en las variablessyncthing_config_*
si quieres mantenerla segura y asegurarte de que es la
configuración que realmente tienes en el servidor la próxima vez que ejecutes el rol.
No obtener la configuración antes de ejecutar el rol de nuevo significa que
todos los nuevos dispositivos/carpetas/configuración se borrarán del host remoto.
Si no configuras las variables syncthing_config_*
, nada será sobrescrito,
pero perderás tu configuración si tu servidor se quema.
# Obtener la configuración generada
- hosts: servers
roles:
- { role: l-p.syncthing, syncthing_fetch_config: true }
Puedes usar lookup
para leer los archivos y establecer las variables:
syncthing_config_cert: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/cert.pem')}}"
syncthing_config_key: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/key.pem')}}"
syncthing_config_https_cert: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/https-cert.pem')}}"
syncthing_config_https_key: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/https-key.pem')}}"
syncthing_config_config: "{{lookup('file', 'files/{{ inventory_hostname }}/home/syncthing/.config/syncthing/config.xml')}}"
Recomiendo usar ansible-vault
para cifrar las claves, lookup
las descifrará
al vuelo.
Licencia
MIT
ansible-galaxy install L-P.syncthing