2. Client tasks

Can upload/download files. Can Delete Files (but not specific versions)

2.1. Restore from AWS

User requests restore of files from AWS Glacier

  1. Start EC2 instance in the free tier (background process to send notification every 24 hours that instance is running)

  2. Git pull to retrieve code.

  3. Execute:

    ./scripts/bucket-halt-changes <user> <host>
    ./scripts/athena-setup.py <user> <host>
    ./scripts/athena-query-from-file.py <user> <host> <file with list of files to restore>
    ./scripts/athena-query-job-status.py <user> <host> <output from previous command>

    Loop here until successful or errors (manual cleanup after investigation). If errors, halt and send notification to rcic-admin.

  4. Execute:

    ./scripts/athena-teardown.py <user> <host>
    ./scripts/glacier-restore-from-file.py <user> <host> <output from athena-query-job-status.py>
    ./scripts/glacier-query-job-status.py <user> <host> <output from previous command>

    Loop here until successful or errors (manual cleanup after investigation) If errors, halt and send notification to rcic-admin

  5. Send notification to user and delete EC2 instance

2.2. Retrieve files

  1. User invokes rclone to retrieve files. This occurs on user’s machine.

  2. After user confirms that they recovered all files

    ./scripts/bucket-resume-changes.py <user> <host>