Documentation
¶
Index ¶
Constants ¶
View Source
const ServiceName = "game-library-api"
ServiceName - service name
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthAPI ¶
type AuthAPI struct {
Address string `mapstructure:"AUTHAPI_ADDRESS"`
Timeout time.Duration `mapstructure:"AUTHAPI_TIMEOUT"`
}
AuthAPI represents settings for AuthAPI gRPC client
type Cfg ¶
type Cfg struct {
Log Log `mapstructure:",squash"`
DB DB `mapstructure:",squash"`
Web Web `mapstructure:",squash"`
Jaeger Jaeger `mapstructure:",squash"`
IGDB IGDB `mapstructure:",squash"`
Scheduler Scheduler `mapstructure:",squash"`
Redis Redis `mapstructure:",squash"`
Graylog Graylog `mapstructure:",squash"`
S3 S3 `mapstructure:",squash"`
OpenAI OpenAI `mapstructure:",squash"`
AuthAPI AuthAPI `mapstructure:",squash"`
}
Cfg - app configuration
type Graylog ¶
type Graylog struct {
Address string `mapstructure:"GRAYLOG_ADDR"`
}
Graylog represents settings related to Graylog integration
type IGDB ¶
type IGDB struct {
ClientID string `mapstructure:"IGDB_CLIENT_ID"`
ClientSecret string `mapstructure:"IGDB_CLIENT_SECRET"`
TokenURL string `mapstructure:"IGDB_TOKEN_URL"`
APIURL string `mapstructure:"IGDB_API_URL"`
Timeout time.Duration `mapstructure:"IGDB_API_TIMEOUT"`
}
IGDB represents settings for IGDB client
type Jaeger ¶
type Jaeger struct {
OTLPEndpoint string `mapstructure:"JAEGER_OTLP_ENDPOINT"`
}
Jaeger represents settings for Jaeger OTLP trace export
type Log ¶
type Log struct {
Level string `mapstructure:"LOG_LEVEL"`
}
Log represents settings for logging
type OpenAI ¶
type OpenAI struct {
APIKey string `mapstructure:"OPENAI_API_KEY"`
APIURL string `mapstructure:"OPENAI_API_URL"`
ModerationModel string `mapstructure:"OPENAI_MODERATION_MODEL"`
VisionModel string `mapstructure:"OPENAI_VISION_MODEL"`
Timeout time.Duration `mapstructure:"OPENAI_API_TIMEOUT"`
}
OpenAI represents settings for OpenAI client
type Redis ¶
type Redis struct {
Address string `mapstructure:"REDIS_ADDR"`
Password string `mapstructure:"REDIS_PASSWORD"`
TTL time.Duration `mapstructure:"REDIS_TTL"`
}
Redis represents settings for Redis client
type S3 ¶
type S3 struct {
Region string `mapstructure:"S3_REGION"`
AccessKeyID string `mapstructure:"S3_ACCESS_KEY_ID"`
SecretAccessKey string `mapstructure:"S3_SECRET_ACCESS_KEY"`
Endpoint string `mapstructure:"S3_ENDPOINT"`
BucketName string `mapstructure:"S3_BUCKET_NAME"`
CDNBaseURL string `mapstructure:"S3_CDN_BASE_URL"`
Timeout time.Duration `mapstructure:"S3_TIMEOUT"`
}
S3 represents settings for S3 client
type Scheduler ¶
type Scheduler struct {
FetchIGDBGames string `mapstructure:"SCHED_FETCH_IGDB_GAMES"`
UpdateTrendingIndex string `mapstructure:"SCHED_UPDATE_TRENDING_INDEX"`
UpdateGameInfo string `mapstructure:"SCHED_UPDATE_GAME_INFO"`
ProcessModeration string `mapstructure:"SCHED_PROCESS_MODERATION"`
}
Scheduler represents settings for task scheduler
type Web ¶
type Web struct {
HTTPAddress string `mapstructure:"APP_HTTP_ADDRESS"`
GRPCAddress string `mapstructure:"APP_GRPC_ADDRESS"`
DebugAddress string `mapstructure:"APP_DEBUG_ADDRESS"`
ReadTimeout time.Duration `mapstructure:"APP_READTIMEOUT"`
WriteTimeout time.Duration `mapstructure:"APP_WRITETIMEOUT"`
AllowedCORSOrigin string `mapstructure:"APP_ALLOWEDCORSORIGIN"`
}
Web represents settings for to web server
Click to show internal directories.
Click to hide internal directories.