ivansible.lin_rclone
ivansible.lin_rclone
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 rclonelin_rclone_wrapper
-- créer un wrapper fuse pour le montagelin_rclone_config
-- ajouter des connexions distantes dans le fichier de configurationlin_rclone_mounts
-- créer des entrées fstab/systemd et configurer l'automontagelin_rclone_bashrc
-- créer un alias bash pour rclonelin_rclone_docker_plugin
-- configurer le plugin docker rclonelin_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
ansible-galaxy install ivansible.lin_rclone