consul

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2019 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package consul is a generated GoMock package.

Package consul is a generated GoMock package.

Index

Constants

View Source
const UpstreamNamePrefix = "consul-svc:"

Variables

View Source
var ForbiddenDataCenterErr = func(dataCenter string) error {
	return errors.Errorf("not allowed to query data center [%s]. "+
		"Use the settings to configure the data centers Gloo is allowed to query", dataCenter)
}

Functions

func DestinationToUpstreamRef

func DestinationToUpstreamRef(consulDest *v1.ConsulServiceDestination) *core.ResourceRef

func IsConsulUpstream

func IsConsulUpstream(upstreamName string) bool

func NewConsulUpstreamClient

func NewConsulUpstreamClient(consul ConsulWatcher) v1.UpstreamClient

This client can list and watch Consul services. A Gloo upstream will be generated for each unique Consul service name. The Consul EDS will discover and characterize all endpoints for each one of these upstreams across the available data centers.

NOTE: any method except List and Watch will panic!

func ToUpstream added in v0.17.4

func ToUpstream(service *ServiceMeta) *v1.Upstream

Types

type ConsulClient

type ConsulClient interface {
	// DataCenters is used to query for all the known data centers.
	// Results will be filtered based on the data center whitelist provided in the Gloo settings.
	DataCenters() ([]string, error)
	// Services is used to query for all known services
	Services(q *consulapi.QueryOptions) (map[string][]string, *consulapi.QueryMeta, error)
	// Service is used to query catalog entries for a given service
	Service(service, tag string, q *consulapi.QueryOptions) ([]*consulapi.CatalogService, *consulapi.QueryMeta, error)
	// Connect is used to query catalog entries for a given Connect-enabled service
	Connect(service, tag string, q *consulapi.QueryOptions) ([]*consulapi.CatalogService, *consulapi.QueryMeta, error)
}

TODO(marco): consider adding ctx to signatures instead on relying on caller to set it Wrap the Consul API in an interface to allow mocking

func NewConsulClient

func NewConsulClient(client *consulapi.Client, dataCenters []string) (ConsulClient, error)

type ConsulWatcher

type ConsulWatcher interface {
	ConsulClient
	WatchServices(ctx context.Context, dataCenters []string) (<-chan []*ServiceMeta, <-chan error)
}

func NewConsulWatcher

func NewConsulWatcher(client *consulapi.Client, dataCenters []string) (ConsulWatcher, error)

func NewConsulWatcherFromClient

func NewConsulWatcherFromClient(client ConsulClient) ConsulWatcher

type MockConsulClient

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

MockConsulClient is a mock of ConsulClient interface

func NewMockConsulClient

func NewMockConsulClient(ctrl *gomock.Controller) *MockConsulClient

NewMockConsulClient creates a new mock instance

func (*MockConsulClient) Connect

func (m *MockConsulClient) Connect(service, tag string, q *api.QueryOptions) ([]*api.CatalogService, *api.QueryMeta, error)

Connect mocks base method

func (*MockConsulClient) DataCenters

func (m *MockConsulClient) DataCenters() ([]string, error)

DataCenters mocks base method

func (*MockConsulClient) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockConsulClient) Service

func (m *MockConsulClient) Service(service, tag string, q *api.QueryOptions) ([]*api.CatalogService, *api.QueryMeta, error)

Service mocks base method

func (*MockConsulClient) Services

func (m *MockConsulClient) Services(q *api.QueryOptions) (map[string][]string, *api.QueryMeta, error)

Services mocks base method

type MockConsulClientMockRecorder

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

MockConsulClientMockRecorder is the mock recorder for MockConsulClient

func (*MockConsulClientMockRecorder) Connect

func (mr *MockConsulClientMockRecorder) Connect(service, tag, q interface{}) *gomock.Call

Connect indicates an expected call of Connect

func (*MockConsulClientMockRecorder) DataCenters

func (mr *MockConsulClientMockRecorder) DataCenters() *gomock.Call

DataCenters indicates an expected call of DataCenters

func (*MockConsulClientMockRecorder) Service

func (mr *MockConsulClientMockRecorder) Service(service, tag, q interface{}) *gomock.Call

Service indicates an expected call of Service

func (*MockConsulClientMockRecorder) Services

func (mr *MockConsulClientMockRecorder) Services(q interface{}) *gomock.Call

Services indicates an expected call of Services

type MockConsulWatcher

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

MockConsulWatcher is a mock of ConsulWatcher interface

func NewMockConsulWatcher

func NewMockConsulWatcher(ctrl *gomock.Controller) *MockConsulWatcher

NewMockConsulWatcher creates a new mock instance

func (*MockConsulWatcher) Connect

func (m *MockConsulWatcher) Connect(service, tag string, q *api.QueryOptions) ([]*api.CatalogService, *api.QueryMeta, error)

Connect mocks base method

func (*MockConsulWatcher) DataCenters

func (m *MockConsulWatcher) DataCenters() ([]string, error)

DataCenters mocks base method

func (*MockConsulWatcher) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockConsulWatcher) Service

func (m *MockConsulWatcher) Service(service, tag string, q *api.QueryOptions) ([]*api.CatalogService, *api.QueryMeta, error)

Service mocks base method

func (*MockConsulWatcher) Services

func (m *MockConsulWatcher) Services(q *api.QueryOptions) (map[string][]string, *api.QueryMeta, error)

Services mocks base method

func (*MockConsulWatcher) WatchServices

func (m *MockConsulWatcher) WatchServices(ctx context.Context, dataCenters []string) (<-chan []*ServiceMeta, <-chan error)

WatchServices mocks base method

type MockConsulWatcherMockRecorder

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

MockConsulWatcherMockRecorder is the mock recorder for MockConsulWatcher

func (*MockConsulWatcherMockRecorder) Connect

func (mr *MockConsulWatcherMockRecorder) Connect(service, tag, q interface{}) *gomock.Call

Connect indicates an expected call of Connect

func (*MockConsulWatcherMockRecorder) DataCenters

func (mr *MockConsulWatcherMockRecorder) DataCenters() *gomock.Call

DataCenters indicates an expected call of DataCenters

func (*MockConsulWatcherMockRecorder) Service

func (mr *MockConsulWatcherMockRecorder) Service(service, tag, q interface{}) *gomock.Call

Service indicates an expected call of Service

func (*MockConsulWatcherMockRecorder) Services

func (mr *MockConsulWatcherMockRecorder) Services(q interface{}) *gomock.Call

Services indicates an expected call of Services

func (*MockConsulWatcherMockRecorder) WatchServices

func (mr *MockConsulWatcherMockRecorder) WatchServices(ctx, dataCenters interface{}) *gomock.Call

WatchServices indicates an expected call of WatchServices

type ServiceMeta

type ServiceMeta struct {
	Name        string
	DataCenters []string
	Tags        []string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL