ivansible.lin_rclone
ivansible.lin_rclone
このロールは、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
マウントポイント。
mount
がno
の場合でも必須です(その場合、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によって作成されました。