Open mrsimonemms opened 3 weeks ago
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:
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.
@jooola A S3 compatible tool is a separate binary, not a library that you can use as part of your app. Ideally, if Hetzner does not want to provide an S3 client lib as part of hcloud-go, it should at least suggest compatible clients and provide some examples.
@hakman You are correct, I'll do a bit of research and try to come up with a few examples.
@jooola Thanks. I was in a rush previously. Just for some background, someone reached out to us to ask about why he is getting an error when using Hetzner object storage with kOps. So there may be some incompatibilities with various clients.
error listing s3://the-bucket-name/the-cluster-name.k8s.local/instancegroup: operation error S3: ListObjectsV2, https response error StatusCode: 404, RequestID: the-request-id, HostID: the-host-id, api error NoSuchKey: UnknownError
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](https://docs.hetzner.com/storage/object-storage/getting-started/using-s3-api-tools) instead, for example using [curl](https://docs.hetzner.com/storage/object-storage/getting-started/using-curl) or the [minio terraform provider](https://docs.hetzner.com/storage/object-storage/getting-started/creating-a-bucket-minio-terraform). * Embedding a S3 client in our integrations: You can use [any S3-compatible tool](https://docs.hetzner.com/storage/object-storage/getting-started/using-s3-api-tools) instead.
Is this plan a short or long-term thing? I understand this limitation in the short term for reasons of reliability/development speed, but being able to work on this via the API will be important for widespread adoption.
Just for some background, someone reached out to us to ask about why he is getting an error when using Hetzner object storage with kOps. So there may be some incompatibilities with various clients.
error listing s3://the-bucket-name/the-cluster-name.k8s.local/instancegroup: operation error S3: ListObjectsV2, https response error StatusCode: 404, RequestID: the-request-id, HostID: the-host-id, api error NoSuchKey: UnknownError
Could you please share a link to where this was reported? This would help us to take a look and check if it's a configuration issue or a genuine bug. Thanks!
Is this plan a short or long-term thing? I understand this limitation in the short term for reasons of reliability/development speed, but being able to work on this via the API will be important for widespread adoption.
Creating a bucket programmatically is already doable using existing tools or libraries, the only missing part is to generate credentials using the public API.
I agree that this is a limitation at the moment. Once we have made some necessary architectural changes, we should be able to work towards making this possible. However, we cannot give you a timeline at this point.
Here are a few libraries examples that can be used to interact with our object storage. Note that only a subset of the Amazon S3 features are currently supported.
Using github.com/aws/aws-sdk-go-v2/aws
(Golang):
Using github.com/minio/minio-go/v7
(Golang):
Using boto3
(Python):
Let me know if you find a supported feature that is not working with one of the above SDKs.
EDIT: I misclicked the auto close button :grimacing:
Just for some background, someone reached out to us to ask about why he is getting an error when using Hetzner object storage with kOps. So there may be some incompatibilities with various clients.
error listing s3://the-bucket-name/the-cluster-name.k8s.local/instancegroup: operation error S3: ListObjectsV2, https response error StatusCode: 404, RequestID: the-request-id, HostID: the-host-id, api error NoSuchKey: UnknownError
Could you please share a link to where this was reported? This would help us to take a look and check if it's a configuration issue or a genuine bug. Thanks!
@jooola Thank you for the examples and the list of supported features. I see that ListObjectsV2
is not on the list yet.
@LenzGr This was reported in the kubernetes/kops slack channel. I think Hetzner recommends using CAPI, but kOps does a pretty good job also. https://kubernetes.slack.com/archives/C3QUFP0QM/p1730829144676499
TL;DR
When are we likely to get support for s3 object storage in the API/SDK/Terraform? With it scheduled to move out of beta into GA this week, I'd like to start using it in my applications.
Expected behavior
S3 support