Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

discuss: Round-tripped input/output variables #4387

Open
weikanglim opened this issue Oct 1, 2024 · 0 comments
Open

discuss: Round-tripped input/output variables #4387

weikanglim opened this issue Oct 1, 2024 · 0 comments

Comments

@weikanglim
Copy link
Contributor

Background

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"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant