server

package
v0.0.0-...-9b598c7 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2023 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiServer

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

func NewAPIServer

func NewAPIServer(options ServerOptions) *ApiServer

func (*ApiServer) Listen

func (s *ApiServer) Listen() (listener net.Listener, err error)

Listen only start the listener, not the server. Useful for breaking up ListenAndServer (Start) when you require the server to be listening before continuing

func (*ApiServer) Run

func (s *ApiServer) Run()

Start listening on the configured port and start the server. This is a convenience wrapper for Listen() and Serve(listener Listener)

func (*ApiServer) Serve

func (s *ApiServer) Serve(listener net.Listener)

Serve start the blocking call to Serve. Useful for breaking up ListenAndServer (Start) when you require the server to be listening before continuing

func (*ApiServer) Start

func (s *ApiServer) Start()

func (*ApiServer) Stop

func (s *ApiServer) Stop()

type ApiServerReadyCondition

type ApiServerReadyCondition interface {
	Wait()
}

type HealthCheckConfig

type HealthCheckConfig struct {
	BindAddress string `json:"bind_address"`
	EnableHTTPS bool   `json:"enable_https"`
	// Minimum TLS version accepted by the healthcheck server. Only takes effect when
	// EnableHTTPS is true. The data type is uint16 due to golang's
	// tls package accepts the versions in uint16 format, whose values
	// are available as constants in that same package
	MinTLSVersion uint16
}

func NewHealthCheckConfig

func NewHealthCheckConfig() *HealthCheckConfig

func (*HealthCheckConfig) AddFlags

func (c *HealthCheckConfig) AddFlags(fs *pflag.FlagSet)

func (*HealthCheckConfig) ReadFiles

func (c *HealthCheckConfig) ReadFiles() error

type HealthCheckServer

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

func NewHealthCheckServer

func NewHealthCheckServer(healthCheckConfig *HealthCheckConfig, serverConfig *ServerConfig, sentryConfig *sentry.Config) *HealthCheckServer

func (HealthCheckServer) Listen

func (s HealthCheckServer) Listen() (listener net.Listener, err error)

Unimplemented

func (HealthCheckServer) Run

func (s HealthCheckServer) Run()

func (HealthCheckServer) Serve

func (s HealthCheckServer) Serve(listener net.Listener)

Unimplemented

func (HealthCheckServer) Start

func (s HealthCheckServer) Start()

func (HealthCheckServer) Stop

func (s HealthCheckServer) Stop()

type MetricsConfig

type MetricsConfig struct {
	BindAddress string `json:"bind_address"`
	EnableHTTPS bool   `json:"enable_https"`
	// Minimum TLS version accepted by the metrics server. Only takes effect when
	// EnableHTTPS is true. The data type is uint16 due to golang's
	// tls package accepts the versions in uint16 format, whose values
	// are available as constants in that same package
	MinTLSVersion uint16
}

func NewMetricsConfig

func NewMetricsConfig() *MetricsConfig

func (*MetricsConfig) AddFlags

func (s *MetricsConfig) AddFlags(fs *pflag.FlagSet)

func (*MetricsConfig) ReadFiles

func (s *MetricsConfig) ReadFiles() error

type MetricsServer

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

func NewMetricsServer

func NewMetricsServer(metricsConfig *MetricsConfig, serverConfig *ServerConfig, sentryConfig *sentry.Config) *MetricsServer

func (MetricsServer) Listen

func (s MetricsServer) Listen() (listener net.Listener, err error)

func (MetricsServer) Run

func (s MetricsServer) Run()

func (MetricsServer) Serve

func (s MetricsServer) Serve(listener net.Listener)

func (MetricsServer) Start

func (s MetricsServer) Start()

func (MetricsServer) Stop

func (s MetricsServer) Stop()

type Server

type Server interface {
	Run()
	Stop()
	Listen() (net.Listener, error)
	Serve(net.Listener)
}

type ServerConfig

type ServerConfig struct {
	BindAddress    string `json:"bind_address"`
	HTTPSCertFile  string `json:"https_cert_file"`
	HTTPSKeyFile   string `json:"https_key_file"`
	EnableHTTPS    bool   `json:"enable_https"`
	JwksURL        string `json:"jwks_url"`
	JwksFile       string `json:"jwks_file"`
	TokenIssuerURL string `json:"jwt_token_issuer_url"`
	// The public http host URL to access the service
	// For staging it is "https://api.stage.openshift.com"
	// For production it is "https://api.openshift.com"
	PublicHostURL         string `json:"public_url"`
	EnableTermsAcceptance bool   `json:"enable_terms_acceptance"`
	VerifyInsecure        bool   `json:"verify_insecure"`
	// Minimum TLS version accepted by the server. Only takes effect when
	// EnableHTTPS is true. The data type is uint16 due to golang's
	// tls package accepts the versions in uint16 format, whose values
	// are available as constants in that same package
	MinTLSVersion uint16
}

func NewServerConfig

func NewServerConfig() *ServerConfig

func (*ServerConfig) AddFlags

func (s *ServerConfig) AddFlags(fs *pflag.FlagSet)

func (*ServerConfig) ReadFiles

func (s *ServerConfig) ReadFiles() error

type ServerOptions

type ServerOptions struct {
	di.Inject
	ServerConfig    *ServerConfig
	KeycloakConfig  *keycloak.KeycloakConfig
	SentryConfig    *sentry.Config
	RouteLoaders    []environments.RouteLoader
	Env             *environments.Env
	ReadyConditions []ApiServerReadyCondition `di:"optional"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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