Skip to content
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

Add AWS S3 protocol support to NetRocks plugin #2621

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

versus-13
Copy link

Description:
This PR adds support for the AWS S3 protocol to the NetRocks plugin, enabling users to interact with AWS S3 storage directly from the plugin. The integration allows seamless management of files and buckets within the AWS S3 environment, providing additional storage options for users.

Changes:
Implemented AWS S3 protocol integration in the plugin.
Added configuration options for AWS S3, including access keys, region, and useragent.
Provided functionality for listing, uploading, and downloading files from AWS S3 buckets.
Updated the UI to allow users to configure AWS S3 settings easily.
Motivation and Context:
This feature was added to enhance the storage management capabilities of the NetRocks plugin by integrating AWS S3, which is a widely used cloud storage service. It allows users to leverage AWS S3 for their storage needs, providing a reliable and scalable solution.

How to test:
Go to the NetRock sites, add connection, select protocol aws, set connection atttributes to configure the AWS S3 credentials (access key, secret key, region, and endpoint).
Test the functionality by listing the contents of an S3 bucket.
Try uploading and downloading files from the configured AWS S3 bucket.

@singalen
Copy link
Contributor

singalen commented Jan 21, 2025

Yes please! Thank you very much!

Perhaps you would want to squash some commits.
Perhaps you may be requested to make the build dependency optional.

It's not exactly clear how to fill in the connection properties. Does bucket name go into hostname? Does the rest of the path go into "Working directory"? Is the path sensitive to leading and trailing slashes?

On my test, it failed to read a bucket. I have my credentials saved in local config, no password or username.
NetRocks gives the error: Cannot access file: - mypathcurlCode: 6, Cound'n. I guess error message escaping is messed up. (mypathcurlCode are indeed concatenated into a single string)

Appreciate desktop notifications. It would be nice to add some progress meter to the connecting window itself, maybe just a timer, if no other progress data is available?

@singalen
Copy link
Contributor

singalen commented Jan 21, 2025

Got a regional endpoint hostname from https://docs.aws.amazon.com/general/latest/gr/s3.html. I guess it's worth adding to the instruction.

It still didn't connect with my default AWS profile.

In error handling dialog, "Go up" button is enabled even when I'm at the root of the bucket, and produces an XML_ERROR_PARSING_ATTRIBUTE in that case. I guess it needs to be disabled if there's nowhere to go up, or at least do nothing in this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants