* Add new storage backend: Dropbox (#103)
* Remove duplicate check
* Add concurrency level for parallel upload to dropbox.
* Fixed some instabilites. Changed default concurrency to 6.
* Added some env config vars to readme. WIP
* Wrap errors for storage backend creation.
* Fixed token issue, added OAuth2 including recipe and docs.
* Readme typo fix
* Test for dropbox integration
* Update info and TOC
* Missed a file
* Docker-compose fix
* Fix endpoint connection
* Fix container names
* Fix log fetching
* Fix log fetching (again)
* Print command output to logs
* Addressing comments part 1
* Address comments part 2
* OpenAPI Mock spec path adjusted
* Dropbox FileMetadata reflection refactored
* NaturalNumber type added
* Add OAuth2 mock server for CI testing
* Fix env name of oauth2 endpoint
* Remove hostname
* Add forgotten change to commit...
* Fix oauth2 endpoint
"Worked on my machine"
* Try again
* Try suggested hostname again
* Fix docker internal DNS resolving issues (as suggested by oauth2 mock docs)
* Add docker network, remove hostname
* Network not external
* Last hostname try
* Add more delay, add oauth2 endpoint log
* Temp CI log output of command even when failing
* Try different config and method
* Add custom server-hostname. Rename test folder to accellerate debugging
* Try that fix again
* Adding quotes
* Port fix attempt
* Try localhost
* Try extra hosts
* Change network mode
* Undo some changes
* Use static IP
* Remove specific IP binding
* Change to default net driver
* Fix static IP
* Squash for revert
* Revert "Squash for revert"
This reverts commit e9b617be9a.
* Actual fix for CI testing from #257
* Current Docker client breaks in newer Go versions
* Cater for breaking API changes in Docker client
* Update Docker client
* Unpin Go version used for build
* Tidy sum file
* feat: add better handler for part size
fix: use local file
fix: try with another path
fix: use bytes
chore: go back
go back readme
goback
goback
goback
* chore: better handling
* fix: typo readme
* chore: wrong comparaison
* fix: typo
* Scaffold Azure storage backend that does nothing yet
* Implement copy for Azure Blob Storage
* Set up automated testing for Azure Storage
* Implement pruning for Azure blob storage
* Add documentation for Azure Blob Storage
* Add support for remote path
* Add azure to notifications doc
* Tidy go.mod file
* Allow use of managed identity credential
* Use volume in tests
* Auto append trailing slash to endpoint if needed, clarify docs, tidy mod file
* Simplify logging, fix WebDAV spelling
* Define options types per package
* Move util functions that are not used cross package
* Add per file license headers
* Rename config type
* Added abstract helper interface and implemented it for all storage backends
* Moved storage client initializations also to helper classes
* Fixed ssh init issue
* Moved script parameter to helper struct to simplify script init.
* Created sub modules. Enhanced abstract implementation.
* Fixed config issue
* Fixed declaration issues. Added config to interface.
* Added StorageProviders to unify all backends.
* Cleanup, optimizations, comments.
* Applied discussed changes. See description.
Moved modules to internal packages.
Replaced StoragePool with slice.
Moved conditional for init of storage backends back to script.
* Fix docker build issue
* Fixed accidentally removed local copy condition.
* Delete .gitignore
* Renaming/changes according to review
Renamed Init functions and interface.
Replaced config object with specific config values.
Init func returns interface instead of struct.
Removed custom import names where possible.
* Fixed auto-complete error.
* Combined copy instructions into one layer.
* Added logging func for storages.
* Introduced logging func for errors too.
* Missed an error message
* Moved config back to main. Optimized prune stats handling.
* Move stats back to main package
* Code doc stuff
* Apply changes from #136
* Replace name field with function.
* Changed receiver names from stg to b.
* Renamed LogFuncDef to Log
* Removed redundant package name.
* Renamed storagePool to storages.
* Simplified creation of new storage backend.
* Added initialization for storage stats map.
* Invert .dockerignore patterns.
* Fix package typo
* Refactor label command mechanism to be more flexible
* Run all steps wrapped in labeled commands
* Rename methods to be in line with lifecycle
* Deprecate exec-pre and exec-post labels
* Add documentation
* Use type alias for lifecycle phases
* Fix bad imports
* Fix command lookup for deprecated labels
* Use more generic naming for lifecycle phase
* Fail on erroneous post command
* Update documentation
* Hoist walking of files so it can be used for features other than archive creation
* Add option to ignore files from backup using glob patterns
* Use Regexp instead of glob for exclusion
* Ignore artifacts
* Add teardown to test
* Allow single Re for filtering only
* Add documentation
* Use MatchString on re, add bad input to message in case of error
* Retry on lock being unavailable
* Refactor locking to return plain error
* Collect LockedTime in stats
* Add test case
* Add documentation for LOCK_TIMEOUT
* Log in case lock needs to be awaited
* Release resources created for awaiting lock
* Add option to run pre commands on arbitrary container
* Correctly handle quoted args in commands
* Provide defaults for test version arg
* Allow filtering of target containers
* Add documentation on exec commands
* Use mysqldump in exec test
* Add mysqldump section to recipes
* Also run commands test in swarm mode
* Use name instead of id
* Add syntax highlighting
* Add missing license headers
* Update targz library to include potential ownership fix
* Move archive logic to main repo
* Remove assertions for debugging
* Use relative path in assertion
* Strip local part from archive location
* Log when extracting in tests
* Fix trimming of prfix
* Add license info to archive.go file
* Undo change in test assertion
* Add test checking for preserved file ownership
* use same postgres version in tests
* Wrap errors when archiving, handle deletion at script layer
* Split code into multiple files
* Deduplicate logic for pruning backups against different storages
* Only parse templates when notifications are enabled
* Use better description