consul

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: May 11, 2022 License: MPL-2.0 Imports: 4 Imported by: 85

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewIdentitiesClient added in v0.10.4

func NewIdentitiesClient(logger hclog.Logger, tokenDeriver TokenDeriverFunc) *identitiesClient

Types

type MockServiceIdentitiesClient added in v0.10.4

type MockServiceIdentitiesClient struct {

	// DeriveTokenFn allows the caller to control the DeriveToken function. If
	// not set an error is returned if found in DeriveTokenErrors and otherwise
	// a token is generated and returned
	DeriveTokenFn TokenDeriverFunc
	// contains filtered or unexported fields
}

MockServiceIdentitiesClient is used for testing the client for managing consul service identity tokens.

func NewMockServiceIdentitiesClient added in v0.10.4

func NewMockServiceIdentitiesClient() *MockServiceIdentitiesClient

NewMockServiceIdentitiesClient returns a MockServiceIdentitiesClient for testing.

func (*MockServiceIdentitiesClient) DeriveSITokens added in v0.10.4

func (mtc *MockServiceIdentitiesClient) DeriveSITokens(alloc *structs.Allocation, tasks []string) (map[string]string, error)

func (*MockServiceIdentitiesClient) DeriveTokenErrors added in v0.10.4

func (mtc *MockServiceIdentitiesClient) DeriveTokenErrors() map[string]map[string]error

func (*MockServiceIdentitiesClient) SetDeriveTokenError added in v0.10.4

func (mtc *MockServiceIdentitiesClient) SetDeriveTokenError(allocID string, tasks []string, err error)

type ServiceIdentityAPI added in v0.10.4

type ServiceIdentityAPI interface {
	// DeriveSITokens contacts the nomad server and requests consul service
	// identity tokens be generated for tasks in the allocation.
	DeriveSITokens(alloc *structs.Allocation, tasks []string) (map[string]string, error)
}

ServiceIdentityAPI is the interface the Nomad Client uses to request Consul Service Identity tokens through Nomad Server.

ACL requirements - acl:write (used by Server only)

type SupportedProxiesAPI added in v1.0.0

type SupportedProxiesAPI interface {
	Proxies() (map[string][]string, error)
}

SupportedProxiesAPI is the interface the Nomad Client uses to request from Consul the set of supported proxied to use for Consul Connect.

No ACL requirements

type TokenDeriverFunc added in v0.10.4

type TokenDeriverFunc func(*structs.Allocation, []string) (map[string]string, error)

TokenDeriverFunc takes an allocation and a set of tasks and derives a service identity token for each. Requests go through nomad server.

Jump to

Keyboard shortcuts

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