nl2go.clickhouse_backup
Rol de Ansible: Respaldo de ClickHouse
Un Rol de Ansible que gestiona la instalación y configuración de la herramienta de respaldo de ClickHouse.
Variables del Rol
Las variables disponibles se enumeran y describen junto con los valores predeterminados en defaults/main.yml.
Dependencias
Ninguna.
Ejemplo de 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
Instalar tarea cron para ejecutar respaldos
El rol contiene tareas para configurar automáticamente 3 trabajos cron que ejecutan el respaldo de manera regular. La instalación de estos trabajos cron se puede controlar estableciendo la variable clickhouse_backup_install_crontab
, que por defecto es true
. La configuración predeterminada establecería respaldos diarios, semanales y mensuales. El número de respaldos a mantener en el almacenamiento remoto para cada tipo de respaldo se puede controlar mediante las 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
Los números dados aquí son los valores predeterminados.
Desarrollo
Utiliza docker-molecule siguiendo las instrucciones para ejecutar Molecule o instala Molecule localmente (no recomendado, pueden aparecer conflictos de versión).
Proporciona el token de Hetzner Cloud:
export HCLOUD_TOKEN=123abc456efg
Proporciona un archivo de credenciales de GCS personalizado o desencripta uno existente:
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}
Utiliza lo siguiente para ejecutar pruebas:
molecule test --all
Mantenedores
Licencia
Consulta el archivo LICENSE.md para más detalles.
Información del Autor
Este rol fue creado en 2020 por Newsletter2Go GmbH.
An Ansible Role that manages installation and configuration of the ClickHouse backup tool clickhouse-backup
ansible-galaxy install nl2go.clickhouse_backup