config

package
v0.0.0-...-c62bbba Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2024 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Configuration

type Configuration struct {
	ServiceName  string       `env:"SERVICE_NAME,required"`
	Database     Database     `env:",prefix=DATABASE_"`
	GRPC         GRPC         `env:",prefix=GRPC_"`
	Redis        Redis        `env:",prefix=REDIS_"`
	Server       Server       `env:",prefix=SERVER_"`
	VendorIGDB   VendorIGDB   `env:",prefix=VENDOR_IGDB_"`
	VendorTwitch VendorTwitch `env:",prefix=VENDOR_TWITCH_"`
}

Configuration contains loaded environment variables.

func Load

func Load(ctx context.Context, fp string) (Configuration, error)

Load loads from environment file first. If it fails, then load environment variables to Configuration struct.

type Database

type Database struct {
	Host     string `env:"HOST,required"`
	Name     string `env:"NAME,required"`
	User     string `env:"USER,required"`
	Password string `env:"PASSWORD,required"`
	Port     int    `env:"PORT,default=5432"`
}

Database contains database environment variables.

type GRPC

type GRPC struct {
	// Port is the port number to listen on.
	Port int `env:"PORT,default=17022"`
}

GRPC contains GRPC environment variables.

type Redis

type Redis struct {
	Host     string `env:"HOST,required"`
	Password string `env:"PASSWORD"`
	DB       int    `env:"DB,default=0"`
}

Redis contains Redis environment variables.

type Server

type Server struct {
	// Port is the port number to listen on.
	Port int `env:"PORT,default=17020"`
}

Server contains server environment variables.

type VendorIGDB

type VendorIGDB struct {
	Host string `env:"HOST,required"`
}

VendorIGDB contains IGDB service environment variables.

type VendorTwitch

type VendorTwitch struct {
	Host         string `env:"HOST,required"`
	ClientID     string `env:"CLIENT_ID,required"`
	ClientSecret string `env:"CLIENT_SECRET,required"`
}

VendorTwitch contains Twitch service environment variables.

Jump to

Keyboard shortcuts

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