RocketChat / feature-requests

This repository is used to track Rocket.Chat feature requests and discussions. Click here to open a new feature request.
21 stars 9 forks source link

Add support for OpenStack Swift Storage #627

Open engelgabriel opened 8 years ago

engelgabriel commented 8 years ago

https://github.com/RocketChat/Rocket.Chat/issues/369

Kelwing commented 8 years ago

What is the status of this feature? I'm very interested in it! I'd contribute if you add a bounty to it!

mlanner commented 7 years ago

@engelgabriel Integration with OpenStack Swift would be great. Is this still on the roadmap?

xilu0 commented 7 years ago

OpenStack Swift meets open source spirit!

mlanner commented 7 years ago

I have a Swift cluster with the Swift3 (S3 emulation) middleware configured. I have verified that access is working correctly using s3cmd. However, when I configure Rocket.Chat file uploads to go to my Swift (with S3) cluster, it doesn't work. The client simply gets a 500 error.

Regardless of the issue I might be running into here, one thing that would be really nice would be to have a "test connection" or even "test upload" on the RC configuration screen to be able to verify if the connection to the backend storage has been set up correctly.

Is there a specific log I can get more info from? When I look in the Swift logs, I don't see any connection attempts from the RC server.

TheReal1604 commented 7 years ago

@mlanner Maybe try the Minio documentation on rocket.chat/docs ? We built a setup with minio which works. This is also AWS S3 compatible. (From Client perspective)

mlanner commented 7 years ago

@TheReal1604 I did find the Minio doc, thanks. I tried to adapt it to my setup and I was able to see requests hit my cluster. However, it somehow mangles the request path. I'm still unsure of what it does, but at least I got a bit closer.

It looks like RC is using the AWS NodeJS SDK. Is that correct? If so, maybe I can get someone with more NodeJS skills than me to help me decipher what's happening.

I'd really like to get this working and contribute docs for how to make RC work with Swift, even if it's through S3 emulation. Getting native Swift integration with RC would optimal, though.

If anyone on the RC team wants to look at Swift integration, I'd be happy to provide Swift resources.

thetthet7 commented 3 years ago

@TheReal1604 I did find the Minio doc, thanks. I tried to adapt it to my setup and I was able to see requests hit my cluster. However, it somehow mangles the request path. I'm still unsure of what it does, but at least I got a bit closer.

It looks like RC is using the AWS NodeJS SDK. Is that correct? If so, maybe I can get someone with more NodeJS skills than me to help me decipher what's happening.

I'd really like to get this working and contribute docs for how to make RC work with Swift, even if it's through S3 emulation. Getting native Swift integration with RC would optimal, though.

If anyone on the RC team wants to look at Swift integration, I'd be happy to provide Swift resources.

Let me know if there is a possible way to add swift storage for file upload.

mlanner commented 3 years ago

@thetthet7 Do you have a Swift cluster already? I assume you do and are just asking because there's no code support for Swift in RC? If you just need a test target, I'd suggest looking at the docker-swift container available through GitHub or DockerHub. It should suffice for integration testing. For what it's worth, I never was able to use RC with Swift, not even through the S3 API. Something didn't work and I kinda gave up on it (for the time being at least).

thetthet7 commented 3 years ago

@mlanner We have Swift cluster in our environment and that is why I wanted to connect Rocket file upload with swift. Daily DB size growth is big and it is difficult to expand now. Thanks.