consul

package
v0.11.0-beta1 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2018 License: MPL-2.0 Imports: 27 Imported by: 47

Documentation

Index

Constants

View Source
const (

	// DefaultServiceName is the default Consul service name used when
	// advertising a Vault instance.
	DefaultServiceName = "vault"
)

Variables

This section is empty.

Functions

func NewConsulBackend

func NewConsulBackend(conf map[string]string, logger log.Logger) (physical.Backend, error)

NewConsulBackend constructs a Consul backend using the given API client and the prefix in the KV store.

Types

type ConsulBackend

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

ConsulBackend is a physical backend that stores data at specific prefix within Consul. It is used for most production situations as it allows Vault to run on multiple machines in a highly-available manner.

func (*ConsulBackend) Delete

func (c *ConsulBackend) Delete(ctx context.Context, key string) error

Delete is used to permanently delete an entry

func (*ConsulBackend) DetectHostAddr

func (c *ConsulBackend) DetectHostAddr() (string, error)

DetectHostAddr is used to detect the host address by asking the Consul agent

func (*ConsulBackend) Get

func (c *ConsulBackend) Get(ctx context.Context, key string) (*physical.Entry, error)

Get is used to fetch an entry

func (*ConsulBackend) HAEnabled

func (c *ConsulBackend) HAEnabled() bool

HAEnabled indicates whether the HA functionality should be exposed. Currently always returns true.

func (*ConsulBackend) List

func (c *ConsulBackend) List(ctx context.Context, prefix string) ([]string, error)

List is used to list all the keys under a given prefix, up to the next prefix.

func (*ConsulBackend) LockWith

func (c *ConsulBackend) LockWith(key, value string) (physical.Lock, error)

Lock is used for mutual exclusion based on the given key.

func (*ConsulBackend) NotifyActiveStateChange

func (c *ConsulBackend) NotifyActiveStateChange() error

func (*ConsulBackend) NotifySealedStateChange

func (c *ConsulBackend) NotifySealedStateChange() error

func (*ConsulBackend) Put

func (c *ConsulBackend) Put(ctx context.Context, entry *physical.Entry) error

Put is used to insert or update an entry

func (*ConsulBackend) RunServiceDiscovery

func (c *ConsulBackend) RunServiceDiscovery(waitGroup *sync.WaitGroup, shutdownCh physical.ShutdownChannel, redirectAddr string, activeFunc physical.ActiveFunction, sealedFunc physical.SealedFunction) (err error)

func (*ConsulBackend) Transaction

func (c *ConsulBackend) Transaction(ctx context.Context, txns []*physical.TxnEntry) error

Used to run multiple entries via a transaction

type ConsulLock

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

ConsulLock is used to provide the Lock interface backed by Consul

func (*ConsulLock) Lock

func (c *ConsulLock) Lock(stopCh <-chan struct{}) (<-chan struct{}, error)

func (*ConsulLock) Unlock

func (c *ConsulLock) Unlock() error

func (*ConsulLock) Value

func (c *ConsulLock) Value() (bool, string, error)

Jump to

Keyboard shortcuts

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