Documentation

Overview

    Package consul provides Instancer and Registrar implementations for Consul.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type Client

    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.

      func NewClient

      func NewClient(c *consul.Client) Client

        NewClient returns an implementation of the Client interface, wrapping a concrete Consul client.

        type Instancer

        type Instancer struct {
        	// contains filtered or unexported fields
        }

          Instancer yields instances for a service in Consul.

          func NewInstancer

          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.

            func (*Instancer) Deregister

            func (s *Instancer) Deregister(ch chan<- sd.Event)

              Deregister implements Instancer.

              func (*Instancer) Register

              func (s *Instancer) Register(ch chan<- sd.Event)

                Register implements Instancer.

                func (*Instancer) Stop

                func (s *Instancer) Stop()

                  Stop terminates the instancer.

                  type Registrar

                  type Registrar struct {
                  	// contains filtered or unexported fields
                  }

                    Registrar registers service instance liveness information to Consul.

                    func NewRegistrar

                    func NewRegistrar(client Client, r *stdconsul.AgentServiceRegistration, logger log.Logger) *Registrar

                      NewRegistrar returns a Consul Registrar acting on the provided catalog registration.

                      func (*Registrar) Deregister

                      func (p *Registrar) Deregister()

                        Deregister implements sd.Registrar interface.

                        func (*Registrar) Register

                        func (p *Registrar) Register()

                          Register implements sd.Registrar interface.