ivansible.lin_rclone

ivansible.lin_rclone

Stan testów Github Ansible Galaxy

Ta rola instaluje rclone na systemie Linux, tworzy wrapper FUSE do montowania, konfiguruje zdalne połączenia, dodaje wpisy do fstab lub jednostki systemd oraz uruchamia automontować systemd. Tworzy również grupę rclone dla dostępu tylko do odczytu do konfiguracji rclone i montażu dla użytkowników nie będących roota.

Wymagania

Brak

Zmienne

Dostępne zmienne są wymienione poniżej wraz z wartościami domyślnymi.

lin_rclone_version: latest
lin_rclone_repo_owner: rclone
lin_rclone_upgrade: false

Ustaw lokalizację pobierania rclone, umożliwiając aktualizację już zainstalowanego pliku binarnego.

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

Te dwie wartości rzadko są modyfikowane.

lin_rclone_allow_nonroot: false
lin_rclone_group_gid: 911

Ansible utworzy grupę unixową rclone z podanym identyfikatorem. Jeśli allow_nonroot jest ustawione na prawdę, zdalny użytkownik zostanie dodany do grupy i tym samym zyska dostęp tylko do odczytu do konfiguracji rclone oraz montażów nie będących rootem.

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 lub none

Ustawienia te konfigurować kilka specyficznych opcji montowania.

lin_rclone_bash_alias: true

Tworzy alias polecenia rc w profilu użytkownika.

lin_rclone_mounts: []

Lista montażów. Każdy montaż opisany jest przez słownik wyjaśniony poniżej.

Element Montażu

name: remote

Nazwa zdalnego połączenia. Wymagana.

path: /mnt/remote

Punkt montowania. Wymagany nawet jeśli mount jest ustawione na no (wówczas zostanie usunięty z fstab i systemd).

enabled: true

Opcjonalna wartość logiczna, domyślnie true. Jeśli false, ansible po prostu pominie ten element.

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

Sekcja zdalna w formacie tekstowym, która zostanie dodana do pliku konfiguracyjnego rclone. Sekcja może zawierać specjalny placeholder [TOKEN] (dosłownie), który zostanie zastąpiony autoryzacją dla tej zdalnej.

token: '{json...}'

Opcjonalny ciąg zawierający token autoryzacyjny dla tej zdalnej w dowolnym formacie. Ponieważ zazwyczaj jest to słownik JSON, proszę otoczyć ciąg pojedynczymi cudzysłowami, aby uniknąć problemów z parserem YAML Ansible.

reuse_token: false

Może być prawdą, fałszem, pustym ciągiem lub nazwą sekcji w konfiguracji rclone. Gdy jest ustawione na fałsz lub pusty ciąg (wartość domyślna), tylko token skonfigurowany powyżej zostanie przekazany do zdalnego (jeśli jest obecny). Jeśli jest prawdziwe, ansible poszuka poprzedniego tokena w konfiguracji i woli ten, który zostanie znaleziony. Jeśli nie zostanie znaleziony, ansible zwróci się do dosłownego tokena powyżej. Poprzedni token jest domyślnie poszukiwany w tej samej sekcji co nazwa tego zdalnego, ale zamiast prawdy można podać niestandardową nazwę sekcji.

mount: true

Opcjonalna wartość logiczna. Gdy jest prawdziwa (wartość domyślna), montaż zostanie dodany do fstab lub systemd. Gdy jest fałszywe, wpis montażu zostanie usunięty (jeśli znaleziony).

systemd: <zależy od lin_rclone_prefer_systemd>

Opcjonalna wartość logiczna, domyślnie lin_rclone_prefer_systemd. Jeśli prawda, zostanie utworzona jednostka systemd. Jeśli fałsz, zostanie dodany zapis do fstab.

automount: false

Opcjonalna wartość logiczna, domyślnie fałsz. Jeśli prawda, automontowanie systemd będzie włączone dla odpowiedniego wpisu fstab.

nonroot: false

Normalnie montaż rclone jest dostępny tylko dla użytkownika root. Jeśli nonroot jest prawdziwe, montaż będzie dostępny do odczytu dla członków grupy rclone.

bglog: false

Jeśli prawda, działający w tle proces rclone będzie zapisywać dziennik debugowania w /tmp.

proxy: proto://host:port

Opcjonalny proxy, protokół to jeden z http,https,socks,socks5.

Tagowanie

  • lin_rclone_install -- instalacja rclone
  • lin_rclone_wrapper -- utworzenie wrappera fuse dla montowania
  • lin_rclone_config -- dodanie zdalnych połączeń do pliku konfiguracyjnego
  • lin_rclone_mounts -- tworzenie wpisów fstab/systemd i konfigurowanie automontowania
  • lin_rclone_bashrc -- utworzenie aliasu bash dla rclone
  • lin_rclone_docker_plugin -- konfiguracja pluginu docker rclone
  • lin_rclone_all -- wszystkie powyższe

Zależności

Ta rola pobiera handler reload systemd daemon z roli ivansible.lin_base.

Przykład Skryptu

- 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  # (lub po prostu prawda)
         automount: true
         nonroot: true
         config: |
           type = box
           token = [TOKEN]

Licencja

MIT

Informacje o Autorze

Stworzone w latach 2019-2021 przez IvanSible

O projekcie

install rclone on linux and create mounts

Zainstaluj
ansible-galaxy install ivansible.lin_rclone
Licencja
Unknown
Pobrania
163
Właściciel
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/