godotenv/README.md

1.6 KiB

GoDotEnv wercker status

A Go (golang) port of the Ruby dotenv project (which loads env vars from a .env file)

Installation

go get github.com/joho/godotenv

Usage

Add your application configuration to your .env file in the root of your project:

S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE

Then in your Go app you can do something like

import (
    "github.com/joho/godotenv"
    "os"
)

err := godotenv.Load()
if err != nil {
  os.Fatal("Error loading .env file")
}

s3Bucket := os.Getenv("S3_BUCKET")
secretKey := os.Getenv("SECRET_KEY")

While .env in the project root is the default, you don't have to be constrained

_ := godotenv.Load("somerandomfile")
_ := godotenv.Load("filenumberone.env", "filenumbertwo.env")

Are all valid options

Contributing

Contributions are most welcome! The parser itself is pretty stupidly naive and I wouldn't be surprised if it breaks with edge cases.

code changes without tests will not be accepted

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Who?

The original library dotenv was written by Brandon Keepers, and this port was done by John Barton based off the tests/fixtures in the original library.