Documentation ¶
Index ¶
Constants ¶
View Source
const PluginsMapHash = "cloudconfig"
Variables ¶
View Source
var HandshakeConfig = plugin.HandshakeConfig{
ProtocolVersion: 1,
MagicCookieKey: "BASIC_PLUGIN",
MagicCookieValue: "hello",
}
Functions ¶
func Run ¶
func Run(cc ProductDeployer)
Types ¶
type ProductDeployer ¶
type ProductDeployer interface { GetMeta() Meta GetFlags() []cli.Flag GetProduct(args []string) enaml.DeploymentManifest }
ProductDeployer is the interface that we will expose for cloud config plugins
type ProductPlugin ¶
type ProductPlugin struct {
Plugin ProductDeployer
}
func NewProductPlugin ¶
func NewProductPlugin(plg ProductDeployer) ProductPlugin
func (ProductPlugin) Client ¶
func (s ProductPlugin) Client(b *plugin.MuxBroker, c *rpc.Client) (interface{}, error)
func (ProductPlugin) Server ¶
func (s ProductPlugin) Server(*plugin.MuxBroker) (interface{}, error)
type ProductRPC ¶
type ProductRPC struct {
// contains filtered or unexported fields
}
ProductRPC - Here is an implementation that talks over RPC
func (*ProductRPC) GetFlags ¶
func (s *ProductRPC) GetFlags() []cli.Flag
func (*ProductRPC) GetMeta ¶
func (s *ProductRPC) GetMeta() Meta
func (*ProductRPC) GetProduct ¶
func (s *ProductRPC) GetProduct(args []string) enaml.DeploymentManifest
type ProductRPCServer ¶
type ProductRPCServer struct {
Impl ProductDeployer
}
ProductRPCServer - Here is the RPC server that GreeterRPC talks to, conforming to the requirements of net/rpc
func (*ProductRPCServer) GetFlags ¶
func (s *ProductRPCServer) GetFlags(args interface{}, resp *[]cli.Flag) error
func (*ProductRPCServer) GetMeta ¶
func (s *ProductRPCServer) GetMeta(args interface{}, resp *Meta) error
func (*ProductRPCServer) GetProduct ¶
func (s *ProductRPCServer) GetProduct(args []string, resp *enaml.DeploymentManifest) error
Click to show internal directories.
Click to hide internal directories.