Versions in this module Expand all Collapse all v1 v1.2.5 Sep 23, 2024 Changes in this version + const NoCheckAndSet + const UnitTestIgnoreVaultAddr + var DefaultJwkRefreshDelay = 5 * time.Minute + var JwkUpdateDelay = 5 * time.Second + var SetupRegionScript []byte + var SetupScript []byte + func DeleteData(config *Config, path string) error + func DeleteKV(client *api.Client, path string) error + func FindKeychainSecret(account, server string) (string, error) + func GetData(config *Config, path string, version int, data interface{}) error + func GetEnvVars(config *Config, path string) (map[string]string, error) + func GetKV(client *api.Client, path string, version int) (map[string]interface{}, error) + func IsCheckAndSetError(err error) bool + func IsErrNoSecretsAtPath(err error) bool + func IsErrUpgradingNonVersionedToVersionedData(err error) bool + func ListData(config *Config, mountPath, path string, recurse bool) ([]string, error) + func NewClient(addr string) (*api.Client, error) + func PutData(config *Config, path string, data interface{}) error + func PutDataCAS(config *Config, path string, data interface{}, checkAndSet int) error + func PutKV(client *api.Client, path string, data map[string]interface{}) error + func PutSecret(config *Config, region, name, secret, refresh string) error + func SignSSHKey(config *Config, publicKey string) (string, error) + func SplitKVPath(fullpath string) (mount, typ, path string, err error) + type AppRoleAuth struct + func NewAppRoleAuth(roleID, secretID string) *AppRoleAuth + func (s *AppRoleAuth) Login(client *api.Client) error + func (s *AppRoleAuth) Type() string + type Auth interface + Login func(client *api.Client) error + Type func() string + func BestAuth(ops ...BestOp) (Auth, error) + type BestOp func(opts *BestOptions) + func WithEnv(env env.Env) BestOp + func WithEnvMap(vars map[string]string) BestOp + type BestOptions struct + func ApplyOps(ops ...BestOp) *BestOptions + type Claims interface + GetKid func() (int, error) + SetKid func(int) + type Config struct + Addr string + Auth Auth + func BestConfig(addr string, ops ...BestOp) (*Config, error) + func NewAppRoleConfig(addr, roleID, secretID string) *Config + func NewConfig(addr string, auth Auth) *Config + func NewUnitTestConfig(addr string, client *api.Client) *Config + func (s *Config) Login() (*api.Client, error) + type DummyServer struct + Config *Config + KVStore map[string]map[string]interface{} + TestServer *httptest.Server + func NewDummyServer() *DummyServer + type EnvData struct + Name string + Value string + type GithubAuth struct + func NewGithubAuth(githubID string) *GithubAuth + func (s *GithubAuth) Login(client *api.Client) error + func (s *GithubAuth) Type() string + type JWK struct + Refresh string + Secret string + type JWKS struct + Keys map[int]*JWK + Meta KVMetadata + Metapath string + Mux sync.Mutex + Path string + RefreshDelay time.Duration + func (s *JWKS) GenerateCookie(claims Claims) (string, error) + func (s *JWKS) GetCurrentKey() (string, int, bool) + func (s *JWKS) GetKey(version int) (string, bool) + func (s *JWKS) GoUpdate(callerDone chan struct{}, updateDone chan struct{}) + func (s *JWKS) Init(config *Config, region, name string) + func (s *JWKS) SetLastUpdateAttempt(t time.Time) + func (s *JWKS) UpdateKeys() error + func (s *JWKS) VerifyCookie(cookie string, claims Claims) (*jwt.Token, error) + type KVData struct + Data map[string]interface{} + Metadata KVMeta + func ParseData(data map[string]interface{}) (*KVData, error) + type KVJWK struct + Data JWK + Meta KVMeta + type KVMeta struct + CreatedTime string + DeletionTime string + Destroyed bool + Version int + type KVMetadata struct + CurrentVersion int + MaxVersions int + OldestVersion int + Versions map[int]KVMeta + func ParseMetadata(data map[string]interface{}) (*KVMetadata, error) + type LdapAuth struct + func NewLdapAuth(username, password string) *LdapAuth + func (s *LdapAuth) Login(client *api.Client) error + func (s *LdapAuth) Type() string + type MEXKey struct + PrivateKey string + PublicKey string + type NoAuth struct + func (s *NoAuth) Login(client *api.Client) error + func (s *NoAuth) Type() string + type PublicCert struct + Cert string + Key string + TTL int64 + func GetPublicCert(config *Config, commonName string) (*PublicCert, error) + type TokenAuth struct + func NewTokenAuth(token string) *TokenAuth + func (s *TokenAuth) Login(client *api.Client) error + func (s *TokenAuth) Type() string + type VaultEnvData struct + Env []EnvData