Categorygithub.com/nicholasjackson/env
modulepackage
0.6.1
Repository: https://github.com/nicholasjackson/env.git
Documentation: pkg.go.dev

# README

Env

Env is a simple package providing configuration as environment variables for 12 factor applications, inspired by the Go flag package.

Basic usage

package main

var bindAddress = env.String("BIND_ADDRESS",true,"","bind address for server, i.e. localhost")
var bindPort = env.Integer("BIND_Port",true,0,"bind port for server, i.e. 9090")

func main() {
  err := env.Parse()
  if err != nil {
    fmt.Println(err.Error())
    os.Exit(1)
  }

  fmt.Println("bind address:", *bindAddress)
  fmt.Println("bind port:", *bindPort)
}

Showing help menu

Configuring an application with environment variables can be confusing to the user as often the configuration options are listed in the documentation rather than accessible from the command line like flag based configuration. Env has a built in help menu which can be accessed using the --help command line flag.

var bindAddress = env.String("BIND_ADDR", false, "localhost:9090", "Bind address for the server, i.e. localhost:9090")
var cacheURI = env.String("CACHE_URI", true, "", "URI for the cache server, i.e. localhost:9090")

func main() {
  err := env.Parse()
➜ BIND_PORT=9090 BIND_ADDRESS=localhost go run main.go --help
Configuration values are set using environment variables, for info please see the following list.

Environment variables:
  BIND_ADDRESS  default: no default
       bind address for server, i.e. localhost
  BIND_PORT  default: '0'
       bind port for server, i.e. 9090

# Packages

No description provided by the author

# Functions

Bool something.
Duration something.
Float64 something.
Help is help.
Int something.
Parse something.
String captures the value of an environment variable name: the name of the environment variable required: if set to true and environment variable does not exist an error will be raised defaultValue: the default value to return if the environment variable is not set help: help string related to the variable.