awslabs / mountpoint-s3-csi-driver

Built on Mountpoint for Amazon S3, the Mountpoint CSI driver presents an Amazon S3 bucket as a storage volume accessible by containers in your Kubernetes cluster.
Apache License 2.0
153 stars 18 forks source link

Support S3 compatible custom endpoints #120

Closed torbendury closed 5 months ago

torbendury commented 5 months ago

/feature

Is your feature request related to a problem? Please describe. Users which do not use AWS S3 buckets may want to use different (self-hosted) S3 products like MinIO or Ceph S3 and still be able to use the S3 CSI driver.

Describe the solution you'd like in detail Offer an optional setting to use a custom endpoint for S3 API calls. Other AWS libraries and products offer such settings.

Describe alternatives you've considered None so far.

Additional context None so far.

dlakhaws commented 5 months ago

Thank you for the request. The CSI driver is built on top of mountpoint-s3, which is what determines the server compatibility. Here's a relevant part from the README of Mountpoint: Mountpoint for Amazon S3 is designed for high-performance access to the Amazon S3 service. While it may be functional against other storage services that use S3-like APIs, we aren't able to provide support for those use cases, and they may inadvertently break when we make changes to better support Amazon S3. We welcome contributions of minor compatibility fixes or performance improvements for these services if the changes can be tested against Amazon S3.

You can try the endpoint-url option in your persistent volume configuration to point at a different endpoint, but do note the caveat that it is not officially supported and there is the potential for breaking changes. To set the endpoint-url in a persistent volume configuration, simply add a line like this under mountOptions (see the static_provisioning example for more details on volume configuration):

mountOptions:

Also take a look at https://github.com/awslabs/mountpoint-s3/issues/144, which has some additional notes on compatibility and a report that someone was able to use mountpoint-s3 with a NetApp appliance.