ivansible.lin_rclone
ivansible.lin_rclone
Diese Rolle installiert rclone auf Linux, erstellt eine FUSE-Umgebung für das Einbinden, konfiguriert die Remote-Verbindungen, fügt Einträge in die fstab oder systemd-Einheiten hinzu und aktiviert den systemd-Automounter. Sie erstellt auch die Gruppe rclone
für den schreibgeschützten Zugriff auf die rclone-Konfiguration und nicht-root-Mounts.
Voraussetzungen
Keine
Variablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten.
lin_rclone_version: latest
lin_rclone_repo_owner: rclone
lin_rclone_upgrade: false
Setzen Sie den Speicherort für den rclone-Download und erlauben Sie das Upgrade einer bereits installierten Version.
lin_rclone_binary: /usr/bin/rclone
lin_rclone_config: /etc/rclone/rclone.conf
Diese beiden werden selten geändert.
lin_rclone_allow_nonroot: false
lin_rclone_group_gid: 911
Ansible erstellt eine Unix-Gruppe rclone
mit der angegebenen ID. Wenn allow_nonroot
auf true gesetzt ist, wird der Remote-Benutzer zur Gruppe hinzugefügt und hat somit Lesezugriff auf die rclone-Konfiguration und nicht-root rclone-Mounts.
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 oder none
Diese Einstellungen konfigurieren einige spezifische Optionen für das Einbinden.
lin_rclone_bash_alias: true
Erstellt einen Befehlsalias rc im Benutzerprofil.
lin_rclone_mounts: []
Liste der Mounts. Jeder Mount wird durch ein Wörterbuch beschrieben, das unten erklärt wird.
Mount-Element
name: remote
Der Name der Remote-Verbindung. Erforderlich.
path: /mnt/remote
Einbindungspunkt.
Erforderlich, auch wenn mount
auf no
gesetzt ist (wird dann aus der fstab und systemd entfernt).
enabled: true
Optionales Boolean, standardmäßig auf true
. Wenn false, überspringt Ansible einfach dieses Element.
config: |
type = ...
token = [TOKEN]
Der Klartext-Remote-Bereich, der in die rclone-Konfigurationsdatei eingefügt wird. Der Abschnitt kann einen speziellen Platzhalter [TOKEN]
(wörtlich) enthalten, der durch die Autorisierung für diese Remote-Verbindung ersetzt wird.
token: '{json...}'
Optionale Zeichenkette mit dem Autorisierungstoken für diese Remote-Verbindung im freien Format. Da dies normalerweise ein JSON-Wörterbuch ist, sollten Sie die Zeichenkette in einfache Anführungszeichen setzen, um Probleme mit dem Ansible YAML-Parser zu vermeiden.
reuse_token: false
Dies kann true, false, eine leere Zeichenkette oder der Name des Abschnitts in der rclone-Konfiguration sein. Wenn dies false oder eine leere Zeichenkette ist (der Standardwert), wird nur das oben konfigurierte Token an die Remote-Verbindung übergeben (sofern vorhanden). Wenn dies true ist, sucht Ansible nach einem vorherigen Token in der Konfiguration und bevorzugt das gefundene. Wenn keines gefunden wird, greift Ansible auf das literale Token oben zurück. Das vorherige Token wird standardmäßig im selben Abschnitt wie dieser Remote-Name gesucht, aber Sie können stattdessen auch einen benutzerdefinierten Abschnittsnamen angeben.
mount: true
Optionales Boolean. Wenn true (der Standardwert), wird der Mount in die fstab oder systemd hinzugefügt. Wenn false, wird der Eintrag entfernt (sofern vorhanden).
systemd: <abhängig von lin_rclone_prefer_systemd>
Optionales Boolean, standardmäßig auf lin_rclone_prefer_systemd
.
Wenn true, wird eine systemd-Einheit erstellt.
Wenn false, wird eine fstab-Zeile hinzugefügt.
automount: false
Optionales Boolean, standardmäßig false. Wenn true, wird der systemd-Automounter für den entsprechenden fstab-Eintrag aktiviert.
nonroot: false
Normalerweise sind rclone-Mounts nur für root zugänglich. Wenn nonroot
true ist, ist der Mount schreibgeschützt für die Mitglieder der Gruppe rclone
.
bglog: false
Wenn true, gibt der Hintergrundprozess von rclone ein Debugging-Protokoll in /tmp aus.
proxy: proto://host:port
Optionaler Proxy, das Protokoll ist eines von http
, https
, socks
, socks5
.
Tags
lin_rclone_install
-- rclone installierenlin_rclone_wrapper
-- FUSE-Wrapper für das Einbinden erstellenlin_rclone_config
-- Remotes in die Konfigurationsdatei einfügenlin_rclone_mounts
-- fstab/systemd-Einträge erstellen und Automount konfigurierenlin_rclone_bashrc
-- Bash-Alias für rclone erstellenlin_rclone_docker_plugin
-- rclone Docker-Plugin einrichtenlin_rclone_all
-- alles oben Genannte
Abhängigkeiten
Diese Rolle verwendet den reload systemd daemon
-Handler aus der Rolle ivansible.lin_base
.
Beispiel-Playbook
- hosts: mystorage
roles:
- role: ivansible.lin_rclone
lin_rclone_allow_nonroot: true
lin_rclone_mounts:
- name: box
path: /mnt/box
token: "mein_box_token"
reuse_token: another_box_section # (oder einfach true)
automount: true
nonroot: true
config: |
type = box
token = [TOKEN]
Lizenz
MIT
Autoreninformationen
Erstellt in den Jahren 2019–2021 von IvanSible
ansible-galaxy install ivansible.lin_rclone