fuzzymistborn.autorestic

Autorestic/Restic インストーラー

これは、resticautorestic をインストールし、設定するための Ansible ロールです。このロールのインスピレーションや基盤は、@IronicBadger に由来し、インストーラーや設定ファイルのコピー改善には @ItsNotGoodName に感謝しています。

ansible-galaxy install fuzzymistborn.autorestic でインストールできます。

特徴

  • resticautorestic の GO バイナリのインストールと設定。
  • autorestic の設定ファイルのコピー/更新。
  • 更新がある場合、バイナリを更新(バージョンが固定されていない場合)。

設定

このロールには、設定可能な変数がいくつかあります。

特定のバイナリのバージョンを固定するには、autorestic_pinned_ver または restic_pinned_ver を使えます。デフォルトでは、最新のバージョンを取得してインストールします。ロールが実行されるたびにバイナリが既に存在する場合、更新コマンドが実行されます。特定のバージョンに固定することで、この更新を無効にできます。以下は、バージョンを設定する場合の例です。

autorestic_download_latest_ver: false
autorestic_pinned_ver: 1.2.0
restic_download_latest_ver: false
restic_pinned_ver: 0.12.1

バージョンを固定すると、アップデートコマンドは実行されず、インストールされたバージョンが固定されたバージョンと一致しない場合のみバージョンが取得されます。

変更できる他の変数:

autorestic_config_user: root
autorestic_config_yaml: CHANGEME  # autorestic の設定 (yaml)
autorestic_config_path: "{{ autorestic_user_directory }}/.autorestic.yml"
autorestic_config_mode: 0600
autorestic_config_owner: "{{ autorestic_config_user }}"
autorestic_config_group: "{{ autorestic_config_user }}"

autorestic_distro: linux_amd64
restic_distro: linux_amd64

restic_gh_url, restic_install_directory などの他の変数は、インストールをカスタマイズしたい場合を除いて変更することはお勧めしません。

正しい配布を見つけるためには、autoresticrestic のリリースページを参照してください。

Autorestic 設定ファイルの例

Autorestic の設定はデフォルトでルートのホームディレクトリにコピーされます。autorestic_config_user 変数を使って、他のユーザーのホームディレクトリに変更可能です。

以下は、利用可能なオプションをすべて示す例です。

autorestic_config_yaml:
  locations:
    docker:
      from: '/opt/docker'
      to:
        - local
        - b2_docker
  backends:
    local:
      type: local
      path: /backup
      key: 123
    b2_docker:
      type: s3
      path: 'b2_backend_url'
      key: b2_password
      env:
        AWS_ACCESS_KEY_ID: 1234
        AWS_SECRET_ACCESS_KEY: 1234abc

追加のドキュメントについては、公式ドキュメント をご覧ください。

GitHub API

このロールは、最新のリリースを確認するために GitHub API を利用しています。デフォルトでは、認証なしのリクエストを使用しており、これは GitHub によって 制限 されています(1時間あたり60リクエスト)。リクエストは発信元の IP アドレスに関連付けられます。ほとんどの使用ケースでは問題ありませんが、リクエスト制限に引っかかることがあるかもしれません。認証すれば、1時間あたり5,000リクエストが可能です。

認証するには、Personal Access Token を取得してください。トークンには、スコープを選択する必要はありません。その後、以下の変数を追加します。

github_api_user: fuzzymistborn
github_api_pass: YOUR_TOKEN
github_api_auth: yes

これで完了です!

TODO

  • 基本的なタスク(バックアップ、忘却など)用の cronjob 変数を追加する??
    • 実装するつもりはありません。個々に合わせたものが多すぎて、実装方法が多彩すぎます。引き続き考えを巡らせます。
  • autorestic を更新しても restic を固定する方法を見つける。

私の仕事に感謝していただければ、ビール(またはコーヒー、その他)を買っていただけると嬉しいです。

ko-fi

プロジェクトについて

Installs restic/autorestic and creates backup configuration file

インストール
ansible-galaxy install fuzzymistborn.autorestic
ライセンス
gpl-3.0
ダウンロード
44.3k
所有者