launcher

package
v0.1.0-beta4 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2020 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AppRegistry = map[string]*AppDef{}
View Source
var DfuseConfig map[string]*DfuseCommandConfig
View Source
var RegisterCommonFlags func(cmd *cobra.Command) error

Functions

func GetMetricAppMeta

func GetMetricAppMeta() map[string]*metrics.AppMeta

func LoadConfigFile

func LoadConfigFile(filename string) (err error)

Load reads a YAML config, and sets the global DfuseConfig variable Use the raw JSON form to provide to the different plugins and apps for them to load their config.

func ParseAppsFromArgs

func ParseAppsFromArgs(args []string) (apps []string)

func RegisterApp

func RegisterApp(appDef *AppDef)

func RegisterFlags

func RegisterFlags(cmd *cobra.Command) error

func UserLog

func UserLog() *zapbox.CLILogger

Types

type App

type App interface {
	Terminating() <-chan struct{}
	Terminated() <-chan struct{}
	Shutdown(err error)
	Err() error
	Run() error
}

type AppDef

type AppDef struct {
	ID            string
	Title         string
	Description   string
	MetricsID     string
	Logger        *LoggingDef
	RegisterFlags func(cmd *cobra.Command) error
	InitFunc      func(modules *RuntimeModules) error
	FactoryFunc   func(modules *RuntimeModules) (App, error)
}

type BoxConfig

type BoxConfig struct {
	// Either GenesisJSON or GenesisFile
	GenesisJSON string `yaml:"genesis_json"`
	GenesisFile string `yaml:"genesis_file,omitempty"`

	RunProducer         bool   `yaml:"run_producer"`
	GeneratedPublicKey  string `yaml:"generated_public_key,omitempty"`
	GeneratedPrivateKey string `yaml:"generated_private_key,omitempty"`
	ProducerConfigIni   string `yaml:"producer_config_ini,omitempty"`
	ProducerNodeVersion string `yaml:"producer_node_version,omitempty"`

	ReaderConfigIni   string `yaml:"reader_config_ini"`
	ReaderNodeVersion string `yaml:"reader_node_version"`
	Version           string `yaml:"version"` // to determine if you need to dfuseeos init again
}

Configuration extracted from the `dfuse.yaml` file. User-driven.

type Controller

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

func NewController

func NewController(nodeosCommandURL string) *Controller

func (*Controller) NodeHealth

func (c *Controller) NodeHealth() error

func (*Controller) StartNode

func (c *Controller) StartNode() (string, error)

func (*Controller) StopNode

func (c *Controller) StopNode() (string, error)

type DfuseCommandConfig

type DfuseCommandConfig struct {
	Args  []string          `json:"args"`
	Flags map[string]string `json:"flags"`
}

type Launcher

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

func NewLauncher

func NewLauncher(modules *RuntimeModules) *Launcher

func (*Launcher) Close

func (l *Launcher) Close()

func (*Launcher) Err

func (l *Launcher) Err() error

func (*Launcher) GetAppIDs

func (l *Launcher) GetAppIDs() (resp []string)

func (*Launcher) GetAppStatus

func (l *Launcher) GetAppStatus(appID string) pbdashboard.AppStatus

func (*Launcher) Launch

func (l *Launcher) Launch(appNames []string) error

func (*Launcher) StoreAndStreamAppStatus

func (l *Launcher) StoreAndStreamAppStatus(appID string, status pbdashboard.AppStatus)

func (*Launcher) SubscribeAppStatus

func (l *Launcher) SubscribeAppStatus() *subscription

func (*Launcher) Terminating

func (l *Launcher) Terminating() <-chan string

func (*Launcher) UnsubscribeAppStatus

func (l *Launcher) UnsubscribeAppStatus(sub *subscription)

func (*Launcher) WaitForTermination

func (l *Launcher) WaitForTermination()

type LoggingDef

type LoggingDef struct {
	Levels []zapcore.Level
	Regex  string
}

func NewLoggingDef

func NewLoggingDef(regex string, levels []zapcore.Level) *LoggingDef

type RuntimeModules

type RuntimeModules struct {
	SearchDmeshClient dmeshClient.SearchClient
	Launcher          *Launcher
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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