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 variables
syncthing_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

Acerca del proyecto

Install Syncthing on Debian 11

Instalar
ansible-galaxy install L-P.syncthing
Licencia
mit
Descargas
114
Propietario