Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterRunningPlugin ¶ added in v0.1.6
func RegisterRunningPlugin(p *Plugin)
func StopAllRunningPlugins ¶ added in v0.1.6
func StopAllRunningPlugins()
Types ¶
type CacheConfigInjector ¶
type CacheConfigInjector interface {
CacheSystem() DeployableCache
}
CacheConfigInjector interface to be used by a function to inject the cache system config into a deployment package
type CacheSystem ¶
type CacheSystem interface {
FileSystem
DeployableCache
Flush(system FileSystem) error
Clear() error
}
CacheSystem represent a ephemeral file system used for intermediate state between map/reduce phases
type DeployableCache ¶ added in v0.1.5
type DeployableCache interface {
//Deploy will deploy a cache based on the config and viper values - can use plugins
Deploy() error
//Undeploy will remove a prior deployment
Undeploy() error
//Check checks if the cache is deployable, e.g. if the plugin is running, all configs are set. Should not interact with the cloud provider, just locally check if everything is ready
Check() error
//FunctionInjector can be used by function deployment code to modify function deployments to use the underling cache system, warning needs to be implemented for each platform individually
FunctionInjector() CacheConfigInjector
}
type FileSystem ¶
type FileSystem interface {
ListFiles(pathGlob string) ([]FileInfo, error)
Stat(filePath string) (FileInfo, error)
OpenReader(filePath string, startAt int64) (io.ReadCloser, error)
OpenWriter(filePath string) (io.WriteCloser, error)
Delete(filePath string) error
Join(elem ...string) string
Split(path string) []string
Init() error
}
FileSystem provides the file backend for MapReduce jobs. Input data is read from a file system. Intermediate and output data is written to a file system. This is abstracted to allow remote filesystems like S3 to be supported.
type Metrics ¶ added in v0.1.7
func CollectMetrics ¶ added in v0.1.7
CollectMetrics creates or gets the Metrics Singleton, and starts the activation log writer. Provided fields will be added to the log.
type Plugin ¶
type Plugin struct {
FullName string `json:"name"` // FullName of the plugin, must be a go `get`-able package
ExecutableName string `json:"executable"` // Name of the executable installed by go install
// contains filtered or unexported fields
}
func (*Plugin) GetConnection ¶
func (p *Plugin) GetConnection() grpc.ClientConnInterface
func (*Plugin) IsConnected ¶
Click to show internal directories.
Click to hide internal directories.