...
- In DuraCloud, content is added by the user into a Snapshot Storage Provider space. This is a staging area that is backed by S3.
- The user selects a button in the space to create snapshot and enters snapshot metadata
- The DuraCloud UI calls the storage provider snapshot task indicating space to snapshot
- The snapshot task creates snapshot properties file and stores it in snapshot space
- When the snapshot properties file is added, the space is transitioned to read-only
- Snapshot properties file includes the depositor ID as well as details about the snapshot (account ID, space ID, date, etc)
- The snapshot task calls to the bridge application to indicate that a snapshot needs to be taken, providing DuraCloud host/port/space.
- The bridge application adds an entry to the snapshot db table with the details of the snapshot action
- The bridge application connects to DuraCloud and copies all content from DuraCloud space to bridge storage
- During transfer, content properties are captured in a file
- During transfer, each content item is added to content db table (with snapshot id)
- The bridge application creates two manifest files (md5 and sha256) for the content and verifies all content was transferred correctly
- The bridge application sends a notification (email) to Chronopolis that a snapshot is ready
- Chronopolis Intake service polls for new snapshots to process
- Chronopolis Intake service uses the content in bridge storage to construct a bag for deposit
- The Intake service validates content against the manifest written by the bridge application
- The Intake service creates the necessary bag files (bagit, bag-info, etc) that are included in the bag
- If the content contained in the snapshot is larger than 250 GB, multiple bags are created
- Chronopolis Ingest service performs replication to the appropriate Chronopolis nodes
- Ace Tokens are created for other Chronopolis nodesThe Ingest service creates replication requests to the selected replication nodes.
- rsync is used between Chronopolis nodes to transfer content
- Chronopolis makes a call to the bridge application to indicate that content has been successfully copied to preservation storage
- Intake service checks for existing snapshots to see if they could be completed.
- Intake service calls bridge to update history as each node replication completes
- The bridge application deletes the directory in bridge storage used for the snapshot
- The bridge application makes a call to a task in the DuraCloud Snapshot Storage Provider to indicate that it is now time to clean up the snapshot content
- The cleanup task sets a policy on the underlying S3 bucket which causes the content to be removed within 24 hours
- The bridge application watches the snapshot space, and when it becomes empty, calls the snapshot complete task, which clears the S3 bucket policy
- The bridge application notifies the user who requested the snapshot that it has been completed
...