environment

package
v0.0.0-...-00e7cc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2018 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const NoS3EnvVar = "NO_S3_ENV_VARS"

NoS3EnvVar is the environment variable to set when you so not want to try and pull from S3.

Variables

This section is empty.

Functions

func AWSLookup

func AWSLookup(host string) string

AWSLookup tries to perform a Get against the provided URL This is a work around intended to get the Local Host IP / Name for the EC2 instance that service is running on through the AWS Meta data service since we can't dynamically set that environment variable.

func Get

func Get(key string, defaultVal string) string

Get returns the value of an environment variable if the variable is set, else the default value

func GetEnvMap

func GetEnvMap() map[string]string

GetEnvMap returns a map of all environment variables to their values

func IsDockerSocket

func IsDockerSocket(value string) bool

IsDockerSocket checks that the string has the correct prefix for a docker service lookup

func LookupContainerID

func LookupContainerID() string

LookupContainerID checks the /etc/hostname for the Container ID The default docker behavior is to place the Short Container ID in /etc/hostname

func LookupHostPort

func LookupHostPort(localPort int, socket string, hostPort int) int

LookupHostPort uses the docker socket to query the Host Port The `docker info` command can provide the host port information, the dockerclient is a wrapper for docker calls. The docker container needs to be configured with the dockerSocket mounted

func NewInvalidSpecificationError

func NewInvalidSpecificationError() errors.TracerError

NewInvalidSpecificationError instantiates a InvalidSpecificationError with a stack trace

func NewMissingEnvironmentVariableError

func NewMissingEnvironmentVariableError(field string, tag string) errors.TracerError

NewMissingEnvironmentVariableError instantiates a MissingEnvironmentVariableError with a stack trace

func NewUnsupportedDataTypeError

func NewUnsupportedDataTypeError(dataType reflect.Kind, field string) errors.TracerError

NewUnsupportedDataTypeError instantiates a UnsupportedDataTypeError with a stack trace

func Process

func Process(config interface{}) error

Process takes a Specification that describes the configuration for the application only attributes tagged with `env:""` will be imported from the environment Example Specification:

type Specification struct {
    DatabaseURL string `env:"DATABASE_URL"`
    ServiceID   string `env:"SERVICE_ID,optional"`
}

Supported options: optional

func ProcessMap

func ProcessMap(config interface{}, envVars map[string]string) error

ProcessMap is the same as Process except that the environment variable map is supplied instead of retrieved

func Push

func Push(config interface{}) error

Push the passed specification object onto the environment, note that these changes will not live past the life of this process.

func RedisAddress

func RedisAddress() string

RedisAddress returns the combined host and port from the environment

func RedisHost

func RedisHost() string

RedisHost returns the host value from the environment

func RedisPort

func RedisPort() int

RedisPort returns the port value from the environment

Types

type Bucket

type Bucket struct {
	Downloader *s3manager.Downloader
	// contains filtered or unexported fields
}

Bucket wraps the S3 downloader with an in memory cache

func NewBucket

func NewBucket() *Bucket

NewBucket returns a Bucket with an S3 downloader and an initialized cache

func (*Bucket) Add

func (b *Bucket) Add(bucket, item string, data map[string]interface{})

Add a map of data from S3 to the cache

func (*Bucket) Get

func (b *Bucket) Get(bucket, item, key string) interface{}

Get pulls a value from a map loaded from and S3 bucket

func (*Bucket) Has

func (b *Bucket) Has(bucket, item, key string) (interface{}, bool)

Has checks for a given key in the cache

type InvalidSpecificationError

type InvalidSpecificationError struct {
	// contains filtered or unexported fields
}

InvalidSpecificationError indicates that a config is of the wrong type.

func (*InvalidSpecificationError) Error

func (err *InvalidSpecificationError) Error() string

func (*InvalidSpecificationError) Trace

func (err *InvalidSpecificationError) Trace() []string

Trace returns the stack trace for the error

type MissingEnvironmentVariableError

type MissingEnvironmentVariableError struct {
	Field string
	Tag   string
	// contains filtered or unexported fields
}

MissingEnvironmentVariableError indicates that a non-optional variable was not found in the environment

func (MissingEnvironmentVariableError) Error

func (*MissingEnvironmentVariableError) Trace

func (err *MissingEnvironmentVariableError) Trace() []string

Trace returns the stack trace for the error

type UnsupportedDataTypeError

type UnsupportedDataTypeError struct {
	Type  reflect.Kind
	Field string
	// contains filtered or unexported fields
}

UnsupportedDataTypeError indicates that no conversion from string to the given type has been implemented

func (UnsupportedDataTypeError) Error

func (err UnsupportedDataTypeError) Error() string

func (*UnsupportedDataTypeError) Trace

func (err *UnsupportedDataTypeError) Trace() []string

Trace returns the stack trace for the error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL