ivansible.lin_rclone

ivansible.lin_rclone

Statut du test Github Ansible Galaxy

Ce rôle installe rclone sur Linux, crée un wrapper fuse pour le montage, configure les connexions distantes, ajoute des entrées dans fstab ou des unités de montage systemd et déclenche l'automonteur systemd. Il crée également le groupe rclone pour un accès en lecture seule à la configuration rclone et aux montages non-root.

Exigences

Aucune

Variables

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut.

lin_rclone_version: latest
lin_rclone_repo_owner: rclone
lin_rclone_upgrade: false

Définissez l'emplacement de téléchargement de rclone, autorisez la mise à niveau du binaire déjà installé.

lin_rclone_binary: /usr/bin/rclone
lin_rclone_config: /etc/rclone/rclone.conf

Ces deux paramètres sont rarement modifiés.

lin_rclone_allow_nonroot: false
lin_rclone_group_gid: 911

Ansible créera un groupe unix rclone avec l'ID donné. Si allow_nonroot est vrai, l'utilisateur distant sera ajouté au groupe et aura donc un accès en lecture à la configuration rclone et aux montages rclone non-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 ou none

Ces paramètres configurent quelques options de montage spécifiques.

lin_rclone_bash_alias: true

Crée un alias de commande rc dans le profil utilisateur.

lin_rclone_mounts: []

Liste des montages. Chaque montage est décrit par un dictionnaire expliqué ci-dessous.

Élément de Montage

name: remote

Le nom de la connexion distante. Obligatoire.

path: /mnt/remote

Point de montage. Obligatoire même si mount est no (il sera alors retiré de fstab et systemd).

enabled: true

Booléen optionnel, par défaut à true. S'il est faux, ansible ignorera cet élément.

config: |
  type = ...
  token = [TOKEN]

Section distante en texte clair à ajouter dans le fichier de configuration rclone. La section peut contenir un espace réservé spécial [TOKEN], qui sera remplacé par l'autorisation pour cette connexion distante.

token: '{json...}'

Chaîne optionnelle contenant le jeton d'autorisation pour cette connexion distante au format libre. Comme cela est généralement un dictionnaire JSON, merci d'entourer la chaîne de guillemets simples pour éviter les problèmes avec l'analyseur YAML d'Ansible.

reuse_token: false

Cela peut être vrai, faux, chaîne vide ou le nom de la section dans la configuration de rclone. Lorsque c'est faux ou une chaîne vide (par défaut), seul le jeton configuré ci-dessus sera donné à la connexion distante (s'il est présent). Si c'est vrai, ansible cherchera un jeton précédent dans la configuration et préférera celui trouvé. Si aucun n'est trouvé, ansible retombera sur le jeton littéral ci-dessus. Par défaut, le jeton précédent est recherché dans la même section que ce nom distant, mais vous pouvez fournir un nom de section personnalisé à la place de true ici.

mount: true

Booléen optionnel. Lorsque c'est vrai (par défaut), le montage sera ajouté à fstab ou systemd. Lorsque c'est faux, l'entrée de montage sera retirée (si elle est trouvée).

systemd: <dépend de lin_rclone_prefer_systemd>

Booléen optionnel, par défaut à lin_rclone_prefer_systemd. Si vrai, une unité systemd sera créée. Si faux, une ligne fstab sera ajoutée.

automount: false

Booléen optionnel, par défaut faux. Si vrai, l'automonteur systemd sera activé pour l'entrée fstab correspondante.

nonroot: false

Normalement, les montages rclone ne sont accessibles qu'à root. Si nonroot est vrai, le montage sera accessible en lecture seule par les membres du groupe rclone.

bglog: false

Si vrai, le processus rclone en arrière-plan générera un journal de débogage dans /tmp.

proxy: proto://host:port

Proxy optionnel, le protocole étant l'un de http, https, socks, socks5.

Tags

  • lin_rclone_install -- installer rclone
  • lin_rclone_wrapper -- créer un wrapper fuse pour le montage
  • lin_rclone_config -- ajouter des connexions distantes dans le fichier de configuration
  • lin_rclone_mounts -- créer des entrées fstab/systemd et configurer l'automontage
  • lin_rclone_bashrc -- créer un alias bash pour rclone
  • lin_rclone_docker_plugin -- configurer le plugin docker rclone
  • lin_rclone_all -- tout ce qui précède

Dépendances

Ce rôle utilise le gestionnaire recharger le démon systemd du rôle ivansible.lin_base.

Exemple 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  # (ou juste true)
         automount: true
         nonroot: true
         config: |
           type = box
           token = [TOKEN]

Licence

MIT

Informations sur l'auteur

Créé entre 2019-2021 par IvanSible

À propos du projet

install rclone on linux and create mounts

Installer
ansible-galaxy install ivansible.lin_rclone
Licence
Unknown
Téléchargements
163
Propriétaire
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/