Replies: 1 comment
|
Wrote it: #659. Read-only Opening the PR is not me assuming the answer is yes. If it is no, or if you would rather this lived outside fnox, say so and I will close it. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi, first of all thanks for fnox. It replaced a pile of shell scripts and half-committed
.envfiles on our Azure project.Use case
We inject our whole environment through fnox, across three Azure environments. Some of those values are not secrets.
AZURE_OPENAI_ENDPOINTis a public hostname our IaC pipeline writes when it provisions the model deployment, and it sits in Key Vault only because Key Vault is the only Azure store fnox can read. So we have RBAC grants and audit logging on a URL.Then I found the "Public Configuration" section in
docs/providers/plain.md, so non-secret values are clearly welcome, as long as they are literals in the file. That is where we get stuck. Ours live in Azure App Configuration, which is the store designed for them, and a literal cannot follow a value that infrastructure owns.Alternatives considered
mise[env]withmise.<env>.toml. This works, and I understand it is the intended answer, but the environment is then described in two files, and one of them quietly goes stale when IaC rotates a deployment.plaindefaults infnox.toml. The same problem in one file instead of two.azure-smwith a per-profileprefix. This part works nicely, and it means a new provider would need no new profile mechanism at all. It just does not change the fact that a non-secret has to go into Key Vault to be reachable.az appconfig kv show. Oneazprocess per value, and invisible tofnox check,fnox lsand the daemon cache.Proposed solution
docs/guide/sync.mdcallsfnox.toml"the source of truth", and that is how we treat it: one file describing an environment completely, whatever store each value happens to live in. fnox feels close to that already, sinceexec,export,checkand the daemon cache all work fine without knowing whether a value is sensitive.An
azure-acprovider reading Azure App Configuration:Read-only, no new dependencies since
reqwest,azure_identityandazure_coreare alreadyfnox-coredeps.labelwould be an ordinary provider field, so[profiles.<name>.providers]covers per-environment labels for free.Question
Would you be open to a provider that reads non-secret values from a remote store, so the configuration
plain.mdalready covers can be resolved instead of hardcoded?If yes, I am happy to write it and open the PR.
All reactions