yurihs.borg_server
Ansibleロール: Borgサーバー
- BorgBackupをインストールします。
- SSHの
authorized_keys
を設定し、クライアントがリポジトリを使用できるようにします(それ以外はできません)。
私の他のロール、yurihs.borg_clientと連携するために作成されました。
ロール変数(デフォルト値)
borg_server_user: borg
borg_server_group: borg
キーとリポジトリにアクセスできるユーザー。
borg_server_dir: /srv/borg
リポジトリが保存される場所。
borg_server_clients: []
接続可能なクライアントのリスト。各クライアントはname
とkey
を持ち、append_only
をtrue
に設定することで「追加のみ」モードに制限できます(borg_server_append_only
がtrue
の場合、これをfalse
に設定しても効果はありません)。
borg_server_append_only: false
すべてのクライアントを「追加のみ」モードに制限します。
例
- hosts: backup
vars:
borg_server_clients:
- name: client_a
key: "{{ lookup('file', playbook_dir + '/keys/id_client_a.pub') }}"
- name: client_b
key: "{{ lookup('file', playbook_dir + '/keys/id_client_b.pub') }}"
append_only: true
roles:
- role: yurihs.borg_server
become: true
「クライアントA」は次のコマンドを使用してリポジトリを作成できます:
borg init [email protected]:my_repo
そのリポジトリは/srv/borg/repos/client_a/my_repo
に作成されます。
「クライアントB」も同様のことができますが、「追加のみ」モードでのみリポジトリにアクセスできます。