config

package
v0.0.0-...-a78adbb Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2020 License: GPL-3.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API struct {
	Addr string `default:"http://127.0.0.1"`
	Port string `default:"8080"`
	CORS struct {
		Allowed []string `default:"*"`
		Headers []string `default:"Content-Type, Accept, Accept-Language, Content-Language"`
		Methods []string `default:"HEAD, GET, POST, PUT, PATCH, DELETE"`
	}
	Graphql struct {
		Introspection bool
		Playground    bool
	}
}

type Auth

type Auth struct {
	OAuth2 struct {
		Provider     string `envconfig:"QILIN_AUTH_OAUTH2_PROVIDER" required:"true"`
		ClientId     string `envconfig:"QILIN_AUTH_OAUTH2_CLIENT_ID" required:"true"`
		ClientSecret string `envconfig:"QILIN_AUTH_OAUTH2_CLIENT_SECRET" required:"true"`
		RedirectUrl  string `envconfig:"QILIN_AUTH_OAUTH2_REDIRECT_URL" required:"true"`
	}
	LogoutRedirect string `envconfig:"QILIN_AUTH_LOGOUT_REDIRECT"`
	LogoutCallback string `envconfig:"QILIN_AUTH_LOGOUT_CALLBACK" required:"true"`

	// cookies rules
	SessionCookieName string `envconfig:"QILIN_AUTH_SESSION_COOKIE_NAME" default:"ssid"`
	Domain            string `envconfig:"QILIN_AUTH_DOMAIN"`
	SecureCookie      bool   `envconfig:"QILIN_SECURE_COOKIE" default:"true"`

	AutoSignIn         bool   `envconfig:"QILIN_AUTH_AUTO_SIGN_IN"`
	Secret             string `envconfig:"QILIN_AUTH_SECRET"`
	SuccessRedirectURL string `envconfig:"QILIN_AUTH_SUCCESS_REDIRECT_URL"`

	WebHookSecret string `envconfig:"QILIN_AUTH_WEB_HOOK_SECRET"`

	Session SessionConfig
}

type Config

type Config struct {
	Store Store
	API   API
	Auth  Auth
	Auth1 struct {
		Addr string
	}
	Service struct {
		Game struct {
			Addr string `default:":5300"`
		}
	}
}

func New

func New() (*Config, error)

type Postgres

type Postgres struct {
	DSN string `envconfig:"QILIN_POSTGRES_DSN"`
}

type Redis

type Redis struct {
	Host     string `default:"127.0.0.1:6379"`
	Password string `default:""`
	DB       int    `default:"0"`
}

type SessionConfig

type SessionConfig struct {
	Addr       string `envconfig:"QILIN_AUTH_SESSION_ADDR"`
	Password   string `envconfig:"QILIN_AUTH_SESSION_PASSWORD"`
	DB         int    `envconfig:"QILIN_AUTH_SESSION_DB"`
	SessionTTL int    `envconfig:"QILIN_AUTH_SESSION_SESSION_TTL" default:"30"`
}

type Store

type Store struct {
	Postgres Postgres
	Redis    Redis
}

Jump to

Keyboard shortcuts

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