elixir-toniq / vapor

Runtime configuration system for Elixir
MIT License
596 stars 37 forks source link

Add .env file provider #38

Closed keathley closed 5 years ago

keathley commented 5 years ago

When I'm running in development mode I'd like to have some convenient ways of configuring my different applications using environment variables. But managing this stuff on my own is somewhat tedious especially when jumping between projects. I'd like to support a .env file similar to dotenv from ruby and rails or a tool like direnv. I think we can have a custom provider for this. What do y'all think.

jeffweiss commented 5 years ago

I'm for it, but I have a question: should we read it as a configuration file or should we convert from the file to environment variables and then have the env provider take over? I'm generally mixed for either path. I like the idea of using an existing provider, but I'm not sure I like the idea vapor mutating the environment variables for the rest of the customer's application.

keathley commented 5 years ago

I think I'd rather read it as a configuration file. I feel like if we manipulate the environment directly that could lead to bad places.