Documentation
¶
Index ¶
Constants ¶
const ( DisableIdleConnsEnv = "VAULT_PROXY_DISABLE_IDLE_CONNECTIONS" DisableKeepAlivesEnv = "VAULT_PROXY_DISABLE_KEEP_ALIVES" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIProxy ¶
type APIProxy struct {
UseAutoAuthTokenRaw interface{} `hcl:"use_auto_auth_token"`
UseAutoAuthToken bool `hcl:"-"`
ForceAutoAuthToken bool `hcl:"-"`
EnforceConsistency string `hcl:"enforce_consistency"`
WhenInconsistent string `hcl:"when_inconsistent"`
}
APIProxy contains any configuration needed for proxy mode
type AutoAuth ¶
type AutoAuth struct {
Method *Method `hcl:"-"`
Sinks []*Sink `hcl:"sinks"`
// NOTE: This is unsupported outside of testing and may disappear at any
// time.
EnableReauthOnNewCredentials bool `hcl:"enable_reauth_on_new_credentials"`
}
AutoAuth is the configured authentication method and sinks
type Cache ¶
type Cache struct {
Persist *agentproxyshared.PersistConfig `hcl:"persist"`
InProcDialer transportDialer `hcl:"-"`
}
Cache contains any configuration needed for Cache mode
type Config ¶
type Config struct {
AutoAuth *AutoAuth `hcl:"auto_auth"`
ExitAfterAuth bool `hcl:"exit_after_auth"`
Cache *Cache `hcl:"cache"`
APIProxy *APIProxy `hcl:"api_proxy""`
Vault *Vault `hcl:"vault"`
DisableIdleConns []string `hcl:"disable_idle_connections"`
DisableIdleConnsAPIProxy bool `hcl:"-"`
DisableIdleConnsAutoAuth bool `hcl:"-"`
DisableKeepAlives []string `hcl:"disable_keep_alives"`
DisableKeepAlivesAPIProxy bool `hcl:"-"`
DisableKeepAlivesAutoAuth bool `hcl:"-"`
}
Config is the configuration for Vault Proxy.
func LoadConfig ¶
LoadConfig loads the configuration at the given path, regardless if it's a file or directory.
func LoadConfigDir ¶
LoadConfigDir loads the configuration at the given path if it's a directory
func LoadConfigFile ¶
LoadConfigFile loads the configuration at the given path if it's a file
func (*Config) ValidateConfig ¶
ValidateConfig validates a Vault configuration after it has been fully merged together, to ensure that required combinations of configs are there
type Method ¶
type Method struct {
Type string
MountPath string `hcl:"mount_path"`
WrapTTLRaw interface{} `hcl:"wrap_ttl"`
WrapTTL time.Duration `hcl:"-"`
MinBackoffRaw interface{} `hcl:"min_backoff"`
MinBackoff time.Duration `hcl:"-"`
MaxBackoffRaw interface{} `hcl:"max_backoff"`
MaxBackoff time.Duration `hcl:"-"`
Namespace string `hcl:"namespace"`
ExitOnError bool `hcl:"exit_on_err"`
Config map[string]interface{}
}
Method represents the configuration for the authentication backend
type Sink ¶
type Sink struct {
Type string
WrapTTLRaw interface{} `hcl:"wrap_ttl"`
WrapTTL time.Duration `hcl:"-"`
DHType string `hcl:"dh_type"`
DeriveKey bool `hcl:"derive_key"`
DHPath string `hcl:"dh_path"`
AAD string `hcl:"aad"`
AADEnvVar string `hcl:"aad_env_var"`
Config map[string]interface{}
}
Sink defines a location to write the authenticated token
type Vault ¶
type Vault struct {
Address string `hcl:"address"`
CACert string `hcl:"ca_cert"`
CAPath string `hcl:"ca_path"`
TLSSkipVerify bool `hcl:"-"`
TLSSkipVerifyRaw interface{} `hcl:"tls_skip_verify"`
ClientCert string `hcl:"client_cert"`
ClientKey string `hcl:"client_key"`
TLSServerName string `hcl:"tls_server_name"`
Retry *Retry `hcl:"retry"`
}
Vault contains configuration for connecting to Vault servers