60 lines
3.3 KiB
Go
60 lines
3.3 KiB
Go
package test
|
|
|
|
type DBConfig struct {
|
|
Host string `json:"dbHost" yaml:"dbHost" env:"HOST" cmd:"dbHost database server hostname"`
|
|
Port int `json:"dbPort" yaml:"dbPort" env:"PORT" cmd:"dbPort database server port"`
|
|
User string `json:"dbUser" yaml:"dbUser" env:"USER" cmd:"dbUser database username"`
|
|
Password string `json:"dbPassword" yaml:"dbPassword" env:"PASSWORD" cmd:"dbPassword database user password"`
|
|
Log LogConfig `json:"log" yaml:"log" env:"LOG_" cmd:"log database log configuration"`
|
|
}
|
|
|
|
type LoginConfig struct {
|
|
User string `json:"user" yaml:"user" env:"USER" cmd:"user login username"`
|
|
Password string `json:"password" yaml:"password" env:"PASSWORD" cmd:"password login password"`
|
|
}
|
|
|
|
type LogConfig struct {
|
|
Path string `json:"path" yaml:"path" env:"PATH" cmd:"path log path"`
|
|
Level string `json:"level" yaml:"level" env:"LEVEL" cmd:"level log level {debug|warning|error}"`
|
|
}
|
|
|
|
type ServiceConfig struct {
|
|
Host string `env:"CONFIG_TEST_SERVICE_HOST" cmd:"hostname service hostname"`
|
|
Port int `env:"CONFIG_TEST_SERVICE_PORT" cmd:"port service port"`
|
|
DBConfig DBConfig `env:"CONFIG_TEST_SERVICE_DB_" cmd:"database database configuration"`
|
|
Login *LoginConfig `env:"CONFIG_TEST_SERVICE_LOGIN_" cmd:"login login user and password"`
|
|
Log LogConfig `env:"CONFIG_TEST_SERVICE_LOG_" cmd:"log service log configuration"`
|
|
}
|
|
|
|
type TypesConfig struct {
|
|
BoolValue bool `env:"CONFIG_TEST_BOOL" cmd:"bool boolean value"`
|
|
StrValue string `env:"CONFIG_TEST_STR" cmd:"str string value"`
|
|
Int8Value int8 `env:"CONFIG_TEST_INT8" cmd:"int8 int8 value"`
|
|
Int16Value int16 `env:"CONFIG_TEST_INT16" cmd:"int16 int16 value"`
|
|
IntValue int `env:"CONFIG_TEST_INT" cmd:"int int value"`
|
|
Int32Value int32 `env:"CONFIG_TEST_INT32" cmd:"int32 int32 value"`
|
|
Int64Value int64 `env:"CONFIG_TEST_INT64" cmd:"int64 int64 value"`
|
|
Uint8Value uint8 `env:"CONFIG_TEST_UINT8" cmd:"uint8 uint8 value"`
|
|
Uint16Value uint16 `env:"CONFIG_TEST_UINT16" cmd:"uint16 uint16 value"`
|
|
UintValue uint `env:"CONFIG_TEST_UINT" cmd:"uint uint value"`
|
|
Uint32Value uint32 `env:"CONFIG_TEST_UINT32" cmd:"uint32 uint32 value"`
|
|
Uint64Value uint64 `env:"CONFIG_TEST_UINT64" cmd:"uint64 uint64 value"`
|
|
Float32Value float32 `env:"CONFIG_TEST_FLOAT32" cmd:"float32 float32 value"`
|
|
Float64Value float64 `env:"CONFIG_TEST_FLOAT64" cmd:"float64 float64 value"`
|
|
}
|
|
|
|
type DefValueConfig struct {
|
|
BoolValue bool `env:"CONFIG_TEST_BOOL" cmd:"bool boolean value" default:"true"`
|
|
IntValue int `env:"CONFIG_TEST_INT" cmd:"int int value" default:"123"`
|
|
Float64Value float64 `env:"CONFIG_TEST_FLOAT64" cmd:"float64 float64 value" default:"123.4567"`
|
|
StrValue string `env:"CONFIG_TEST_STR" cmd:"str string value" default:"default-string"`
|
|
SliceValue []string `env:"CONFIG_TEST_SLICE" cmd:"slice slice values" default:"xx:yy:zz"`
|
|
NoDefValue string `env:"CONFIG_TEST_NO_DEFVALUE" cmd:"nodefvalue no default value"`
|
|
}
|
|
|
|
type SlicesConfig struct {
|
|
Paths []string `env:"CONFIG_TEST_SLICES_PATHS"`
|
|
Debugs []string `env:"CONFIG_TEST_SLICES_DEBUG" separator:";"`
|
|
Values []int `env:"CONFIG_TEST_SLICES_VALUES" separator:","`
|
|
}
|