func LoadConfig() (Config, error) {
	var c Config
	err := envconfig.Process("bakery", &c)
	if err != nil {
		return c, err
	}
	c.Logger = c.getLogger()
	tracer := c.Tracer.init(c.Logger)
	c.Client.init(tracer)
	return c, c.Propeller.init(tracer, c.Client.Timeout)
}
LoadConfig loads the configuration with environment variables injected
package config
import (
	"fmt"
	"net/http"
	"os"
	"time"
	"github.com/cbsinteractive/bakery/logging"
	"github.com/justinas/alice"
	"github.com/kelseyhightower/envconfig"
	"github.com/rs/zerolog"
	"github.com/rs/zerolog/hlog"
)
type Config struct {
	Listen      string `envconfig:"HTTP_PORT" default:":8080"`
	LogLevel    string `envconfig:"LOG_LEVEL" default:"debug"`
	OriginHost  string `envconfig:"ORIGIN_HOST"`
	Hostname    string `envconfig:"HOSTNAME"  default:"localhost"`
	OriginKey   string `encovnfig:"ORIGIN_KEY" default:"x-bakery-origin-token"`
	OriginToken string `envconfig:"ORIGIN_TOKEN"`
	AuthEnabled bool   `envconfig:"ENABLE_AUTH" default:"false"`
	Logger      zerolog.Logger
	Tracer
	Client
	Propeller
}