cli icon indicating copy to clipboard operation
cli copied to clipboard

Support for s3 object storage

Open c33s opened this issue 1 year ago • 11 comments

TL;DR

please add support for the new s3 storage.

do you have an eta when it can be expected?

Expected behavior

c33s avatar Oct 11 '24 17:10 c33s

Our object storage uses the generic S3 API, so other clients should work with it. Since there are no S3-specific endpoints in the Hetzner Cloud Public API, we don't plan to integrate S3 functionality into the CLI.

phm07 avatar Oct 14 '24 10:10 phm07

this is sad to hear, as a "hcloud s3 list" or "hcloud s3 create" would be a very good DX (developer experience). no need to install another dependency.

have you though about just embedding an existing s3 go project in hcloud?

c33s avatar Oct 15 '24 10:10 c33s

There currently is no public API support at all, which means it would not be possible to create S3 credentials. This would mean that we couldn't authorize against the S3 API without the user specifying an Access Token and Secret Token, at which point you might as well use a generic S3 client again.

phm07 avatar Oct 24 '24 08:10 phm07

Our object storage uses the generic S3 API

@phm07 The S3 API can be used once a bucket and a key is created, that's fine. But I'm missing an API for creating a storage key and a bucket. It's quite cumbersome this can only be done via the console UI.

So what's missing is just CRUD for Buckets and Keys, nothing more. And it must already be implemented somewhere, because the UI somehow has to trigger those commands.

PS: I registered for the beta, but once I noticed those commands are not in the API yet, I didn't even try the object storage, because I was waiting for API support.

andi0b avatar Nov 11 '24 20:11 andi0b

an api to create storage keys is simply required for terraform/opentofu to be able to manage storage keys like ssh_keys.

c33s avatar Nov 12 '24 08:11 c33s

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 avatar Nov 14 '24 13:11 jooola

Where can we open a ticket for requesting API support?

To me it seems really strange that no object storage support is planned. Maybe the first sign it will be cancelled before going into GA.

andi0b avatar Nov 14 '24 16:11 andi0b

Where can we open a ticket for requesting API support?

You can reach out to us using the Support Center.

jooola avatar Nov 14 '24 16:11 jooola

please help me vote: https://github.com/hetznercloud/cli/issues/918

as stated above we need to vote via hetzners internal ticket system/support system. maybe it helps if we send

We vote for https://github.com/hetznercloud/cli/issues/918

c33s avatar Nov 15 '24 14:11 c33s

I'd like to add my use case here: I want a simple way to pull key metrics about an Object Storage bucket. I wouldn't mind using curl for that, but probably the CLI could make it a bit easier.

The information I'd like to see is already available in the cloud console (web UI). For a given bucket, it is:

  • Data amount stored in the bucket, in bytes
  • Number of files/objects stored in the bucket

The web UI pulls this information from https://api.hetzner.cloud/v1/_buckets.

Generating this data via the S3 API is very impractical, as it requires enumerating all objects.

marians avatar Feb 17 '25 08:02 marians

I'd like to +1 the use case for pulling statistics about the buckets.

Getting the size (and object count) of my buckets is quite important for me, as I'd like to have this in a monitoring system, so I get an alert if anything out of the ordinary happens.

End goal for me would be to put this into an prometheus exporter, so I can graph and alert on the statistics

Edit: Additional note: for me it would totally be fine to just get the same data that is in the internal _buckets api into an official buckets api. or be able to use the API key on internal endpoints. Not having bucket statistics in the API is a weird choise

SkaveRat avatar Apr 21 '25 10:04 SkaveRat