Use more consisten variables format for backup/create
Scenariusz
Mam jeden (1) plik, który chcę sobie zbackupować, a potem go zrestorować dokładnie w to samo miejsce.
Przyjmijmy taką konfigurację:
tomasz_backup_local_file_path: "/home/tomasz/my-file.data"
tomasz_backup_s3_bucket: "dane-tomasza"
tomasz_backup_s3_path: "backupy-i-zdjecia"
Stan obecny
Dla wykonania backupu podaję zmienne tak:
s3_backups_backup_objects:
- bucket_name: "{{ tomasz_backup_s3_bucket }}"
bucket_path: "{{ tomasz_backup_s3_path }}"
path: "{{ tomasz_backup_local_file_path }}"
s3_backups_restore_objects:
- bucket_name: "{{ tomasz_backup_s3_bucket }}"
bucket_path: "{{ tomasz_backup_s3_path }}/{{ tomasz_backup_local_file_path | basename }}"
destination: "{{ tomasz_backup_local_file_path | dirname }}"
Problem
Na podstawie obecnego README nie do końca wiedziałem, jak podać te zmienne powyżej, bo są trochę inne przy create niż przy restore.
Rozwiązania
Rozszerzyć opis w README
ALBO
Uspójnić API roli
Wydaje mi się, że wygodniej byłoby, gdyby zarówno create, jak i restore działało na katalogach, a nie na plikach.
Wtedy definicje mogłyby wyglądać w ten sposób:
s3_backups_backup_objects:
- bucket_name: "{{ tomasz_backup_s3_bucket }}"
bucket_prefix: "{{ tomasz_backup_s3_path }}"
local_directory: "{{ tomasz_backup_local_file_path | dirname }}"
s3_backups_restore_objects:
- bucket_name: "{{ tomasz_backup_s3_bucket }}"
bucket_prefix: "{{ tomasz_backup_s3_path }}"
local_directory: "{{ tomasz_backup_local_file_path | dirname }}"
Widziałbym to tak, że podczas tworzenia backupu wszystkie pliki znalezione w local_directory
zostają wgrane do bucket_name/bucket_prefix/
. A przy przywracaniu wszystkie pliki z bucket_name/bucket_prefix/
zostają przywrócone do katalogu local_directory
.