ivansible.lin_rclone
ivansible.lin_rclone
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 rclonelin_rclone_wrapper
-- utworzenie wrappera fuse dla montowanialin_rclone_config
-- dodanie zdalnych połączeń do pliku konfiguracyjnegolin_rclone_mounts
-- tworzenie wpisów fstab/systemd i konfigurowanie automontowanialin_rclone_bashrc
-- utworzenie aliasu bash dla rclonelin_rclone_docker_plugin
-- konfiguracja pluginu docker rclonelin_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
ansible-galaxy install ivansible.lin_rclone