- Implement basic cron handling
- Implement backup tasks (dump & copying to target in job queue)
- Implement s3 target
- Implement mysql source
- Implement retention with count
- Use winston as logging framework
- Switch to dependency injection/service container lib
- Configuration file -> implemented with 'config'
- static configured targets
- replace moment
- Switch to proper queue (self written) => started
- js doc
- Async factory with decorators and interface for Targets (Decorators cause jsdoc to fail with factory methods )
- Add MD5 per step and final to manifest
- Middleware Stack -> Compression (gzip), Encryption (ccrypt)
- Static config for containers
- Automated docker build
- Sentry Integration
- Debug strange queue behaviour if to many jobs triggert
- Properly build cli in container
- Use Mutex for all situations with race conditions
- manifest writes/reads
- Locks per container to prevent simultaneously reading
- Immutability for manifests and other object
- Keep backer versions in manifests
- Give backup manifest uuids via file hash or something
- Ensure manifest validity and integrity
- Add file sizes
- Keep content type in manifest per step
- Differentiate between creation time meta and final meta
- Unify file access for testing
- Create compose test setup => started
- Docs with Slate
- Use lerna to manage packages
- Improved queue parallelization and concurrence
- "File source" to backup Docker Volumes
- Static pre-configuration for sources
- Implement postgres sources
- Job queue priority
- Recover from failure
- Notification via Services (Mail/Slack/etc .. )
- S3 Target Path prefix
- More complex retention schedules
- Web Interface (vue + tailwind)
- Rollback (triggering via api)
- Rollback tests
- Prometheus export
- GnuPG Encryption Middleware