Skip to content
/ eve Public

A utility to easily search and replace with environment variables.

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENCE-APACHE
MIT
LICENCE-MIT
Notifications You must be signed in to change notification settings

XAMPPRocky/eve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eve: Environment editor

Linux build status Windows build status Documentation Donate using Liberapay

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.

Installation

Binary

Automatic
cargo install eve
Manual

You can download prebuilt binaries in the releases section or create one from source.

$ git clone https://github.com/Aaronepower/eve.git
$ cd eve
$ cargo build --release
Linux/OSX
# sudo mv target/release/eve /usr/local/bin
Windows
  • Create a folder for eve
  • search for env
  • open "edit your enviroment variables"
  • edit PATH
  • append folder path to the end of the string ie: <path>;C:/eve/;

Library (Cargo.toml)

eve = "0.1"

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;
    }
}

About

A utility to easily search and replace with environment variables.

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENCE-APACHE
MIT
LICENCE-MIT

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published