workerd
workerd copied to clipboard
feature(proposal): Bindings for system environment variable
At the moment I have to put the values for environment variables as key bindings. I'd like a way to read system environment variables similar to process.env
in Node.js. Perhaps one way to make it work could be explicitly binding to a system environment variable. Another option could be specifying it via the runtime/cli.
I think it would make sense to allow a text binding to take its value from an environment variable, and this should be easy to implement.
So like:
binding = (name = "bindingName", (fromEnvironment = "VAR_NAME"))
It's important that this be declared explicitly, though, so that secrets from the environment don't accidentally leak to workers.
This would be an excellent evolution, since today there is no way to give a variable or a secret to a worker without putting it in clear text in the capnp file. The interface proposed by @kentonv would suit very well.
Implemented in #786. Sorry it took a while, been backlogged.