nl2go.clickhouse_backup

Ansible Role: ClickHouse バックアップ

ClickHouse バックアップツールのインストールと設定を管理するAnsible Roleです。

Role 変数

使用可能な変数は defaults/main.yml にリストされ、説明されています。

依存関係

なし。

例 Playbook

- hosts: all
  roles:
     - { role: nl2go.clickhouse_backup }
  vars:
    clickhouse_backup_version: 0.5.2
    clickhouse_backup_general_remote_storage: gcs
    clickhouse_backup_gcs_credentials_json: !vault |
      $ANSIBLE_VAULT;1.2;AES256;production
      1234xxx...
    clickhouse_backup_gcs_bucket: clickhouse-backup-bucket
    clickhouse_backup_gcs_path: "clickhouse"
    clickhouse_backup_clickhouse_host: "{{ ansible_default_ipv4.address }}"
    clickhouse_backup_clickhouse_password: 123SECURE

バックアップ用のcronジョブをインストール

このRoleには、定期的にバックアップを実行するための3つのcronジョブを自動的に設定するタスクが含まれています。これらのcronジョブは、変数 clickhouse_backup_install_crontab を設定することによって制御できます。デフォルトは true です。デフォルトの設定では、日次、週次、月次のバックアップが設定されます。リモートストレージに保持するバックアップの数は次の変数で制御できます:

clickhouse_backup_general_backups_to_keep_remote_daily: 7
clickhouse_backup_general_backups_to_keep_remote_weekly: 4
clickhouse_backup_general_backups_to_keep_remote_monthly: 12

ここに記載されている数字はデフォルト値です。

開発

Docker-Moleculeを使用して、Moleculeを実行する手順に従ってください。 または、Moleculeをローカルにインストールすることもできます(推奨しません。バージョンの競合が発生する可能性があります)。

Hetzner Cloudトークンを提供:

export HCLOUD_TOKEN=123abc456efg

カスタムまたは既存のGCS認証ファイルを復号:

export CI_FILE_SECRET=123
openssl aes-256-cbc -d \
    -in molecule/resources/clickhouse-backup-gcs-credentials.json.enc \
    -out molecule/resources/clickhouse-backup-gcs-credentials.json \
    -md sha256 \
    -k ${CI_FILE_SECRET}

テストを実行するには、以下を使用:

molecule test --all

メンテナ

ライセンス

詳細については、LICENSE.mdファイルを参照してください。

著者情報

このRoleは2020年にNewsletter2Go GmbHによって作成されました。

プロジェクトについて

An Ansible Role that manages installation and configuration of the ClickHouse backup tool clickhouse-backup

インストール
ansible-galaxy install nl2go.clickhouse_backup
ライセンス
mit
ダウンロード
4.2k