Documentation
¶
Overview ¶
Command ds-resolve-env is the environment-variable resolver plugin (§12, §37.4), for the hops a def marks `source=env`: code that reads a variable such as STRIPE_KEY from its process environment. The address is the variable's name. The plugin looks the name up in its own environment, which it inherits from `ds check --resolve`, hashes the value in memory, and returns existence and the hash; the value never leaves this process.
A variable that is not set is an error, which ds reports as unverifiable, not as "does not exist": whether a variable is set is a fact about the process running the check, not about the deployment the chain describes, so its absence on a laptop is no evidence that production lacks it. Run the check where the variables are set -- the deploy job, a container started like production -- and a copy that differs from its truth is `out of sync`. Before this plugin shipped, every source=env hop was unverifiable for want of an executable (bug 83).