ivansible.lin_rclone

ivansible.lin_rclone

Github测试状态 Ansible银河

此角色在Linux上安装rclone,创建用于挂载的fuse包装器,配置远程,添加fstab条目或systemd挂载单元,并触发systemd自动挂载器。它还创建了rclone组,以便对rclone配置和非root挂载进行只读访问。

要求

变量

可用变量如下所示,带有默认值。

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,具有给定的ID。如果allow_nonroot为真,远程用户将被添加到该组并因此拥有对rclone配置和非root 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

挂载点。 即使mountno,也必需(然后将其从fstab和systemd中删除)。

enabled: true

可选布尔值,默认为true。如果为false,ansible将跳过此项。

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

要添加到rclone配置文件中的明文远程部分。该部分可以包含一个特殊占位符[TOKEN](字面意思),该占位符将被此远程的授权替换。

token: '{json...}'

可选字符串,包含该远程的授权令牌,格式为自由格式。 由于通常这是一个JSON字典,请将字符串放在单引号中,以避免与Ansible YAML解析器产生问题。

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,相应的fstab条目的systemd自动挂载器将被启用。

nonroot: false

通常rclone挂载仅对root可访问。如果nonroot为true,挂载将对rclone组的成员以只读方式可访问。

bglog: false

如果为true,后台的rclone进程将在/tmp中生成调试日志。

proxy: proto://host:port

可选代理,协议为httphttpssockssocks5之一。

标签

  • lin_rclone_install -- 安装rclone
  • lin_rclone_wrapper -- 创建用于挂载的fuse包装器
  • lin_rclone_config -- 在配置文件中添加远程
  • lin_rclone_mounts -- 创建fstab/systemd条目并配置自动挂载
  • lin_rclone_bashrc -- 为rclone创建bash别名
  • lin_rclone_docker_plugin -- 设置rclone docker插件
  • lin_rclone_all -- 以上所有项

依赖

此角色从角色ivansible.lin_base中获取reload systemd daemon处理程序。

示例剧本

- 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

作者信息

IvanSible于2019-2021年创建

关于项目

install rclone on linux and create mounts

安装
ansible-galaxy install ivansible.lin_rclone
许可证
Unknown
下载
163
拥有者
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/