Support for s3 object storage
TL;DR
Are there any plans to add Object Storage to the CSI driver? What is the estimated time frame for the feature?
Expected behavior
Use Hetzner Object Storage as volume in K8S
Hello all 👋
All our integrations rely on the Hetzner Cloud public API, which is available with a certain level of stability. Since the features you are requesting are not in the public API, we cannot implement them.
Therefore, for the time being, we do not plan to support:
- Generating credentials using the Public API.
- Creating buckets using the Public API: You can use an S3-compatible tool instead, for example using curl or the minio terraform provider.
- Embedding a S3 client in our integrations: You can use any S3-compatible tool instead.
Note that only a subset of the Amazon S3 features are currently supported.
We will leave this ticket open to increase its visibility. If you have questions, reach out to us using the Support Center.
Out of curiosity, what's the use case for using S3 as volume mounts? S3 isn't a file system; imho, transparently treating it as such causes more issues than it's worth.
No, the idea is to get on an cloudnative way a bucket and use them in application.
The Rooks and other CSI has the CRD ObjectBucketClaim of objectbucket.io/v1alpha1.
If you define it with an generatedBucketName and storageClass, the CSI-Driver create a ObjectBucket and a Secret.
The Secret contains the Endpoint, Bucketname, Access_Key, Secret_Key which you could use e.g. as Environment Variable in your Pod to access it.
COSI is its own spec next to the CSI-Spec. This might as well live in its own driver separate from the hcloud-csi-driver.
But anyway, there is no public API which we could use to implement this.
Okay, I believe you are correct with an additional COSI-Driver.
But therefore an API exists,it is the default S3-API to create buckets and hopefully also additional Users: https://docs.hetzner.com/storage/object-storage/getting-started/creating-a-bucket-minio-terraform . But this is not well documentated by Hetzner.
Sadly the COSI-Driver of minio is not maintained anymore: https://github.com/kubernetes-retired/cosi-driver-minio To just reuse it.