lin_rclone

ivansible.lin_rclone

Статус теста на Github Ansible Galaxy

Эта роль устанавливает rclone на Linux, создает обертку fuse для монтирования, настраивает удаленные подключения, добавляет записи в fstab или юниты systemd и запускает автоматическое монтирование systemd. Она также создает группу rclone для доступа только для чтения к конфигурации rclone и монтирования без прав администратора.

Требования

Нет

Переменные

Доступные переменные перечислены ниже с значениями по умолчанию.

lin_rclone_version: latest
lin_rclone_repo_owner: rclone
lin_rclone_upgrade: false

Установите местоположение загрузки rclone, разрешите обновление уже установленного бинарного файла.

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

Эти два значения редко изменяются.

lin_rclone_allow_nonroot: false
lin_rclone_group_gid: 911

Ansible создаст группу unix rclone с указанным идентификатором. Если allow_nonroot равно true, удаленный пользователь будет добавлен в группу и, соответственно, получит доступ для чтения к конфигурации rclone и монтированию rclone без прав администратора.

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 или none

Эти настройки конфигурируют несколько конкретных опций монтирования.

lin_rclone_bash_alias: true

Создать псевдоним команды rc в профиле пользователя.

lin_rclone_mounts: []

Список монтирований. Каждое монтирование описывается словарем, объясненным ниже.

Элемент монтирования

name: remote

Имя удаленного подключения. Обязательно.

path: /mnt/remote

Точка монтирования. Обязательно даже если mount равно no (в этом случае оно будет удалено из fstab и systemd).

enabled: true

Необязательный булевый параметр, по умолчанию true. Если false, ansible просто пропустит этот элемент.

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

Раздел удаленного подключения в открытом виде, который будет добавлен в файл конфигурации rclone. Раздел может содержать специальный маркер [TOKEN] (в буквальном смысле), который будет заменен на авторизацию для этого удаленного подключения.

token: '{json...}'

Необязательная строка, содержащая токен авторизации для этого удаленного подключения в свободном формате. Поскольку это обычно является JSON-словарем, пожалуйста, оберните строку в одинарные кавычки, чтобы избежать проблем с парсером YAML Ansible.

reuse_token: false

Это может быть true, false, пустая строка или имя раздела в конфигурации rclone. Когда это false или пустая строка (по умолчанию), только токен, настроенный выше, будет выдан удаленному подключению (если он присутствует). Если это true, ansible будет искать предыдущий токен в конфигурации и предпочтет найденный. Если ничего не найдено, ansible вернется к литеральному токену выше. Предыдущий токен по умолчанию ищется в том же разделе, что и имя этого удаленного подключения, но вы можете указать пользовательское имя раздела вместо true здесь.

mount: true

Необязательный булевый параметр. Когда true (по умолчанию), монтирование будет добавлено в fstab или systemd. Когда false, запись монтирования будет удалена (если найдена).

systemd: <зависит от lin_rclone_prefer_systemd>

Необязательный булевый параметр, по умолчанию lin_rclone_prefer_systemd. Если true, будет создан юнит systemd. Если false, будет добавлена строка в fstab.

automount: false

Необязательный булевый параметр, по умолчанию false. Если true, будет включен автоматический монтировщик systemd для соответствующей записи fstab.

nonroot: false

Обычно монтирования rclone доступны только для администратора. Если nonroot равно true, монтирование будет доступно только для чтения для членов группы rclone.

bglog: false

Если true, фоновый процесс rclone будет выводить отладочный лог в /tmp.

proxy: proto://host:port

Необязательный прокси, протокол является одним из http, https, socks, socks5.

Теги

  • lin_rclone_install -- установить rclone
  • lin_rclone_wrapper -- создать обертку fuse для монтирования
  • lin_rclone_config -- добавить удаленные подключения в файл конфигурации
  • lin_rclone_mounts -- создать записи fstab/systemd и настроить автоматическое монтирование
  • lin_rclone_bashrc -- создать псевдоним bash для rclone
  • lin_rclone_docker_plugin -- настроить плагин rclone для docker
  • lin_rclone_all -- все вышеперечисленное

Зависимости

Эта роль использует обработчик reload systemd daemon из роли ivansible.lin_base.

Пример плейбука

- 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  # (или просто true)
         automount: true
         nonroot: true
         config: |
           type = box
           token = [TOKEN]

Лицензия

MIT

Информация о авторе

Создан в 2019-2021 IvanSible

О проекте

install rclone on linux and create mounts

Установить
ansible-galaxy install ivansible/lin-rclone
Лицензия
Unknown
Загрузки
145
Владелец
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/