-
-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Support backup targets like Box / Dropbox #103
Comments
If anyone wants to add this, there seems to be an official (published by Dropbox) "unofficial" Dropbox SDK for Go: https://github.com/dropbox/dropbox-sdk-go-unofficial which can do all we need to do here. |
* 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 e9b617b. * Actual fix for CI testing from #257
Dropbox is now supported as of v2.30.0 |
Haven't heard of Box before. Is it widely used in some countries or am I the only one who never heard of them before? On another note, if we include Dropbox, perhaps Google Drive make sense as an option too. There is an official Go SDK for it and it also uses OAuth2 like Dropbox. |
The latter I'm afraid :-) Box is gigantic and in the same league as Dropbox - and like I said above very common in business environments. |
Gotta be honest, I also never came across Box outside of this issue.
Google Drive is probably heavily used, which is good, but I am a bit worried about API stability here as Google is pretty notorious for just changing things when they feel like it. It's probably not possible to connect to Google Drive using some open standard, e.g. WebDAV, SSH, S3? Also: as we've just been bitten by this: is it possible to run a mock Google Drive in tests instead of having to resort to a live service? |
Info: https://en.wikipedia.org/wiki/Box_(company) NYSE listed. Just keep in mind you (probably?) won't find larger storage accounts elsewhere in a free tier. |
Didn't find anything about WebDAV etc. but there is also a OpenAPI spec for it, just like with Dropbox: Spec. Edit: There is also a spec for Box. |
Just saw that Box limits the total size of one file to 250 MB for the free tier... so the '10GB for free' is only for marketing purposes, unless you have many small files. For backups, I'd say backups are rarely below 250 MB and also, Box doesn't know anything about paths, it only uses IDs for their API - which doesn't exist for Go, so we'd need to call their REST API directly. Lastly, everything about Box is geared towards companies and business use, which doesn't make it easier to e.g. create a new app inside Box to try things out with test access tokens. |
The 250Mib thing is surprising, maybe our backups are small. EDIT: Well, thanks for looking into it. After your research which provider do you recommend? |
Well if you don't need a long history of backups, maybe the 2GB of Dropbox is already enough. |
I'm submitting a ...
What is the current behavior?
Backups can be made to a variety of S3-like targets, but not storage services like Dropbox, Box, etc.
What is the motivation / use case for changing the behavior?
These are very common in business environments.
I'm not a go dev, but maybe someone else knows how to do this... Thanks!
The text was updated successfully, but these errors were encountered: