User Stories/Features
User Stories and Features and current and ease of adding support
(Y= supported) or easy of adding = 1 (easy) - 5 (hard)
Story | RipRap | UMD | Camel Toolbox |
---|---|---|---|
Ensure that all resources are checked every n months | |||
Run continual fixity checks | |||
Only alert me when are there failures | |||
Call an arbitrary HTTP endpoint on success and/or failure | |||
Send a (jms,stomp) message to a endpoint on success and/or failure | |||
Call an arbitrary HTTP endpoint on success and/or failure | |||
Perform fixity check on HEAD version of resource only | |||
Perform fixity check on all versions of resource | |||
Generate list of resources checked since X date | |||
Generate list of resources not checked X date | |||
Generate a fixity audit report by resource | |||
Generate a csv of fixity audit results showing resource id, date checked, checksum, and the result | |||
Set rate limits (max bits/second) for checks | |||
Allow checks to be scaled horizontally | |||
Store fixity results in external datastore
| |||
Deliver fixity requests in batches | |||
Components
Fixity Checker
performs the fixity check on a resource and communicates the results to the configured Fixity Result Handler
Fixity Check Manager
- Is responsible for monitoring and providing status of all fixity check tasks
- coordinates parallel processing of fixity checks
- coordinates auto-scaling requests
Fixity Result Handler
A service responsible for storing the results. I can imagine difference implementations that talk to different types of data storage backends
Fixity Result Reporter
A service that generates various fixity reports based on a various criteria.
Fixity Check Task Scheduler
A service responsible for generating Fixity Check requests across a repository based on user criteria such as min and max times between fixity checks, whether to run continuously or on a schedule, etc.