config

package
v0.0.0-...-2f4d8a3 Latest Latest
Warning

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

Go to latest
Published: Jan 3, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppConfig

type AppConfig struct {
	Name          string `yaml:"name" validate:"required"`
	HTTPPort      int    `yaml:"httpPort" validate:"required"`
	JobPort       int    `yaml:"jobPort" validate:"required"`
	MetricsPort   int    `yaml:"metricsPort" validate:"required"`
	OwnerPassword string `yaml:"ownerPassword" validate:"required"`
	TestUserEmail string `yaml:"testUserEmail" validate:"required"`
}

type AuthConfig

type AuthConfig struct {
	SigningKey          string `yaml:"signingKey"`
	AccessTokenTTLMin   int    `yaml:"accessTokenTtlMin" validate:"gte=1"`
	RefreshTokenTTLHour int    `yaml:"refreshTokenTtlHour" validate:"gte=1"`
	GoogleCallbackURL   string `yaml:"googleCallbackUrl" validate:"required"`
	GoogleClientID      string `yaml:"googleClientId" validate:"required"`
	GoogleClientSecret  string `yaml:"googleClientSecret" validate:"required"`
	APITimeoutSec       int    `yaml:"apiTimeoutSec" validate:"gte=1"`
}

type Config

type Config struct {
	App         *AppConfig               `yaml:"app" validate:"required"`
	DB          *libconfig.DBConfig      `yaml:"db" validate:"required"`
	Auth        *AuthConfig              `yaml:"auth" validate:"required"`
	Translator  *TranslatorConfig        `yaml:"translator" validate:"required"`
	Tatoeba     *TatoebaConfig           `yaml:"tatoeba" validate:"required"`
	Synthesizer *SynthesizerConfig       `yaml:"synthesizer" validate:"required"`
	Trace       *libconfig.TraceConfig   `yaml:"trace" validate:"required"`
	CORS        *libconfig.CORSConfig    `yaml:"cors" validate:"required"`
	Shutdown    *ShutdownConfig          `yaml:"shutdown" validate:"required"`
	Log         *libconfig.LogConfig     `yaml:"log" validate:"required"`
	Swagger     *libconfig.SwaggerConfig `yaml:"swagger" validate:"required"`
	Debug       *DebugConfig             `yaml:"debug"`
}

func LoadConfig

func LoadConfig(env string) (*Config, error)

type DebugConfig

type DebugConfig struct {
	GinMode bool `yaml:"ginMode"`
	Wait    bool `yaml:"wait"`
}

type ShutdownConfig

type ShutdownConfig struct {
	TimeSec1 int `yaml:"timeSec1" validate:"gte=1"`
	TimeSec2 int `yaml:"timeSec2" validate:"gte=1"`
}

type SynthesizerConfig

type SynthesizerConfig struct {
	Endpoint   string `yaml:"endpoint" validate:"required"`
	TimeoutSec int    `yaml:"timeoutSec" validate:"gte=1"`
	Username   string `yaml:"username" validate:"required"`
	Password   string `yaml:"password" validate:"required"`
}

type TatoebaConfig

type TatoebaConfig struct {
	Endpoint   string `yaml:"endpoint" validate:"required"`
	TimeoutSec int    `yaml:"timeoutSec" validate:"gte=1"`
	Username   string `yaml:"username" validate:"required"`
	Password   string `yaml:"password" validate:"required"`
}

type TranslatorConfig

type TranslatorConfig struct {
	Endpoint   string `yaml:"endpoint" validate:"required"`
	TimeoutSec int    `yaml:"timeoutSec" validate:"gte=1"`
	Username   string `yaml:"username" validate:"required"`
	Password   string `yaml:"password" validate:"required"`
	GRPCAddr   string `yaml:"grpcAddr" validate:"required"`
}

Jump to

Keyboard shortcuts

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