eclipse-edc / Connector

EDC core services including data plane and control plane
Apache License 2.0
271 stars 231 forks source link

Adoption Request: EDC IONOS S3 #3006

Closed paulocabrita-ionos closed 1 year ago

paulocabrita-ionos commented 1 year ago

Adoption Request

General information

IONOS has a S3 Object Storage service for its customers, allowing them to store and to share data. With that in mind, IONOS has developed an S3 extension for the Eclipse Dataspace Connector thus allowing the participation in dataspaces.

Cloud users could follow the instructions to deploy the EDC over the cloud of their choice, including on IONOS. If the latter would be the case, then IONOS S3 Extension will allow the EDC user to host and to read/write their data from/on the S3 Object storage of IONOS.

Title Description Contact Links
EDC Extension for IONOS S3 storage We are providing an EDC extension to allow the connector to save and to access files kept into an IONOS S3 storage des-development@ionos.com Github repo

Adoption level

Adoption in EDC core

Why should this contribution be adopted?

Offering storage extension of the main cloud providers as part of the EDC core, makes it easier for a broader audience to use the EDC on their cloud of choice. Currently some of the main providers have their extensions available at the core, and IONOS would like to be capable of doing the same.

Could it be achieved with existing functionality? If not, why?

No. This extension is IONOS specific, making it possible for the EDC to use the S3 Object storage of IONOS. There's no similar extension available for this specific purpose.

Are there multiple use cases or applications who will benefit from the contribution?

IONOS is presently very active in several Gaia-X and non-Gaia-X projects where dataspaces are being created and where the IONOS S3 Extension is already in use.

In all such projects, we intend to offer the IONOS S3 storage, as one of the available storage options that the user might use to store their data. In some of the projects, the EDC has been picked to be the data space connector. Therefore having the EDC plus the capability of using the IONOS S3 Object Storage is important for many use cases.

Can it be achieved without introducing third-party dependencies? If not, which ones?

The IONOS S3 extension uses the MinIO library to perform bucket and object operations to the IONOS S3 storage service. The MinIO has an Apache 2.0 license like the EDC.

It’s also used the IONOS S3 API in order to perform provisioning operations thus avoiding the dependency of third-party solutions.

Would this feature limit platform independence in any way? If so, how and why?

No. It does not.

Is it going to be a self-contained feature, or would it cut across the entire code base?

It does not have an impact on the EDC Core because it complements the EDC by using its features and not the other way around. To build this Extension we have followed the EDC guidelines.

arianman commented 1 year ago

Hi @ma3u, this is the issue we've talked about.

jimmarino commented 1 year ago

Hi,

Thanks for bringing this to our attention. How does this extension differ from the existing S3 extension, which should be able to support multiple S3 protocol-based services?

arianman commented 1 year ago

Hi Jim,

Thanks for your comment. You're right and theoretically the common protocol should resolve the compatibility problem, yet because of customization on different providers (both on IONOS and aws side for example), the storages and the way to interact with them are different. (provisioning and the way tokens are handled are different for example).

Before developing this extension we've tested the other one, trying to connect it to IONOS, and it didn't work. Therefore we've developed the extension in a fully integrated way with our stack, to make our object storage available for all the EDC connectors that are running on IONOS cloud (different projects for example), and at the same time avoiding confusions and trademark issues.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 14 days with no activity.

fhennig commented 1 year ago

Hi, I'm also following this issue and just saw that it was closed, but it looks like it was added to a list of "Friends".

The Adoption request was for "Incorporate a feature as core EDC component", which, to me, meant that this extenion will be added to this repo and can be maintained in here.

Was this a mistake or a deliberate decision?

jimmarino commented 1 year ago

This was a deliberate decision:

  1. All cloud-specific extensions are now hosted in their own repositories as per this DR
  2. To have a repository hosted by the EDC project, one of the committers has to sponsor it, which will require an existing codebase track record and history.
  3. Some of the committers are not convinced separate extensions and external dependencies (e.g., Minio) are required rather than evolving the existing S3 extensions.

Items 2 & 3 are the key points - I would make small, incremental modifications to the existing S3 codebase as a starting point.

paullatzelsperger commented 1 year ago

All of this was explained in detail during the Q&A session on May 26th.