You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
azd currently stores values of the environment, known as "environment values" in the .env file. Values can be set via azd env set <key> <value> that serves as input parameters to the provisioning provider. Values are also automatically appended to the .env when declared as Output variables by the provisioning provider (Bicep or Terraform).
Point of consideration
When values are both used as inputs and outputs, values can be unintentionally set in ways via outputting (or in general) that is then used as provisioning parameters. This can be a point of infrastructure deployment irreproducibility, as outlined in #4384, #2685, #1473.
Proposal / discussion
We could imagine a world where we have more clearly defined separation between "inputs that influence provisioning provider" vs. "outputs that app uses". Suppose azd ended up doing this:
As a user, would you see the benefits of having clear separation? Or is treating them as just "values" something that feels "easier to use"?
The text was updated successfully, but these errors were encountered:
Background
azd
currently stores values of the environment, known as "environment values" in the.env
file. Values can be set viaazd env set <key> <value>
that serves as input parameters to the provisioning provider. Values are also automatically appended to the.env
when declared as Output variables by the provisioning provider (Bicep or Terraform).Point of consideration
When values are both used as inputs and outputs, values can be unintentionally set in ways via outputting (or in general) that is then used as provisioning parameters. This can be a point of infrastructure deployment irreproducibility, as outlined in #4384, #2685, #1473.
Proposal / discussion
We could imagine a world where we have more clearly defined separation between "inputs that influence provisioning provider" vs. "outputs that app uses". Suppose azd ended up doing this:
As a user, would you see the benefits of having clear separation? Or is treating them as just "values" something that feels "easier to use"?
The text was updated successfully, but these errors were encountered: