service

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AwaitTermination

func AwaitTermination(logger log.Logger, terminationListener chan error)

func NewTerminationListener

func NewTerminationListener() chan error

Types

type BindAddress

type BindAddress struct {
	Address string
}

BindAddress specifies where the http server should bind to.

type Config

type Config struct {
	Telemetry telemetry.Config

	Servers ServerConfig

	Search  search.Config
	Storage storage.Config
}

Config defines all the configuration for the app

func LoadConfig

func LoadConfig(logger log.Logger) (*Config, error)

type Environment

type Environment struct {
	Logger      log.Logger
	Config      *Config
	TimeService stime.TimeService

	PublicRouter *mux.Router
	Shutdown     func()
}

Environment - Contains everything thats been instantiated for this service.

func NewEnvironment

func NewEnvironment(env *Environment) (*Environment, error)

NewEnvironment - Generates a new default environment. Overrides can be specified via configs.

func (*Environment) RunServers

func (env *Environment) RunServers(terminationListener chan error) func()

RunServers - Boots up all the servers and awaits till they are stopped.

type GlobalConfig

type GlobalConfig struct {
	RailMsgSql Config
}

type HTTPConfig

type HTTPConfig struct {
	Bind     BindAddress
	BasePath string
}

HTTPConfig configuration for running an http server

type ServerConfig

type ServerConfig struct {
	Public HTTPConfig
	Admin  HTTPConfig
}

ServerConfig - Groups all the http configs for the servers and ports that get opened.

Jump to

Keyboard shortcuts

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