wing icon indicating copy to clipboard operation
wing copied to clipboard

Specify cloud.Bucket name

Open ekeren opened this issue 1 year ago • 4 comments

Use Case

you can now create a bucket with a name

Proposed Solution

new cloud.Bucket(name: "a-globally-unique-name-or-it-will-fail-when-trying-to-deploy-on-aws") ;

Implementation Notes

No response

Component

SDK

Community Notes

  • Please vote by adding a 👍 reaction to the issue to help us prioritize.
  • If you are interested to work on this issue, please leave a comment.
  • If this issue is labeled needs-discussion, it means the spec has not been finalized yet. Please reach out on the #dev channel in the Wing Discord.

ekeren avatar Jun 17 '24 12:06 ekeren

Out of curiosity what's the use case for using a specific bucket name? On AWS all buckets globally must have unique names, so any fixed name you choose in your Wing source code would only be able to be used once (and it would cause issues if you are trying to define a reusable library or deploy your app to multiple environments).

Maybe it makes sense to support this through a platform parameter instead?

Chriscbr avatar Jun 21 '24 17:06 Chriscbr

I was working on recreating a blog post that used a bucket as the source of images

But even when I was using bucket before, it was convenient to have names especially when they where public. It is true the I had buckets prefixed with the environment.

Do you mind showing how this will work with platform parameters, I am interested seeing a simple solution for such a common requirement

ekeren avatar Jun 22 '24 15:06 ekeren

Do you mind showing how this will work with platform parameters, I am interested seeing a simple solution for such a common requirement

@ekeren

It would be simple to add custom prefix to a bucket using platform parameters, i.e. you could have a wing.toml with something like

[ my-tf-aws-platform ]
bucket_prefix = "blah"

And then just a simple hook on newInstance that adds this to instances of buckets

However if your naming conventions or even desired full name is different per bucket, then this is not ideal for platform parameters, as it becomes very obscure and the platform code becomes tightly coupled to your Wing code.


Im not sure of the use case for specifying full names of bucket, I know it can definitely cause issues as @Chriscbr mentioned with libraries.

I know there are certain types of patterns where naming buckets matter, like very simple static sites hosted in s3 sometimes will use a www.xxxx.com naming convention.

hasanaburayyan avatar Jun 23 '24 13:06 hasanaburayyan

Hi,

This issue hasn't seen activity in 90 days. Therefore, we are marking this issue as stale for now. It will be closed after 7 days. Feel free to re-open this issue when there's an update or relevant information to be added. Thanks!

github-actions[bot] avatar Sep 27 '24 06:09 github-actions[bot]