env

package module
v1.0.258 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2023 License: MIT Imports: 5 Imported by: 3

README

Env

Documentation

Index

Constants

View Source
const (
	GO_ENV_KEY        = "GO_ENV"
	LOG_LEVEL_ENV_KEY = "LOG_LEVEL"
	LOG_PATH_ENV_KEY  = "LOG_PATH"
	APP_NAME_ENV_KEY  = "APP_NAME"

	SQL_DB_HOST_ENV_KEY            = "SQL_DB_HOST"
	SQL_DB_PORT_ENV_KEY            = "SQL_DB_PORT"
	SQL_DB_USER_ENV_KEY            = "SQL_DB_USER"
	SQL_DB_PASSWORD_ENV_KEY        = "SQL_DB_PASSWORD"
	SQL_DB_NAME_ENV_KEY            = "SQL_DB_NAME"
	SQL_DB_SECONDS_TO_PING_ENV_KEY = "SQL_DB_SECONDS_TO_PING"

	RABBIT_HOST_ENV_KEY     = "RABBIT_HOST"
	RABBIT_PORT_ENV_KEY     = "RABBIT_PORT"
	RABBIT_USER_ENV_KEY     = "RABBIT_USER"
	RABBIT_PASSWORD_ENV_KEY = "RABBIT_PASSWORD"
	RABBIT_VHOST_ENV_KEY    = "RABBIT_VHOST"
	KAFKA_HOST_ENV_KEY      = "KAFKA_HOST"
	KAFKA_PORT_ENV_KEY      = "KAFKA_PORT"
	KAFKA_USER_ENV_KEY      = "KAFKA_USER"
	KAFKA_PASSWORD_ENV_KEY  = "KAFKA_PASSWORD"
	RABBITMQ_ENGINE         = "RabbitMQ"
	KAFKA_ENGINE            = "Kafka"

	UNKNOWN_ENV     Environment = 0
	LOCAL_ENV       Environment = 1
	DEVELOPMENT_ENV Environment = 2
	STAGING_ENV     Environment = 3
	QA_ENV          Environment = 4
	PRODUCTION_ENV  Environment = 5

	DEBUG_L LogLevel = 0
	INFO_L  LogLevel = 1
	WARN_L  LogLevel = 2
	ERROR_L LogLevel = 3
	PANIC_L LogLevel = 4

	DEFAULT_APP_NAME = "app"
	DEFAULT_LOG_PATH = "/logs/"

	TRACING_ENABLED_ENV_KEY       = "TRACING_ENABLED"
	METRICS_ENABLED_ENV_KEY       = "METRICS_ENABLE"
	OTLP_ENDPOINT_ENV_KEY         = "OTLP_ENDPOINT"
	OTLP_API_KEY_ENV_KEY          = "OTLP_API_KEY"
	JAEGER_SERVICE_NAME_KEY       = "JAEGER_SERVICE_NAME"
	JAEGER_AGENT_HOST_KEY         = "JAEGER_AGENT_HOST"
	JAEGER_SAMPLER_TYPE_KEY       = "JAEGER_SAMPLER_TYPE"
	JAEGER_SAMPLER_PARAM_KEY      = "JAEGER_SAMPLER_PARAM"
	JAEGER_REPORTER_LOG_SPANS_KEY = "JAEGER_REPORTER_LOG_SPANS"
	JAEGER_RPC_METRICS_KEY        = "JAEGER_RPC_METRICS"

	HTTP_PORT_ENV_KEY = "HTTP_PORT"
	HTTP_HOST_ENV_KEY = "HTTP_HOST"
)

Variables

View Source
var (
	EnvironmentMapping = map[Environment]string{
		UNKNOWN_ENV:     "unknown",
		LOCAL_ENV:       "local",
		DEVELOPMENT_ENV: "development",
		STAGING_ENV:     "staging",
		QA_ENV:          "qa",
		PRODUCTION_ENV:  "production",
	}
)
View Source
var (
	ErrUnknownEnv = NewConfigsError("unknown env")
)

Functions

func NewConfigsError added in v1.0.258

func NewConfigsError(msg string) error

func NewErrRequiredConfig added in v1.0.258

func NewErrRequiredConfig(env string) error

Types

type AppConfigs

type AppConfigs struct {
	GoEnv     Environment
	LogLevel  LogLevel
	LogPath   string
	AppName   string
	SecretKey string
}

type Configs

type Configs struct {
	Custom map[string]string

	AppConfigs      *AppConfigs
	SqlConfigs      *SqlConfigs
	RabbitMQConfigs *RabbitMQConfigs
	OtelConfigs     *OtelConfigs
	HTTPConfigs     *HTTPConfigs
}

type ConfigsBuilder added in v1.0.258

type ConfigsBuilder interface {
	SqlDatabase() ConfigsBuilder
	RabbitMQ() ConfigsBuilder
	Otel() ConfigsBuilder
	HTTPServer() ConfigsBuilder
	Build() (*Configs, error)
}

type ConfigsBuilderImpl added in v1.0.258

type ConfigsBuilderImpl struct {
	Err error
	// contains filtered or unexported fields
}

func New

func New() *ConfigsBuilderImpl

func (*ConfigsBuilderImpl) Build added in v1.0.258

func (b *ConfigsBuilderImpl) Build() (*Configs, error)

func (*ConfigsBuilderImpl) HTTPServer added in v1.0.258

func (b *ConfigsBuilderImpl) HTTPServer() ConfigsBuilder

func (*ConfigsBuilderImpl) Otel added in v1.0.258

func (*ConfigsBuilderImpl) RabbitMQ added in v1.0.258

func (b *ConfigsBuilderImpl) RabbitMQ() ConfigsBuilder

func (*ConfigsBuilderImpl) SqlDatabase added in v1.0.258

func (b *ConfigsBuilderImpl) SqlDatabase() ConfigsBuilder

type ConfigsError added in v1.0.258

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

func (*ConfigsError) Error added in v1.0.258

func (e *ConfigsError) Error() string

type Environment

type Environment int8

func NewEnvironment

func NewEnvironment(env string) Environment

func (Environment) ToString

func (e Environment) ToString() string

type HTTPConfigs

type HTTPConfigs struct {
	Host string
	Port string
	Addr string
}

type LogLevel

type LogLevel int8

func NewLogLevel

func NewLogLevel(env string) LogLevel

type MockEnv

type MockEnv struct {
	mock.Mock
}

func NewMockEnv

func NewMockEnv() *MockEnv

func (*MockEnv) Load

func (m *MockEnv) Load() error

type OtelConfigs

type OtelConfigs struct {
	TracingEnabled         bool
	MetricsEnabled         bool
	OtlpEndpoint           string
	OtlpApiKey             string
	JaegerServiceName      string
	JaegerAgentHost        string
	JaegerSampleType       string
	JaegerSampleParam      int
	JaegerReporterLogSpans bool
	JaegerRpcMetrics       bool
}

type RabbitMQConfigs

type RabbitMQConfigs struct {
	Host     string
	Port     string
	User     string
	Password string
	VHost    string
}

type SqlConfigs

type SqlConfigs struct {
	Host          string
	Port          string
	User          string
	Password      string
	DbName        string
	SecondsToPing int
}

Jump to

Keyboard shortcuts

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