go-plugins: github.com/micro/go-plugins Index | Files | Directories

package plugin

import "github.com/micro/go-plugins"

Package plugin provides the ability to load plugins


Package Files

plugin.go template.go

func Build Uses

func Build(path string, p *Plugin) error

Build generates a dso plugin using the go command `go build -buildmode=plugin`

func Generate Uses

func Generate(path string, p *Plugin) error

Generate creates a go file at the specified path. You must use `go build -buildmode=plugin`to build it.

func Init Uses

func Init(p *Plugin) error

Init sets up the plugin

type Plugin Uses

type Plugin struct {
    // Name of the plugin e.g rabbitmq
    Name string
    // Type of the plugin e.g broker
    Type string
    // Path specifies the import path
    Path string
    // NewFunc creates an instance of the plugin
    NewFunc interface{}

Plugin is a plugin loaded from a file

func Load Uses

func Load(path string) (*Plugin, error)

Load loads a plugin created with `go build -buildmode=plugin`


broker/gocloudPackage gocloud provides a pubsub broker for Go Cloud.
broker/googlepubsubPackage googlepubsub provides a Google cloud pubsub broker
broker/grpcPackage grpc is a point to point grpc broker
broker/grpc/protoPackage broker is a generated protocol buffer package.
broker/httpPackage http provides a http based message broker
broker/kafkaPackage kafka provides a kafka broker using sarama cluster
broker/memoryPackage memory provides a memory broker
broker/mqttPackage mqtt provides an mqtt broker
broker/natsPackage memory provides a memory broker
broker/nsqPackage nsq provides an NSQ broker
broker/proxyPackage proxy is a broker using the micro proxy
broker/rabbitmqPackage rabbitmq provides a RabbitMQ broker
broker/redisPackage redis provides a Redis broker
broker/servicePackage service provides the broker service client
broker/stanPackage stan provides a NATS Streaming broker
client/httpPackage http provides a http client
client/http/testPackage test is a generated protocol buffer package.
client/mockPackage mock provides a mock client for testing
client/selector/labelPackage label is a priority label based selector.
client/selector/staticPackage static is a selector which always returns the name specified with a port-number appended.
codec/bsonrpcPackage bsonrpc provides a bson-rpc codec
codec/jsonrpc2Package jsonrpc2 provides a json-rpc 2.0 codec
codec/msgpackrpcPackage msgpackrpc provides a msgpack-rpc codec
config/source/configmapPackage configmap config is an interface for dynamic configuration.
config/source/grpc/protoPackage grpc is a generated protocol buffer package.
config/source/runtimevarpackage runtimevar is the source for gocloud.dev/runtimevar
config/source/urlPackage url loads changesets from a url
micro/authPackage auth provides auth management for micro
micro/auth/basicPackage basic provides basic auth using htpasswd
micro/auth/digestPackage digest provides digest auth using htdigest
micro/auth/ldapPackage ldap provides ldap authentication
micro/disable_rpcPackage disable_rpc disables the /rpc endpoint
micro/gzipPackage gzip is a micro plugin for gzipping http response
micro/indexPackage index is a micro plugin for stripping a path index
micro/ip_whitelistPackage ip_whitelist is a micro plugin for whitelisting ip addresses
micro/metricsPackage metrics provides metrics for micro
micro/metrics/prometheusPackage prometheus provides prometheus metrics via a http handler
micro/routerPackage router is a micro plugin for defining HTTP routes
micro/stats_authstats_auth enables basic auth on the /stats endpoint
micro/trace/awsxrayPackage awsxray is a micro plugin for whitelisting service requests
micro/trace/uuidPackage uuid is a micro plugin for adding a trace header
micro/whitelistPackage whitelist is a micro plugin for whitelisting service requests
registry/cachePackage cache provides a registry cache
registry/etcdPackage etcd provides an etcd v3 service registry
registry/etcdv3Package etcd provides an etcd v3 service registry
registry/eurekaPackage eureka provides a Eureka registry
registry/eureka/mockThis file was generated by counterfeiter
registry/gossipPackage gossip provides a gossip registry based on hashicorp/memberlist
registry/kubernetesPackage kubernetes provides a kubernetes registry
registry/mdnsPackage mdns provides a multicast dns registry
registry/memoryPackage memory provides an in-memory registry
registry/natsPackage nats provides a NATS registry using broadcast queries
registry/proxyPackage proxy is a registry plugin for the micro proxy
registry/servicePackage service uses the registry service
registry/zookeeperPackage zookeeper provides a zookeeper registry
server/httpPackage http implements a go-micro.Server
store/consulPackage consul is a consul implementation of kv
transport/grpcPackage grpc provides a grpc transport
transport/httpPackage http returns a http2 transport using net/http
transport/memoryPackage memory is an in-memory transport
transport/natsPackage nats provides a NATS transport
transport/quicPackage quic provides a QUIC based transport
transport/rabbitmqPackage rabbitmq provides a RabbitMQ transport
transport/tcpPackage tcp provides a TCP transport
transport/utpPackage utp implements a utp transport
wrapper/endpointPackage endpoint provides a wrapper that executes other wrappers for specific methods
wrapper/select/roundrobinPackage roundrobin implements a roundrobin call strategy
wrapper/select/shardPackage shard implements the sharding call strategy
wrapper/servicePackage wrapper injects a go-micro.Service into the context
wrapper/trace/awsxrayPackage awsxray is a wrapper for AWS X-Ray distributed tracing
wrapper/trace/datadogPackage datadog provides wrappers for Datadog ddtrace
wrapper/trace/opencensusPackage opencensus provides wrappers for OpenCensus tracing.
wrapper/trace/opentracingPackage opentracing provides wrappers for OpenTracing

Package plugin imports 16 packages (graph). Updated 2020-03-19. Refresh now. Tools for package owners.