Documentation
¶
Index ¶
Constants ¶
View Source
const ProviderPluginName = "provider"
Variables ¶
View Source
var HandshakeConfig = plugin.HandshakeConfig{
ProtocolVersion: 1,
MagicCookieKey: "IONSCALE_PLUGIN_DNS",
MagicCookieValue: "k29lqez4d5dzfh629t2it4fv8n804blr38nj9495uj3wqrgoyzalmg2l7jnqmz6e",
}
Handshake is a common handshake that is shared by plugin and host.
View Source
var PluginMap = map[string]plugin.Plugin{ ProviderPluginName: &ProviderPlugin{}, }
PluginMap is the map of plugins we can dispense.
Functions ¶
func Serve ¶
func Serve(provider interface {
libdns.RecordGetter
libdns.RecordSetter
libdns.RecordAppender
libdns.RecordDeleter
})
Types ¶
type Provider ¶
type Provider interface {
libdns.RecordGetter
libdns.RecordSetter
libdns.RecordAppender
libdns.RecordDeleter
Configure(context.Context, json.RawMessage) error
}
type ProviderPlugin ¶
func (*ProviderPlugin) GRPCClient ¶
func (p *ProviderPlugin) GRPCClient(_ context.Context, _ *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)
func (*ProviderPlugin) GRPCServer ¶
func (p *ProviderPlugin) GRPCServer(_ *plugin.GRPCBroker, s *grpc.Server) error
Click to show internal directories.
Click to hide internal directories.