Documentation ¶
Overview ¶
Package env is a go port of the ruby dotenv library (https://github.com/bkeepers/dotenv)
Examples/readme can be found on the GitHub page at https://github.com/joho/godotenv
The TL;DR is that you make a .env file that looks something like
SOME_ENV_VAR=somevalue
and then in your go code you can call
env.Load()
and all the env vars declared in .env will be available through os.Getenv("SOME_ENV_VAR")
Index ¶
- func CheckOptionalEnvironmentVariables(possibleEnvironmentVariables ...string)
- func CheckRequiredEnvironmentVariables(requiredEnvironmentVariables ...string)
- func Exec(filenames []string, cmd string, cmdArgs []string, overload bool) error
- func FallbackEnvVariable(envKey, fallbackValue string) string
- func Load(filenames ...string) (err error)
- func LoadEnvFiles(filenames ...string)
- func Marshal(envMap map[string]string) (string, error)
- func Overload(filenames ...string) (err error)
- func Parse(r io.Reader) (map[string]string, error)
- func Read(filenames ...string) (envMap map[string]string, err error)
- func RequiredEnvVariable(name string) string
- func Unmarshal(str string) (envMap map[string]string, err error)
- func UnmarshalBytes(src []byte) (map[string]string, error)
- func Write(envMap map[string]string, filename string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckOptionalEnvironmentVariables ¶
func CheckOptionalEnvironmentVariables(possibleEnvironmentVariables ...string)
CheckOptionalEnvironmentVariables checks if
func CheckRequiredEnvironmentVariables ¶
func CheckRequiredEnvironmentVariables(requiredEnvironmentVariables ...string)
CheckRequiredEnvironmentVariables checks if environment variables are present panics if one is missing
func Exec ¶ added in v1.0.3
Exec loads env vars from the specified filenames (empty map falls back to default) then executes the cmd specified.
Simply hooks up os.Stdin/err/out to the command and calls Run().
If you want more fine grained control over your command it's recommended that you use `Load()`, `Overload()` or `Read()` and the `os/exec` package yourself.
func FallbackEnvVariable ¶
FallbackEnvVariable returns the value of the environment variable with the given key.
func Load ¶ added in v1.0.3
Load will read your env file(s) and load them into ENV for this process.
Call this function as close as possible to the start of your program (ideally in main).
If you call Load without any args it will default to loading .env in the current path.
You can otherwise tell it which files to load (there can be more than one) like:
env.Load("fileone", "filetwo")
It's important to note that it WILL NOT OVERRIDE an env variable that already exists - consider the .env file to set dev vars or sensible defaults.
func LoadEnvFiles ¶
func LoadEnvFiles(filenames ...string)
func Marshal ¶ added in v1.0.3
Marshal outputs the given environment as a dotenv-formatted environment file. Each line is in the format: KEY="VALUE" where VALUE is backslash-escaped.
func Overload ¶ added in v1.0.3
Overload will read your env file(s) and load them into ENV for this process.
Call this function as close as possible to the start of your program (ideally in main).
If you call Overload without any args it will default to loading .env in the current path.
You can otherwise tell it which files to load (there can be more than one) like:
env.Overload("fileone", "filetwo")
It's important to note this WILL OVERRIDE an env variable that already exists - consider the .env file to forcefully set all vars.
func Parse ¶ added in v1.0.3
Parse reads an env file from io.Reader, returning a map of keys and values.
func Read ¶ added in v1.0.3
Read all env (with same file loading semantics as Load) but return values as a map rather than automatically writing values into env
func RequiredEnvVariable ¶ added in v1.0.3
RequiredEnvVariable returns the value of the environment variable with the given key.
func Unmarshal ¶ added in v1.0.3
Unmarshal reads an env file from a string, returning a map of keys and values.
func UnmarshalBytes ¶ added in v1.0.3
UnmarshalBytes parses env file from byte slice of chars, returning a map of keys and values.
Types ¶
This section is empty.