Uplink for Ruby

My team has completed the Ruby bindings for Uplink: GitHub - Your-Data/uplink-ruby
We are building an iOS & Android app. We don’t store the data with Ruby – we do that from the phones directly. We did however want the capability to delete it from the backend so we created this gem for ourselves. Hope you find it helpful or interesting.

8 Likes

Hello @joslinm,
Welcome to the forum!

Thank you for contribution!

1 Like

Thank you and not a problem! There are some functions still to be added, but we will continue contributing those.

Is this something that should live in Storj-Thirdparty organization?

We notified the team. Don’t worry, I think we will contact you soon!

1 Like

Until that, I added the link to GitHub - storj/awesome-storj: A curated list of projects, tools, and resources for Storj

4 Likes

Hi @joslinm! We’d be happy to add this to storj-thirdparty if you want us to. It is up to you, but this seems like a great inclusion.

2 Likes

Sure, I’d like that as it’ll get much more visibility. My developer will continue to contribute the missing pieces as he completes it.
After that, we can work on the ActiveStorage piece of the puzzle and allow direct access to Storj from Rails projects. No more going through S3 :slight_smile:

EDIT: I caught up with my developer and he wants to wait until it’s fully complete before you add it to storj-thirdparty. So I’ll let you know when it’s complete and good to move over.

2 Likes

The repo is ready to be cloned over to Storj-Thirdparty @jtolio :slight_smile:

Great! I don’t think we can initiate the repo move (or is that not what you have in mind?), but if you go to the repo’s settings, you can initiate a move to the storj-thirdparty org and we can accept it.

I get an error saying

You don’t have the permission to create public repositories on storj-thirdparty

When initiating the transfer. My handle is joslinm if you want to temporarily grant me access.

Oh interesting. I just sent you an invite to join the storj-thirdparty org.

You are now an admin for GitHub - storj-thirdparty/uplink-ruby and I pinned uplink-ruby to the top!

3 Likes

Great stuff, thank you!

If you want a starting point for rails, this might be useful Rails 7 ActiveStorage Connected to Storj - Storj DCS Docs

1 Like

Thanks… but I am not trying to rely on a centralized service provider such as AWS while using a decentralized service.

The proper solution (which we’re working on) is to integrate directly via Uplink of which the Ruby bindings is the first step.

We have S3-compatible gateways, we do not use AWS:

In your self-hosted S3 compatible gateway link, the commands are aws s3 right? Even all the explanations of the commands are using S3 references.
And when not hosting yourself, the main documentation clearly states you need the aws gem and dictates the service s3 so to say “we do not use AWS” seems inaccurate in the broader sense? You very much do use it if not “depend” on it.
Our approach is to use Uplink directly. I don’t have big plans for this work, I just don’t even want to see “aws” in my code :man_shrugging: :wink: Let me know if this is inadvisable. Thanks for the info at any rate.

Yes, you can use almost any s3-compatible tool, include aws CLI, but that doesn’t mean that we use AWS services :slight_smile:, just S3 protocol become an object access standard de facto.
It sometimes can help to start light, just replace values for access key, secret access key and endpoint to use Storj S3 gateway and you are done. Of course you will miss all main features of a native protocol like p2p protocol with end-to-end encryption and flexible access, but it’s up on you to decide what’s better.
Of course I would prefer a native protocol like you did.

1 Like

Thank you! I understood it doesn’t use AWS services, but I wasn’t aware of how it’s become essentially a protocol. My developer actually caught me up on this and the Gateway is definitely a neat solution, and ideal when it comes to “plug and play.”
If I am understanding correctly, the S3 tool is being used to generated presigned URLs? Any vision for supporting that from uplink?

Here is our approach if anyone is interested using Uplink directly (with direct upload not supported): GitHub - Your-Data/activestorage-storj

1 Like