Backup engine závisí na řadě nástrojů: psql, pg_dump, jq, python3, docker CLI, restic, shasum. Ruční instalace těchto závislostí na každém VM je:
Zvažované alternativy:
A) Bash skript + apt/yum instalace závislostí — runtime drift, složitá správa verzí
B) Ansible/Chef provisioning — vyžaduje CM infrastrukturu, overkill pro tento scope
C) Docker image (zvoleno) — hermetické prostředí, konzistentní napříč VM, jednoduché nasazení
Image obsah (Dockerfile):
debian:bookworm-slimpostgresql-client (psql, pg_dump), jq, python3, restic, perl (shasum)/opt/ep21-backup/Entrypoint command routing (docker-entrypoint.sh):
daily — spustí kompletní orchestraci (db_bkup_daily.sh)backup — pouze primary vrstvareport / retention-report / storage-report — reportingrestic-posthook — restic snapshot + retentionprune-local — prune lokálních dumpůcron-daemon — startuje interní cron dle DAILY_CRON envshell — interaktivní debug přístupDeployment: kontejner startuje automaticky při startu VM (systemd unit nebo Docker Compose restart: always). Je součástí EP21 golden image — viz ADR-0002 § agent deployment model.
Pozitivní:
docker pull + restart kontejneruNegativní:
DB_BKUP_ROOT, restic repo), secrets (RESTIC_PASSWORD_FILE) a Docker socketuFollow-up (TBD):
machine_name_uniq při bootstrapu VM — zajistí uniqueness identifikátoru napříč celou EP21 infrastrukturou| Version | Date | Author | Note |
|---|---|---|---|
| 1.0.0 | 2026-04-09 | david.sorf + claude-sonnet-4-6 | Migrace z doc/ADR/ADR-0007-docker-packaging.md do DAK JSON formátu. Rozšířeno o alternativy A/B/C, kompletní Dockerfile obsah, entrypoint command tabulku a follow-up items. |