aws / apprunner-roadmap

This is the public roadmap for AWS App Runner.
https://aws.amazon.com/apprunner/
Other
292 stars 13 forks source link

Environment Variables revamp #247

Open TreyWW opened 1 month ago

TreyWW commented 1 month ago

Community Note

Tell us about your request What do you want us to build?

An improved way of handling environment variables. At the moment my in-development application has reached 50/50 environment variables. The page is so damn slow! Editing an environment takes 5-10 seconds just to type a character. And now I'm at a hard limit of 50 I can't do much. I'm going to be revamp my application, but yikes, really?

A service quota for environment variables would be nice, but a faster editing page for environment variables would be even nicer.

Also, a way to upload a .env file or CSV would be so much more ideal aswell. A few times i've added ~20 env vars at a time, and then the build fails and I have to re-do it all again! What a pain D:

I use SSM Param store for all of my variables, so a way to add all variables on a path would be nice, e.g. my_app/staging/<variables>, would be absolutely amazing!

Summary of ideas:

  1. Service Quota application for increase env variable limits
  2. CSV/.env file to bulk upload environment variables
  3. SSM Param store auto upload by path
  4. Page optimisation of Configuration Tab of a apprunner Service, as 20+ env vars is INSANELY slow on Chrome.

Describe alternatives you've considered

  1. None yet, maybe revamp my application 2, 3 and 4. Build a custom wrapper/package that does this automatically with the AWS API

Attachments image

neidiom commented 1 month ago

I agree the page can be slow. I manage it via Terraform so it is easier. You can already use ParameterStore.

TreyWW commented 2 weeks ago

I agree the page can be slow. I manage it via Terraform so it is easier.

Hey @neidiom, sorry I completely missed your reply. Yeah managing from Terraform is definitely the best method. I started my deployment without it and there's a few settings I need to create a new instance just to toggle back on.

You can already use ParameterStore

Yeah I use parameter store for every secret variable, but it's slow and a painful process. And not to mention if it fails you'll have to re-write all of the variables again. My idea was that you can upload a CSV/paste these variables in, so at least have a copied to clipboard version if it fails.

But again, like you say, maybe Terraform/IAC tools are just the way to do this if you're wanting to have lots of variables. The one part about the process of IAC for variables is the fact that i'll need to store the variable in plain text on all of my storage states though. So every terraform device will have these secrets. So I need to figure a way to reference an SSM store without resetting the value each time I run up - I guess my own separate problem.

Thanks for the reply though!

neidiom commented 2 weeks ago

You can use

data "aws_ssm_parameter" "foo" {
  name = "foo"
}

https://registry.terraform.io/providers/hashicorp/aws/3.28.0/docs/data-sources/ssm_parameter

So you add it manually and reference a secret as a data source.

TreyWW commented 2 weeks ago

Dang that's great, I thought you had to define the value too for some reason. Thanks man, going to transfer all my App Runner instances to use Pulumi (IAC) and use SSM params in there, life saver!