nl2go.clickhouse_backup
Rôle Ansible : Sauvegarde ClickHouse
Un rôle Ansible qui gère l'installation et la configuration de l'outil de sauvegarde ClickHouse.
Variables du rôle
Les variables disponibles sont listées et décrites avec leurs valeurs par défaut dans defaults/main.yml.
Dépendances
Aucune.
Exemple de Playbook
- hôtes: all
rôles:
- { rôle: 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
Installer cronjob pour exécuter des sauvegardes
Le rôle contient des tâches pour configurer automatiquement 3 cron jobs qui exécutent la sauvegarde régulièrement. L'installation de ces cron jobs peut être contrôlée en définissant la variable clickhouse_backup_install_crontab
, dont la valeur par défaut est true
. La configuration par défaut mettrait en place des sauvegardes quotidiennes, hebdomadaires et mensuelles. Le nombre de sauvegardes à conserver sur le stockage distant pour chaque type de sauvegarde peut être contrôlé par les variables :
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
Les nombres donnés ici sont les valeurs par défaut.
Développement
Utilisez docker-molecule en suivant les instructions pour exécuter Molecule ou installez Molecule localement (non recommandé, des conflits de version peuvent apparaître).
Fournissez le token de Hetzner Cloud :
export HCLOUD_TOKEN=123abc456efg
Fournissez un fichier de credentials GCS personnalisé ou déchiffrez un fichier de credentials existant :
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}
Utilisez ce qui suit pour exécuter les tests :
molecule test --all
Mainteneurs
Licence
Voir le fichier LICENSE.md pour plus de détails.
Informations sur l'auteur
Ce rôle a été créé en 2020 par Newsletter2Go GmbH.
An Ansible Role that manages installation and configuration of the ClickHouse backup tool clickhouse-backup
ansible-galaxy install nl2go.clickhouse_backup