ivansible.lin_rclone

ivansible.lin_rclone

Github Test Status Ansible Galaxy

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 installieren
  • lin_rclone_wrapper -- FUSE-Wrapper für das Einbinden erstellen
  • lin_rclone_config -- Remotes in die Konfigurationsdatei einfügen
  • lin_rclone_mounts -- fstab/systemd-Einträge erstellen und Automount konfigurieren
  • lin_rclone_bashrc -- Bash-Alias für rclone erstellen
  • lin_rclone_docker_plugin -- rclone Docker-Plugin einrichten
  • lin_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

Über das Projekt

install rclone on linux and create mounts

Installieren
ansible-galaxy install ivansible.lin_rclone
GitHub Repository
Lizenz
Unknown
Downloads
163
Besitzer
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/