astrails/safe

View on GitHub
TODO

Summary

Maintainability
Test Coverage
- refactor
  - refactor out global variables. pass a config object around instead
  - common logging
  - remove 1.8.6 support
  - module registry
  - base => prefix ?
  - move requires into specific modules
    - config.foo instead of config[:foo]

- features
  - remote-only s3 support
  - generic notifier support
    - email notifier
    - hipchat
  - generic error notifier support
    - email
    - hipchat



- add 'silent'
- handle errors from mysqldump
- check that gpg is installed
- support percona XtraBackup as an option instead of mysqldump [patches anyone :) ?]
- backup validation:
  - support for 'minsize' opition in backup that will check that produced backup is at least the expected size
    this should catch many backup failure scenarious (like broken mysql connection, insufficient disk space etc.
- support differencial backups
  - it should be fairly easy for filesystem backups using tar's built in incremental functionality.
  - for mysql need to use XtraBackup
  - or we can keep the previous dump locally and store only diff with the latest dump