-
Notifications
You must be signed in to change notification settings - Fork 28
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 Minio S3 Enhancement #122
Feature Minio S3 Enhancement #122
Conversation
Current IssueCurrently, after a successful transfer of assets from the source to the target, an exception is being logged in the source dataplane.
I attempted to override callback address to the transfer payload as described ("MXD Management API_S3_MINIO.json"), but it seems to have no effect, as the system is still using a default callback address. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the minio deployment should be a terraform module
rather than a static config that contains hardocded bob
and alice
. Much like the connector
module is done.
It could even be a module, that is used in turn by the connector
module
Hello @paullatzelsperger , could you provide more details regarding your comment? |
@SantoshDeepak1 Like I said: for every connector there should be a separate MinIO deployment (~server) that hosts the bucket(s). This should be implemented as terraform module, so that the same module declaration can be used for bob and alice. please use appropriate variables to distinguish them.
this is what i'm suggesting. BTW there are even dedicated MinIO providers for terraform (check here or here), that might be easier than a raw K8S deployment. |
Yes, @paullatzelsperger, opting for MinIO providers makes the process more straightforward. However, in issue #34, you suggested utilizing kubernetes_deployment. Currently, we are shifting our strategy to incorporate terraform providers. |
either one is fine i think, so long as it is re-usable |
Hello @paullatzelsperger, I've implemented the code based on your recommendations. Could you please review it and let me know if I'm heading in the correct direction? |
Hello @paullatzelsperger , I have incorporated all your suggestions; please review the changes. According to @hemantxpatel , there is no requirement to include accessKeyId, secretAccessKey, and endpointOverride in the payload . Based on my observations, these parameters are not necessary when creating assets on the provider side. However, these parameters become necessary when a consumer requests to transfer assets from the provider; otherwise, it leads to a NoSuchBucketException. Kindly examine the code and advise if this behavior is intentional or if adjustments are needed in the payload. While creating asset from the provider the payload is
While transfer request from consumer the payload is
|
@SantoshDeepak1 Please take a look at the EDC Samples to see what data must be included when creating assets, and when requesting a transfer. The sample does create assets on Azure Blob, but AWS S3 works analogously |
Thanks for sharing the resource. While examining the transfer payload in the sample, I noticed that it doesn't explicitly mention the accessKeyId and secretAccessKey. During the creation of the connector using the helm chart, I override the following section, and the provider utilizes these values when pulling from the S3 store. However, the transfer consumer encounters difficulty storing these values in their own S3 store without explicitly specifying accessKeyId and secretAccessKey. The example you provided uses the AWS CLI and stores them in a vault. Therefore, I'm seeking a method to transmit these secrets to the connector via a vault. In the connector module main.tf file line no 65
|
Hello @paullatzelsperger , I've made an attempt using the examples provided in the resources you shared. However, our situation involves Minio being recreated after each Terraform destroy and apply cycle, posing challenges in setting a temporary session token or access key in the vault. This issue results in the following exception:
Minio doesn't support AWS temporary session tokens. There are discussions and issues raised regarding this limitation: The workaround mentioned in the ticket involves editing the mc configuration, but attempts to do so resulted in a "permission denied" error due to it being a read-only file. Can you please suggest. |
️✅ There are no secrets present in this pull request anymore.If these secrets were true positive and are still valid, we highly recommend you to revoke them. 🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request. |
I have refactored the code. Some of the major changes includes:
|
ea661cf
to
4e89f5b
Compare
4e89f5b
to
4265724
Compare
I messed up this branch as I was trying to create a branch with both azurite and S3 changes. Will open a new PR. |
Feature Minio S3 committed
Description
This pull request (PR) introduces the integration of Minio's S3 capabilities with Eclipse EDC, enabling the transfer of assets from a source S3 provider to a target S3 consumer.
Closes #34