ivansible.lin_rclone
ivansible.lin_rclone
Este rol instala rclone en Linux, crea un envoltorio de fuse para montar, configura remotos, añade entradas en fstab o unidades de montaje de systemd y activa el montador automático de systemd. También crea el grupo rclone
para acceso de solo lectura a la configuración de rclone y montajes no root.
Requisitos
Ninguno
Variables
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados.
lin_rclone_version: latest
lin_rclone_repo_owner: rclone
lin_rclone_upgrade: false
Establece la ubicación de descarga de rclone, permite actualizar el binario ya instalado.
lin_rclone_binary: /usr/bin/rclone
lin_rclone_config: /etc/rclone/rclone.conf
Estos dos son rara vez modificados.
lin_rclone_allow_nonroot: false
lin_rclone_group_gid: 911
Ansible creará un grupo de unix llamado rclone
con el Id dado. Si allow_nonroot
es verdadero, el usuario remoto se añadirá al grupo y, en consecuencia, tendrá acceso de lectura a la configuración de rclone y a montajes de rclone no root.
lin_rclone_idle_timeout: 900
lin_rclone_mount_timeout: 10
lin_rclone_vfs_cache_mode: writes
lin_rclone_dir_cache_time: 30s
lin_rclone_mount_verb: mount, cmount, mount2 o none
Estas configuraciones establecen algunas opciones específicas de montaje.
lin_rclone_bash_alias: true
Crea un alias de comando rc en el perfil del usuario.
lin_rclone_mounts: []
Lista de montajes. Cada montaje se describe mediante un diccionario que se explica a continuación.
Elemento de Montaje
name: remote
El nombre del remoto. Requerido.
path: /mnt/remote
Punto de montaje.
Requerido incluso si mount
es no
(se eliminará de fstab y de systemd).
enabled: true
Booleano opcional, por defecto es true
. Si es falso, ansible simplemente ignorará este elemento.
config: |
type = ...
token = [TOKEN]
Sección de remoto en texto plano que se añadirá en el archivo de configuración de rclone. La sección puede contener un marcador de posición especial [TOKEN]
(literalmente), que será reemplazado por la autorización para este remoto.
token: '{json...}'
Cadena opcional que contiene el token de autorización para este remoto en formato libre. Como esto suele ser un diccionario JSON, por favor envuelve la cadena entre comillas simples para evitar problemas con el analizador YAML de Ansible.
reuse_token: false
Esto puede ser verdadero, falso, cadena vacía o el nombre de la sección en la configuración de rclone. Cuando es falso o una cadena vacía (el valor predeterminado), solo se dará el token configurado arriba al remoto (si está presente). Si esto es verdadero, ansible buscará un token anterior en la configuración y preferirá el que se encuentre. Si no se encuentra ninguno, ansible volverá al token literal anterior. El token anterior se busca por defecto en la misma sección que el nombre de este remoto, pero puedes proporcionar un nombre de sección personalizado en su lugar.
mount: true
Booleano opcional. Cuando es verdadero (el valor predeterminado), el montaje se añadirá a fstab o systemd. Cuando es falso, la entrada de montaje será eliminada (si se encuentra).
systemd: <depende de lin_rclone_prefer_systemd>
Booleano opcional, por defecto es lin_rclone_prefer_systemd
.
Si es verdadero, se creará una unidad de systemd.
Si es falso, se añadirá una línea en fstab.
automount: false
Booleano opcional, por defecto es falso. Si es verdadero, se habilitará el montador automático de systemd para la entrada correspondiente en fstab.
nonroot: false
Normalmente, los montajes de rclone solo son accesibles por root. Si nonroot
es verdadero, el montaje será accesible de solo lectura por los miembros del grupo rclone
.
bglog: false
Si es verdadero, el proceso de rclone en segundo plano volcará un registro de depuración en /tmp.
proxy: proto://host:port
Proxy opcional, el protocolo es uno de http
, https
, socks
, socks5
.
Etiquetas
lin_rclone_install
-- instalar rclonelin_rclone_wrapper
-- crear envoltorio de fuse para montarlin_rclone_config
-- añadir remotos en el archivo de configuraciónlin_rclone_mounts
-- crear entradas en fstab/systemd y configurar el montado automáticolin_rclone_bashrc
-- crear alias de bash para rclonelin_rclone_docker_plugin
-- configurar el plugin de rclone en dockerlin_rclone_all
-- todo lo anterior
Dependencias
Este rol utiliza el controlador de recargar el daemon de systemd
del rol ivansible.lin_base
.
Ejemplo de Playbook
- hosts: mystorage
roles:
- role: ivansible.lin_rclone
lin_rclone_allow_nonroot: true
lin_rclone_mounts:
- name: box
path: /mnt/box
token: "my_box_token"
reuse_token: another_box_section # (o simplemente true)
automount: true
nonroot: true
config: |
type = box
token = [TOKEN]
Licencia
MIT
Información del Autor
Creado entre 2019-2021 por IvanSible
install rclone on linux and create mounts
ansible-galaxy install ivansible.lin_rclone