consul

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2020 License: MPL-2.0 Imports: 18 Imported by: 46

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DurationMinusBuffer added in v1.2.0

func DurationMinusBuffer(intv time.Duration, buffer time.Duration, jitter int64) time.Duration

DurationMinusBuffer returns a duration, minus a buffer and jitter subtracted from the duration. This function is used primarily for servicing Consul TTL Checks in advance of the TTL.

func DurationMinusBufferDomain added in v1.2.0

func DurationMinusBufferDomain(intv time.Duration, buffer time.Duration, jitter int64) (min time.Duration, max time.Duration)

DurationMinusBufferDomain returns the domain of valid durations from a call to DurationMinusBuffer. This function is used to check user specified input values to DurationMinusBuffer.

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.

func RandomStagger added in v1.2.0

func RandomStagger(intv time.Duration) time.Duration

RandomStagger returns an interval between 0 and the duration

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) Put

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

Put is used to insert or update an entry

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