server

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2021 License: GPL-3.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigDecoderOptions

func ConfigDecoderOptions(config *mapstructure.DecoderConfig)

ConfigDecoderOptions enables necessary mapstructure decode hook functions

Types

type Config

type Config struct {
	LogLevel log.Level `mapstructure:"log_level"`

	PostgreSQL struct {
		Host         string
		User         string
		Password     string
		PasswordFile string `mapstructure:"password_file"`
		Database     string
		TimeZone     string
		DSNExtra     string `mapstructure:"dsn_extra"`

		SoftDelete bool `mapstructure:"soft_delete"`
	}

	Mail email.Config
	SMTP email.SMTPConfig

	HTTP struct {
		ListenAddress string `mapstructure:"listen_address"`
		CORS          struct {
			AllowedOrigins []string `mapstructure:"allowed_origins"`
		}
	}

	JWT JWTConfig

	RootPassword     string `mapstructure:"root_password"`
	RootPasswordFile string `mapstructure:"root_password_file"`

	ReservedUsernames []string `mapstructure:"reserved_usernames"`

	MA1SD MA1SDConfig
}

Config defines iamd's configuration

func (*Config) JWTKeyFunc

func (c *Config) JWTKeyFunc() jwt.Keyfunc

JWTKeyFunc returns a function that will return the JWT key (for use with `jwt` package)

func (*Config) ReadSecrets

func (c *Config) ReadSecrets() error

ReadSecrets loads values for secret config options from files

type JWTConfig added in v1.0.0

type JWTConfig struct {
	Key     []byte `mapstructure:"key"`
	KeyFile string `mapstructure:"key_file"`

	Issuer        string
	LoginValidity time.Duration `mapstructure:"login_validity"`
	EmailValidity time.Duration `mapstructure:"email_validity"`
}

type MA1SDConfig added in v1.0.0

type MA1SDConfig struct {
	HTTPAddress string `mapstructure:"http_address"`
	BaseURL     string `mapstructure:"base_url"`
	Domain      string
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server represents the iamd server

func NewServer

func NewServer(config Config) (*Server, error)

NewServer creates a new iamd server

func (*Server) Start

func (s *Server) Start() error

Start starts the iamd server

func (*Server) Stop

func (s *Server) Stop() error

Stop shuts down the iamd server

Jump to

Keyboard shortcuts

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