Documentation
¶
Overview ¶
Package mainutil provides miscellaneous tools for implementing the main() function of long-lived HTTP and gRPC servers.
As with roxyutil, it is undecided how much (if any) of the mainutil API will remain available outside of the Roxy project once Roxy reaches v1.0.0.
Index ¶
- func CancelRootContext()
- func DoneLogging()
- func InitContext()
- func InitLogging()
- func NewDummyZapConfig() *zap.Config
- func RootContext() context.Context
- func RotateLogs() error
- func SetUniqueFile(path string)
- func UniqueID() (string, error)
- func Version() string
- type ATCAnnounceConfig
- func (aac ATCAnnounceConfig) AddTo(client *atcclient.ATCClient, loadFn atcclient.LoadFunc, a *announcer.Announcer) error
- func (aac ATCAnnounceConfig) AppendTo(out *strings.Builder)
- func (aac ATCAnnounceConfig) MarshalJSON() ([]byte, error)
- func (aac *ATCAnnounceConfig) Parse(str string) error
- func (aac ATCAnnounceConfig) String() string
- func (aac *ATCAnnounceConfig) UnmarshalJSON(raw []byte) error
- type ATCClientConfig
- type EtcdAnnounceConfig
- func (eac EtcdAnnounceConfig) AddTo(etcd *v3.Client, a *announcer.Announcer) error
- func (eac EtcdAnnounceConfig) AppendTo(out *strings.Builder)
- func (eac EtcdAnnounceConfig) MarshalJSON() ([]byte, error)
- func (eac *EtcdAnnounceConfig) Parse(str string) error
- func (eac EtcdAnnounceConfig) String() string
- func (eac *EtcdAnnounceConfig) UnmarshalJSON(raw []byte) error
- type EtcdConfig
- func (ec EtcdConfig) AppendTo(out *strings.Builder)
- func (ec EtcdConfig) Connect(ctx context.Context) (*v3.Client, error)
- func (ec EtcdConfig) MarshalJSON() ([]byte, error)
- func (ec *EtcdConfig) Parse(str string) error
- func (ec EtcdConfig) String() string
- func (ec *EtcdConfig) UnmarshalJSON(raw []byte) error
- type GRPCClientConfig
- func (gcc GRPCClientConfig) AppendTo(out *strings.Builder)
- func (gcc GRPCClientConfig) Dial(ctx context.Context, opts ...grpc.DialOption) (*grpc.ClientConn, error)
- func (gcc GRPCClientConfig) MarshalJSON() ([]byte, error)
- func (gcc *GRPCClientConfig) Parse(str string) error
- func (gcc GRPCClientConfig) String() string
- func (gcc *GRPCClientConfig) UnmarshalJSON(raw []byte) error
- type HealthServer
- type ListenConfig
- func (lc ListenConfig) AppendTo(out *strings.Builder)
- func (lc ListenConfig) Listen(ctx context.Context) (net.Listener, error)
- func (lc ListenConfig) MarshalJSON() ([]byte, error)
- func (lc *ListenConfig) Parse(str string) error
- func (lc ListenConfig) String() string
- func (lc *ListenConfig) UnmarshalJSON(raw []byte) error
- type MultiServer
- func (m *MultiServer) AddGRPCServer(name string, server *grpc.Server, listen net.Listener)
- func (m *MultiServer) AddHTTPServer(name string, server *http.Server, listen net.Listener)
- func (m *MultiServer) Go(fn func())
- func (m *MultiServer) OnExit(fn func() error)
- func (m *MultiServer) OnReload(fn func() error)
- func (m *MultiServer) OnRun(fn func())
- func (m *MultiServer) OnShutdown(fn func(bool) error)
- func (m *MultiServer) Reload() error
- func (m *MultiServer) Run()
- func (m *MultiServer) Shutdown(graceful bool) error
- type PromLoggerBridge
- type RotatingLogWriter
- type RoxyTarget
- type TLSClientConfig
- func (tcc TLSClientConfig) AppendTo(out *strings.Builder)
- func (tcc TLSClientConfig) MakeTLS(serverName string) (*tls.Config, error)
- func (tcc TLSClientConfig) MarshalJSON() ([]byte, error)
- func (tcc *TLSClientConfig) Parse(str string) error
- func (tcc TLSClientConfig) String() string
- func (tcc *TLSClientConfig) UnmarshalJSON(raw []byte) error
- type TLSServerConfig
- func (tsc TLSServerConfig) AppendTo(out *strings.Builder)
- func (tsc TLSServerConfig) MakeTLS() (*tls.Config, error)
- func (tsc TLSServerConfig) MarshalJSON() ([]byte, error)
- func (tsc *TLSServerConfig) Parse(str string) error
- func (tsc TLSServerConfig) String() string
- func (tsc *TLSServerConfig) UnmarshalJSON(raw []byte) error
- type ZKAnnounceConfig
- func (zac ZKAnnounceConfig) AddTo(zkconn *zk.Conn, a *announcer.Announcer) error
- func (zac ZKAnnounceConfig) AppendTo(out *strings.Builder)
- func (zac ZKAnnounceConfig) MarshalJSON() ([]byte, error)
- func (zac *ZKAnnounceConfig) Parse(str string) error
- func (zac ZKAnnounceConfig) String() string
- func (zac *ZKAnnounceConfig) UnmarshalJSON(raw []byte) error
- type ZKAuthConfig
- type ZKConfig
- type ZKLoggerBridge
- type ZapLoggerBridge
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CancelRootContext ¶
func CancelRootContext()
func DoneLogging ¶
func DoneLogging()
func InitContext ¶
func InitContext()
func InitLogging ¶
func InitLogging()
func NewDummyZapConfig ¶
func RootContext ¶
func RotateLogs ¶
func RotateLogs() error
func SetUniqueFile ¶
func SetUniqueFile(path string)
Types ¶
type ATCAnnounceConfig ¶
type ATCAnnounceConfig struct {
ATCClientConfig
ServiceName string
Location string
Unique string
NamedPort string
}
func (ATCAnnounceConfig) AppendTo ¶
func (aac ATCAnnounceConfig) AppendTo(out *strings.Builder)
func (ATCAnnounceConfig) MarshalJSON ¶
func (aac ATCAnnounceConfig) MarshalJSON() ([]byte, error)
func (*ATCAnnounceConfig) Parse ¶
func (aac *ATCAnnounceConfig) Parse(str string) error
func (ATCAnnounceConfig) String ¶
func (aac ATCAnnounceConfig) String() string
func (*ATCAnnounceConfig) UnmarshalJSON ¶
func (aac *ATCAnnounceConfig) UnmarshalJSON(raw []byte) error
type ATCClientConfig ¶
type ATCClientConfig struct {
GRPCClientConfig
}
type EtcdAnnounceConfig ¶
type EtcdAnnounceConfig struct {
EtcdConfig
Path string
Unique string
NamedPort string
Format announcer.Format
}
func (EtcdAnnounceConfig) AppendTo ¶
func (eac EtcdAnnounceConfig) AppendTo(out *strings.Builder)
func (EtcdAnnounceConfig) MarshalJSON ¶
func (eac EtcdAnnounceConfig) MarshalJSON() ([]byte, error)
func (*EtcdAnnounceConfig) Parse ¶
func (eac *EtcdAnnounceConfig) Parse(str string) error
func (EtcdAnnounceConfig) String ¶
func (eac EtcdAnnounceConfig) String() string
func (*EtcdAnnounceConfig) UnmarshalJSON ¶
func (eac *EtcdAnnounceConfig) UnmarshalJSON(raw []byte) error
type EtcdConfig ¶
type EtcdConfig struct {
Enabled bool
Endpoints []string
TLS TLSClientConfig
Username string
Password string
DialTimeout time.Duration
KeepAlive time.Duration
KeepAliveTimeout time.Duration
}
func (EtcdConfig) AppendTo ¶
func (ec EtcdConfig) AppendTo(out *strings.Builder)
func (EtcdConfig) MarshalJSON ¶
func (ec EtcdConfig) MarshalJSON() ([]byte, error)
func (*EtcdConfig) Parse ¶
func (ec *EtcdConfig) Parse(str string) error
func (EtcdConfig) String ¶
func (ec EtcdConfig) String() string
func (*EtcdConfig) UnmarshalJSON ¶
func (ec *EtcdConfig) UnmarshalJSON(raw []byte) error
type GRPCClientConfig ¶
type GRPCClientConfig struct {
Enabled bool
Target RoxyTarget
TLS TLSClientConfig
}
func (GRPCClientConfig) AppendTo ¶
func (gcc GRPCClientConfig) AppendTo(out *strings.Builder)
func (GRPCClientConfig) Dial ¶
func (gcc GRPCClientConfig) Dial(ctx context.Context, opts ...grpc.DialOption) (*grpc.ClientConn, error)
func (GRPCClientConfig) MarshalJSON ¶
func (gcc GRPCClientConfig) MarshalJSON() ([]byte, error)
func (*GRPCClientConfig) Parse ¶
func (gcc *GRPCClientConfig) Parse(str string) error
func (GRPCClientConfig) String ¶
func (gcc GRPCClientConfig) String() string
func (*GRPCClientConfig) UnmarshalJSON ¶
func (gcc *GRPCClientConfig) UnmarshalJSON(raw []byte) error
type HealthServer ¶
type HealthServer struct {
grpc_health_v1.UnimplementedHealthServer
// contains filtered or unexported fields
}
func (*HealthServer) Check ¶
func (s *HealthServer) Check(ctx context.Context, req *healthCheckRequest) (*healthCheckResponse, error)
func (*HealthServer) Set ¶
func (s *HealthServer) Set(subsystemName string, healthy bool)
func (*HealthServer) Stop ¶
func (s *HealthServer) Stop()
func (*HealthServer) Watch ¶
func (s *HealthServer) Watch(req *healthCheckRequest, ws grpc_health_v1.Health_WatchServer) error
type ListenConfig ¶
type ListenConfig struct {
Enabled bool
Network string
Address string
TLS TLSServerConfig
}
func (ListenConfig) AppendTo ¶
func (lc ListenConfig) AppendTo(out *strings.Builder)
func (ListenConfig) MarshalJSON ¶
func (lc ListenConfig) MarshalJSON() ([]byte, error)
func (*ListenConfig) Parse ¶
func (lc *ListenConfig) Parse(str string) error
func (ListenConfig) String ¶
func (lc ListenConfig) String() string
func (*ListenConfig) UnmarshalJSON ¶
func (lc *ListenConfig) UnmarshalJSON(raw []byte) error
type MultiServer ¶
type MultiServer struct {
// contains filtered or unexported fields
}
func (*MultiServer) AddGRPCServer ¶
func (*MultiServer) AddHTTPServer ¶
func (*MultiServer) Go ¶
func (m *MultiServer) Go(fn func())
func (*MultiServer) OnExit ¶
func (m *MultiServer) OnExit(fn func() error)
func (*MultiServer) OnReload ¶
func (m *MultiServer) OnReload(fn func() error)
func (*MultiServer) OnRun ¶
func (m *MultiServer) OnRun(fn func())
func (*MultiServer) OnShutdown ¶
func (m *MultiServer) OnShutdown(fn func(bool) error)
func (*MultiServer) Reload ¶
func (m *MultiServer) Reload() error
func (*MultiServer) Run ¶
func (m *MultiServer) Run()
func (*MultiServer) Shutdown ¶
func (m *MultiServer) Shutdown(graceful bool) error
type PromLoggerBridge ¶
type PromLoggerBridge struct{}
func (PromLoggerBridge) Println ¶
func (PromLoggerBridge) Println(v ...interface{})
type RotatingLogWriter ¶
type RotatingLogWriter struct {
// contains filtered or unexported fields
}
func NewRotatingLogWriter ¶
func NewRotatingLogWriter(fileName string) (*RotatingLogWriter, error)
func (*RotatingLogWriter) Close ¶
func (w *RotatingLogWriter) Close() error
func (*RotatingLogWriter) Rotate ¶
func (w *RotatingLogWriter) Rotate() error
type RoxyTarget ¶
type RoxyTarget = roxyresolver.RoxyTarget
type TLSClientConfig ¶
type TLSClientConfig struct {
Enabled bool
SkipVerify bool
SkipVerifyServerName bool
RootCA string
ServerName string
CommonName string
ClientCert string
ClientKey string
}
func (TLSClientConfig) AppendTo ¶
func (tcc TLSClientConfig) AppendTo(out *strings.Builder)
func (TLSClientConfig) MakeTLS ¶
func (tcc TLSClientConfig) MakeTLS(serverName string) (*tls.Config, error)
func (TLSClientConfig) MarshalJSON ¶
func (tcc TLSClientConfig) MarshalJSON() ([]byte, error)
func (*TLSClientConfig) Parse ¶
func (tcc *TLSClientConfig) Parse(str string) error
func (TLSClientConfig) String ¶
func (tcc TLSClientConfig) String() string
func (*TLSClientConfig) UnmarshalJSON ¶
func (tcc *TLSClientConfig) UnmarshalJSON(raw []byte) error
type TLSServerConfig ¶
type TLSServerConfig struct {
Enabled bool
Cert string
Key string
MutualTLS bool
ClientCA string
CommonNames []string
}
func (TLSServerConfig) AppendTo ¶
func (tsc TLSServerConfig) AppendTo(out *strings.Builder)
func (TLSServerConfig) MarshalJSON ¶
func (tsc TLSServerConfig) MarshalJSON() ([]byte, error)
func (*TLSServerConfig) Parse ¶
func (tsc *TLSServerConfig) Parse(str string) error
func (TLSServerConfig) String ¶
func (tsc TLSServerConfig) String() string
func (*TLSServerConfig) UnmarshalJSON ¶
func (tsc *TLSServerConfig) UnmarshalJSON(raw []byte) error
type ZKAnnounceConfig ¶
type ZKAnnounceConfig struct {
ZKConfig
Path string
Unique string
NamedPort string
Format announcer.Format
}
func (ZKAnnounceConfig) AppendTo ¶
func (zac ZKAnnounceConfig) AppendTo(out *strings.Builder)
func (ZKAnnounceConfig) MarshalJSON ¶
func (zac ZKAnnounceConfig) MarshalJSON() ([]byte, error)
func (*ZKAnnounceConfig) Parse ¶
func (zac *ZKAnnounceConfig) Parse(str string) error
func (ZKAnnounceConfig) String ¶
func (zac ZKAnnounceConfig) String() string
func (*ZKAnnounceConfig) UnmarshalJSON ¶
func (zac *ZKAnnounceConfig) UnmarshalJSON(raw []byte) error
type ZKAuthConfig ¶
type ZKConfig ¶
type ZKConfig struct {
Enabled bool
Servers []string
SessionTimeout time.Duration
Auth ZKAuthConfig
}
func (ZKConfig) MarshalJSON ¶
func (*ZKConfig) UnmarshalJSON ¶
type ZKLoggerBridge ¶
type ZKLoggerBridge struct{}
func (ZKLoggerBridge) Printf ¶
func (ZKLoggerBridge) Printf(fmt string, args ...interface{})
type ZapLoggerBridge ¶
type ZapLoggerBridge struct{}
func (ZapLoggerBridge) Close ¶
func (ZapLoggerBridge) Close() error
func (ZapLoggerBridge) Sync ¶
func (ZapLoggerBridge) Sync() error
Source Files
¶
Click to show internal directories.
Click to hide internal directories.