nl2go.clickhouse_backup
Ansible Rolle: ClickHouse Backup
Eine Ansible Rolle, die die Installation und Konfiguration des ClickHouse Backup Werkzeugs verwaltet.
Rollenvariablen
Verfügbare Variablen sind in defaults/main.yml aufgelistet und beschrieben, zusammen mit den Standardwerten.
Abhängigkeiten
Keine.
Beispiel-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
Cronjob zur Ausführung von Backups installieren
Die Rolle enthält Aufgaben, um automatisch 3 Cron-Jobs einzurichten, die regelmäßig Backups durchführen. Die Installation dieser Cron-Jobs kann durch Setzen der Variablen clickhouse_backup_install_crontab
, die standardmäßig auf true
gesetzt ist, gesteuert werden. Die Standardkonfiguration würde tägliche, wöchentliche und monatliche Backups einrichten. Die Anzahl der Backups, die im Remote-Speicher für jede Art von Backup aufbewahrt werden, kann durch die Variablen gesteuert werden:
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
Die hier angegebenen Zahlen sind die Standardwerte.
Entwicklung
Verwenden Sie docker-molecule und folgen Sie den Anweisungen, um Molecule auszuführen oder installieren Sie Molecule lokal (nicht empfohlen, da Versionskonflikte auftreten können).
Geben Sie das Hetzner Cloud-Token an:
export HCLOUD_TOKEN=123abc456efg
Geben Sie eine benutzerdefinierte Datei für GCS-Anmeldeinformationen an oder entschlüsseln Sie eine bestehende Datei:
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}
Um Tests auszuführen, verwenden Sie Folgendes:
molecule test --all
Pfleger
Lizenz
Siehe die LICENSE.md Datei für Details.
Autor Informationen
Diese Rolle wurde 2020 von Newsletter2Go GmbH erstellt.
An Ansible Role that manages installation and configuration of the ClickHouse backup tool clickhouse-backup
ansible-galaxy install nl2go.clickhouse_backup