ENG-6217 : Procedure for handling compaction/log files
ENG-6218 : Upload logic for compactions
General logic for file (compaction and log) upload and compaction specific upload. After enabling the backup handler and each time TRIGGER_BACKUP_FILE_UPLOAD is triggered we want to iterate over all files in backup directory and upload data. A compaction should consist of 3 files: backup-XXX which contains the compaction data (created in C++ database code), backup-123-userkeys which contains the UserKeys in JSON (this will be created from Rust in a later diff) and an optional backup-123-attachments file which contains newline-separated list of attachment hashes (files containing sensitive data will are encrypted). The files names are parsed with regex to get e.g. backupID. The data is uploaded and after a succesfull upload, files are deleted.
Depends on D10630