timorunge.freeipa_server_backup

freeipa_server_backup

この役割は、あなたのFreeIPAサーバーのバックアップを管理します。

要件

この役割には、Ansible 2.6.0以上が必要です。

安定したバージョンをインストール(および定義)するには、pipを使用できます:

pip install ansible==2.7.9

すべてのプラットフォーム要件は、メタデータファイルに記載されています。

この役割を利用するには、依存関係を確認してください。

また、公式ドキュメントもご覧ください。

インストール

ansible-galaxy install timorunge.freeipa_server_backup

役割の変数

この役割に渡せる変数とその簡単な説明は以下の通りです。(すべての変数は、defaults/main.ymlを確認してください)

現時点では、バックアップディレクトリを設定することは残念ながらできません。これはipa-backupコマンド自体の制限です(デフォルトの場所は/var/lib/ipa/backupです)。

# バックアップの最大年齢(日数)
# タイプ: Int
freeipa_server_backup_max_age: 14

# フルバックアップを実行する時間を定義
# (これによりipaサービスが停止・開始されます!)
# タイプ: Dict
freeipa_server_backup_cron_full:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: 4
  day: "*"
  state: present

# オンラインバックアップを実行する時間を定義
# タイプ: Dict
freeipa_server_backup_cron_online:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: "*"
  day: "*"
  state: present

1) デフォルト設定でFreeIPAサーバーバックアップをインストール

- hosts: freeipa-server-backup
  roles:
    - timorunge.freeipa_server_backup

2) カスタム設定でFreeIPAサーバーバックアップをインストール

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_max_age: 7
    freeipa_server_backup_cron_full:
      day: "*"
      hour: 3
      minute: "11"
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_online:
      day: "*"
      hour: "*"
      minute: 33
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_delete:
      day: "*"
      hour: 3
      minute: 55
      month: "*"
      state: present
      weekday: "*"
  roles:
    - timorunge.freeipa_server_backup

3) FreeIPAサーバーバックアップをインストールし、データを別の場所に移動(rsync経由)

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_mv_location: rsync
    freeipa_server_backup_rsync_opts:
      - "-avq"
      - "--ignore-existing"
      - '-e "ssh -i /home/ipa-backups/.ssh/id_rsa"'
    freeipa_server_backup_rsync_dest: [email protected]:/var/backups/ipa-backup
  roles:
    - timorunge.freeipa_server_backup

テスト

ビルドステータス

テストは、Dockerdocker_test_runnerを使用して行われ、以下のコンテナが立ち上がります:

  • CentOS 7
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 17.10 (Artful Aardvark)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 18.10 (Cosmic Cuttlefish)

すべてのコンテナにAnsible 2.7.9がインストールされており、ローカルでtest playbookが適用されています。

さらなる詳細や追加のチェックについては、docker_test_runnerの設定Dockerエントリーポイントを確認してください。

# ローカルでのテスト:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

依存関係

この役割には、稼働中のFreeIPA Serverが必要です。 (Github Repo

リポジトリから直接FreeIPAパッケージを提供しないオペレーティングシステムを使用している場合は、上記のAnsible役割を使用できます。

この場合、freeipa_server_backup_install_pkgsfalseに設定して、役割のパッケージインストールを無効にしてください。

TODO

  • バックアップを暗号化する機能を追加する(--gpgおよび--gpg-keyring=GPG_KEYRING
  • ファイルをオフサイトの場所に移動する(s3、rsync & ssh

ライセンス

BSD 3-Clause "New" or "Revised" License

作者情報

  • ティモ・ルンゲ
プロジェクトについて

FreeIPA Identity Management server backup.

インストール
ansible-galaxy install timorunge.freeipa_server_backup
ライセンス
Unknown
ダウンロード
9.1k
所有者