import "github.com/go-kit/kit/sd/consul"
Package consul provides Instancer and Registrar implementations for Consul.
client.go doc.go instancer.go registrar.go
type Client interface { // Register a service with the local agent. Register(r *consul.AgentServiceRegistration) error // Deregister a service with the local agent. Deregister(r *consul.AgentServiceRegistration) error // Service Service(service, tag string, passingOnly bool, queryOpts *consul.QueryOptions) ([]*consul.ServiceEntry, *consul.QueryMeta, error) }
Client is a wrapper around the Consul API.
NewClient returns an implementation of the Client interface, wrapping a concrete Consul client.
type Instancer struct {
// contains filtered or unexported fields
}
Instancer yields instances for a service in Consul.
func NewInstancer(client Client, logger log.Logger, service string, tags []string, passingOnly bool) *Instancer
NewInstancer returns a Consul instancer that publishes instances for the requested service. It only returns instances for which all of the passed tags are present.
Deregister implements Instancer.
Register implements Instancer.
Stop terminates the instancer.
type Registrar struct {
// contains filtered or unexported fields
}
Registrar registers service instance liveness information to Consul.
func NewRegistrar(client Client, r *stdconsul.AgentServiceRegistration, logger log.Logger) *Registrar
NewRegistrar returns a Consul Registrar acting on the provided catalog registration.
Deregister implements sd.Registrar interface.
Register implements sd.Registrar interface.
Package consul imports 8 packages (graph) and is imported by 23 packages. Updated 2018-11-08. Refresh now. Tools for package owners.