Back to

package consul

Latest Go to latest
Published: 1 day ago | License: MPL-2.0 | Module:


func DurationMinusBuffer

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

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

func RandomStagger(intv time.Duration) time.Duration

RandomStagger returns an interval between 0 and the duration

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)
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier