Hi all! We started adoping Pulumi in our organisat...
# contribute
f
Hi all! We started adoping Pulumi in our organisation but we found the user experience could be improved. We have a specific issue that only applies if one uses S3/Azure blob/GCP storage to store states. At the moment, we've got about 50 AWS accounts and several Azure subscriptions that we work on, and it's a pain in the ass to do
pulumi login
whenever we want to switch between projects, especially if working on several at the same time. I found that you can specify
Copy code
backend:
  url: <s3://bucket>
in
Pulumi.yaml
, but it still requires setting
AWS_PROFILE
env var to get the right profile. The same story is with azblob:// backend but it's even worse 😄 Have to set env vars with storage account credentials. And also can only specify container in the URL. We've got a workaround using direnv but it's not ideal. However! I figured out the limitation was in https://gocloud.dev/ library, as it didn't allow setting profile in the URL. But now it does for s3: https://github.com/google/go-cloud/issues/2865 Pulumi uses a forked version of gcloud.dev, so if there's no strict reason to not update, it would be nice to get the latest. I've got a POC for azure blob as well, that would allow storage account name and possibly subscription id (depends on the underlying library) in the URL.