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
[Storj DCS] Update and rename Tardigrade-Backend #4492
Conversation
Thanks @TopperDEL. Are the old endpoint URLs still valid? We were planning on releasing our next beta version soon. |
The old endpoints are still valid, yes. They get routed to the new one. For new backup-settings, though, it is good to have the new ones in place. |
Thanks. Since we've finished most of our testing for this upcoming release, we will wait before integrating these changes. I was able to create a free Storj DCS account. I then created and ran a backup using the old Tardigrade code, then upgraded to this branch, and was able to continue running backups with no issues. 👍 At the very least, it would be nice if all user-facing objects were renamed. We have an overload of the duplicati/Duplicati/Library/Interface/CommandLineArgument.cs Lines 258 to 263 in 67aaab1
If it's also possible to rename all internal objects without affecting existing user configurations, that would be a nice bonus for consistency and avoid any confusion for future developers. |
On second thought, I'd also be fine with keeping the internal names as tardigrade, if that simplifies things. We can save the internal refactoring for a future task. We should still consider deprecating the old |
Existing configurations will not be affected
I've now renamed all objects and parameters but led the protocol-key unaffected. The old parameters are marked as "deprecated" now. My tests with old configurations worked as expected, but it might be nice to have a second test from you @warwickmm. If everything is good from your point, too, than this change could be merged whenever you're ready. Thank you! |
Duplicati/Server/webroot/ngax/scripts/services/EditUriBuiltins.js
Outdated
Show resolved
Hide resolved
Duplicati/Server/webroot/ngax/scripts/services/EditUriBuiltins.js
Outdated
Show resolved
Hide resolved
@warwickmm Thank you very much for your in-depth review! I fixed all issues, so you may have a look again. Please come back to me if there are any issues left. |
Sorry @TopperDEL, I'm now starting to question my decision to rename everything. When "upgrading" a Tardigrade backup to this branch, I encounter a bunch of warnings about deprecated options and don't see a trivial way to rename the options in the destination URL. Moreover, since the protocol is still
@ts678, @drwtsn32x, @kenkendk, do you have any preferences here? While Tardigrade cloud storage has been renamed to Storj DCS, would it be confusing if Duplicati continued to refer to it as Tardigrade? Or, is there a simple way to update existing configurations to use the new option names, etc.? |
@TopperDEL, I also noticed that the backend files are not visible when I log in to my Storj account and go to "Objects" and click on the bucket name. Should I expect to see the Duplicati files there? The backups are working fine, so this is perhaps more just a usability question. |
I think the number of Tardigrade users is pretty small, so the impact will be limited. Given that, creating a new "Storj DCS" backend and deprecating the Tardigrade backend is probably the cleanest solution. I'm not sure what the best way is to consolidate the code. One option might be to add a new "Storj DCS" backend, and modify the Taridgrade backend to contain an instance of the Storj backend and forward the member implementations as appropriate. The JavaScript and HTML might be more difficult, but those changes are less common so perhaps duplication there is less of a concern. Revision 8dae320 contains an example of how we warned users about Amazon Cloud Drive being shut down. |
So finally it should be done. I copied the Tardigrade-Backend over to the new Storj DCS and tried to reduce the duplicate code by internally use the new Storj-Backend from the old Tardigrade-Backend. I would be happy if someone would test this in order to see if I did any mistake - but from my point of view it looks good. |
Thanks @TopperDEL. There appear to be some build errors. Are you able to reproduce them? |
Sorry @warwickmm , my bad. I did a quick change and let it go without another test. Let's see what the CI has to say, now. Builds locally here now. |
Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
Outdated
Show resolved
Hide resolved
Duplicati/Server/webroot/ngax/scripts/services/EditUriBuiltins.js
Outdated
Show resolved
Hide resolved
Duplicati/Server/webroot/ngax/scripts/services/EditUriBuiltins.js
Outdated
Show resolved
Hide resolved
Duplicati/Server/webroot/ngax/scripts/services/EditUriBuiltins.js
Outdated
Show resolved
Hide resolved
I ran several tests and everything is working nicely so far. Thanks @TopperDEL. |
All fixed from my side. :) @warwickmm |
Thanks @TopperDEL. |
Storj just recently renamed their Tardigrade Decentralised Cloud Storage to "Storj DCS". This PR updates the backend accordingly. In Detail, the following is changed:
A huge question from my side is to be discussed: I left all Tardigrade-C#-Object-names the same and also the protocol key. I assume especially the latter would break existing configurations, right? Can someone suggest how to proceed? Shall the backend itself stay "tardigrade"? Is there a way to support both protocols (the old "tardigrade" and the new one tbd)? Should I at least rename all objects and projects from tardigrade to storj?
Any suggestions are highly appreciated. :)