Expand description
§Eve: Environment editor
The eve utility reads the specified files, or standard input if no files
are specified, replacing all instances of {{VAR}}
with the environment
variable of the same name e.g. $VAR
. This utility is mainly useful as a
replacement to using sed
to insert environment variables into files. As is
common when using Docker.
§Example
Here’s an example of replacing variables in a nginx configuration with
environment variables, and comparsion with the equivalent sed
command.
§nginx.conf
server {
listen 80;
listen [::]:80;
server_name {{NGINX_HOST}};
location / {
proxy_pass {{NGINX_PROXY}};
proxy_next_upstream error timeout invalid_header http_500 http_502
http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host {{NGINX_HOST}};
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
§.env
NGINX_HOST=localhost
NGINX_PROXY=localhost:8000
§Commands
§sed
sed -e "s|{{NGINX_HOST}}|$NGINX_HOST|" \
-e "s|{{NGINX_PROXY}}|$NGINX_PROXY|" \
nginx.conf
§eve
eve nginx.conf
§Output
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
proxy_pass localhost:8000;
proxy_next_upstream error timeout invalid_header http_500 http_502
http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host localhost;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Structs§
- Eve
- A struct to allow replacement of text with environment variables.