Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrExists = errors.New("plugin already registered")
Functions ¶
func NewLogger ¶
func NewLogger(cfg LoggingConfig) (logger.Logger, func())
func SetCmdEnvFromConfig ¶
SetCmdEnvFromConfig sets LOOP-specific vars in the env of the given cmd.
Types ¶
type EnvConfig ¶
type EnvConfig interface { LoggingConfig PrometheusPort() int }
EnvConfig is the configuration interface between the application and the LOOP executable. The values are fully resolved and static and passed via the environment.
func GetEnvConfig ¶
GetEnvConfig deserializes LOOP-specific environment variables to an EnvConfig
func NewEnvConfig ¶
func NewEnvConfig(lc LoggingConfig, prometheusPort int) EnvConfig
type LoggingConfig ¶
type LoggingConfig interface { LogLevel() zapcore.Level JSONConsole() bool LogUnixTimestamps() bool }
LoggingConfig controls static logging related configuration that is inherited from the chainlink application to the given LOOP executable.
func NewLoggingConfig ¶
func NewLoggingConfig(level zapcore.Level, jsonConsole bool, unixTimestamps bool) LoggingConfig
type LoopRegistry ¶
type LoopRegistry struct {
// contains filtered or unexported fields
}
LoopRegistry is responsible for assigning ports to plugins that are to be used for the plugin's prometheus HTTP server
func NewLoopRegistry ¶
func NewLoopRegistry() *LoopRegistry
func (*LoopRegistry) Get ¶
func (m *LoopRegistry) Get(id string) (*RegisteredLoop, bool)
func (*LoopRegistry) List ¶
func (m *LoopRegistry) List() []*RegisteredLoop
func (*LoopRegistry) Register ¶
func (m *LoopRegistry) Register(id string, staticCfg LoggingConfig) (*RegisteredLoop, error)
Register creates a port of the plugin. It is idempotent. Duplicate calls to Register will return the same port
type PromServer ¶
type PromServer struct {
// contains filtered or unexported fields
}
func NewPromServer ¶
func NewPromServer(port int, lggr logger.Logger, opts ...PromServerOpt) *PromServer
func (*PromServer) Close ¶
func (p *PromServer) Close() error
Close shutdowns down the underlying HTTP server. See http.Server.Close for details
func (*PromServer) Port ¶
func (p *PromServer) Port() int
Port is the resolved port and is only known after Start(). returns -1 before it is resolved or if there was an error during resolution.
func (*PromServer) Start ¶
func (p *PromServer) Start() error
Start start HTTP server on specified port to handle metrics requests
type PromServerOpt ¶
type PromServerOpt func(*PromServer)
func WithRegistry ¶
func WithRegistry(r *prometheus.Registry) PromServerOpt
type RegisteredLoop ¶
type RegistrarConfig ¶
type RegistrarConfig interface { LoggingConfig RegisterLOOP(loopId string) (*RegisteredLoop, error) }
RegistrarConfig generates contains static configuration inher
func NewRegistrarConfig ¶
func NewRegistrarConfig(lc LoggingConfig, loopRegistrationFn func(loopId string, loopStaticCfg LoggingConfig) (*RegisteredLoop, error)) RegistrarConfig
NewRegistrarConfig creates a RegistarConfig loopRegistrationFn must act as a global registry function of LOOPs and must be idempotent. The EnvConfig for a LOOP should be generated by calling [RegistrarConfig.RegisterLOOP]