vault

package
v0.0.24 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2020 License: Apache-2.0 Imports: 13 Imported by: 3

Documentation

Overview

Package vault defines structs that will be used frequently by clients which utilize HTTP transport.

Index

Constants

View Source
const (
	// NamespaceHeader specifies the header name to use when including Namespace information in a request.
	NamespaceHeader = "X-Vault-Namespace"
	AuthTypeHeader  = "X-Vault-Token"
)

Variables

This section is empty.

Functions

func NewMockClient added in v0.0.15

func NewMockClient() loggingClient

NewMockClient creates a mock instance of loggingClient implementation

func NewSecretClientFactory added in v0.0.15

func NewSecretClientFactory() *secretClientFactory

NewSecretClientFactory creates a new factory for manufacturing secret clients the facotry is maintaining an internal map of Vault tokens and context cancel functions for gracefully terminating the background goroutine per token

Types

type AuthenticationInfo

type AuthenticationInfo struct {
	AuthType  string
	AuthToken string
}

AuthenticationInfo contains authentication information to be used when communicating with an HTTP based provider

type Caller

type Caller interface {
	Do(req *http.Request) (*http.Response, error)
}

Caller interface used to abstract the implementation details for issuing an HTTP request. This allows for easier testing by the way of mocks.

type Client added in v0.0.7

type Client struct {
	HttpConfig SecretConfig
	HttpCaller Caller
	// contains filtered or unexported fields
}

Client defines the behavior for interacting with the Vault REST secret key/value store via HTTP(S).

func (Client) GetSecrets added in v0.0.7

func (c Client) GetSecrets(subPath string, keys ...string) (map[string]string, error)

GetSecrets retrieves the secrets at the provided subpath that matches the specified keys.

func (Client) StoreSecrets added in v0.0.11

func (c Client) StoreSecrets(subPath string, secrets map[string]string) error

StoreSecrets stores the secrets at the provided subpath for the specified keys.

type ErrCaRootCert

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

ErrCaRootCert error when the provided CA Root certificate is invalid.

func (ErrCaRootCert) Error

func (e ErrCaRootCert) Error() string

type MockLogger added in v0.0.15

type MockLogger struct {
}

func (MockLogger) Debug added in v0.0.15

func (lc MockLogger) Debug(msg string, args ...interface{})

Debug simulates logging an entry at the DEBUG severity level

func (MockLogger) Info added in v0.0.15

func (lc MockLogger) Info(msg string, args ...interface{})

Info simulates logging an entry at the INFO severity level

func (MockLogger) Warn added in v0.0.15

func (lc MockLogger) Warn(msg string, args ...interface{})

Warn simulates logging an entry at the WARN severity level

type SecretConfig

type SecretConfig struct {
	Host string
	Port int
	// Path is the base path to the secret's location in the secret store
	Path                    string
	Protocol                string
	Namespace               string
	RootCaCertPath          string
	ServerName              string
	Authentication          AuthenticationInfo
	AdditionalRetryAttempts int
	RetryWaitPeriod         string
	// contains filtered or unexported fields
}

SecretConfig contains configuration settings used to communicate with an HTTP based secret provider

func (SecretConfig) BuildSecretsPathURL added in v0.0.17

func (c SecretConfig) BuildSecretsPathURL(subPath string) (url string, err error)

BuildSecretsPathURL constructs a URL which can be used to identify a secret's path subPath is the location of the secrets in the secrets engine

func (SecretConfig) BuildURL

func (c SecretConfig) BuildURL(path string) (spURL string, err error)

BuildURL constructs a URL which can be used to identify a HTTP based secret provider

type TokenLookupMetadata added in v0.0.15

type TokenLookupMetadata struct {
	ExpireTime string `json:"expire_time"`
	Period     int    `json:"period"` // in seconds
	Renewable  bool   `json:"renewable"`
	Ttl        int    `json:"ttl"` // in seconds
}

type TokenLookupResponse added in v0.0.15

type TokenLookupResponse struct {
	Data TokenLookupMetadata
}

Jump to

Keyboard shortcuts

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