lin_rclone
ivansible.lin_rclone
Эта роль устанавливает 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
-- установить rclonelin_rclone_wrapper
-- создать обертку fuse для монтированияlin_rclone_config
-- добавить удаленные подключения в файл конфигурацииlin_rclone_mounts
-- создать записи fstab/systemd и настроить автоматическое монтированиеlin_rclone_bashrc
-- создать псевдоним bash для rclonelin_rclone_docker_plugin
-- настроить плагин rclone для dockerlin_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
ansible-galaxy install ivansible/lin-rclone