config

package
v0.1.0-beta.2.1 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2020 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Conf

type Conf struct {
	Debug  bool `env:"DEBUG,default=false"`
	Server ServerConf
	Db     DBConf
	K8s    K8sConf
}

Conf is the configuration for the Go server

func FromEnv

func FromEnv() *Conf

FromEnv generates a configuration from environment variables

type DBConf

type DBConf struct {
	// EncryptionKey is the key to use for sensitive values that are encrypted at rest
	EncryptionKey string `env:"ENCRYPTION_KEY,default=__random_strong_encryption_key__"`

	Host     string `env:"DB_HOST,default=postgres"`
	Port     int    `env:"DB_PORT,default=5432"`
	Username string `env:"DB_USER,default=porter"`
	Password string `env:"DB_PASS,default=porter"`
	DbName   string `env:"DB_NAME,default=porter"`

	SQLLite     bool   `env:"SQL_LITE,default=false"`
	SQLLitePath string `env:"SQL_LITE_PATH,default=/porter/porter.db"`
}

DBConf is the database configuration: if generated from environment variables, it assumes the default docker-compose configuration is used

type K8sConf

type K8sConf struct {
	IsTesting bool `env:"K8S_IS_TESTING,default=false"`
}

K8sConf is the global configuration for the k8s agents

type ServerConf

type ServerConf struct {
	ServerURL      string        `env:"SERVER_URL,default=http://localhost:8080"`
	Port           int           `env:"SERVER_PORT,default=8080"`
	StaticFilePath string        `env:"STATIC_FILE_PATH,default=/porter/static"`
	CookieName     string        `env:"COOKIE_NAME,default=porter"`
	CookieSecret   []byte        `env:"COOKIE_SECRET,default=secret"`
	TimeoutRead    time.Duration `env:"SERVER_TIMEOUT_READ,default=5s"`
	TimeoutWrite   time.Duration `env:"SERVER_TIMEOUT_WRITE,default=10s"`
	TimeoutIdle    time.Duration `env:"SERVER_TIMEOUT_IDLE,default=15s"`
	IsLocal        bool          `env:"IS_LOCAL,default=false"`

	GithubClientID     string `env:"GITHUB_CLIENT_ID"`
	GithubClientSecret string `env:"GITHUB_CLIENT_SECRET"`
}

ServerConf is the server configuration

Jump to

Keyboard shortcuts

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