ivansible.lin_rclone

ivansible.lin_rclone

Github テストステータス Ansible Galaxy

このロールは、Linuxにrcloneをインストールし、マウント用のfuseラッパーを作成します。 リモートの設定を行い、fstabエントリやsystemdマウントユニットを追加し、 systemdオートマウントをトリガーします。 また、rcloneの設定と非rootマウントへの読み取り専用アクセスのための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

これら2つは通常変更されません。

lin_rclone_allow_nonroot: false
lin_rclone_group_gid: 911

Ansibleは指定されたIDのUnixグループrcloneを作成します。allow_nonrootがtrueの場合、リモートユーザーがグループに追加され、結果として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は設定内の以前のトークンを探し、見つかったものを優先します。見つからない場合は、上記で指定されたリテラルトークンにフォールバックします。以前のトークンはデフォルトでこのリモート名と同じセクションで探されますが、ここで別のカスタムセクション名を指定することもできます。

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

オプションのプロキシ、プロトコルはhttp,https,socks,socks5のいずれかです。

タグ

  • 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ドッカープラグインのセットアップ
  • 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

作成者情報

2019-2021年にIvanSibleによって作成されました。

プロジェクトについて

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/