Documentation ¶
Index ¶
- Variables
- func NewVaultSvc(c VaultConfig, h http.Header) (*vault.Client, error)
- type Authorization
- type Provider
- type VaultConfig
- type VaultConfigFn
- type VaultProvider
- func (v VaultProvider) CreateProject(name string) (types.Token, error)
- func (v VaultProvider) CreateTarget(projectName string, target types.Target) error
- func (v VaultProvider) CreateToken(name string) (types.Token, error)
- func (v VaultProvider) DeleteProject(name string) error
- func (v VaultProvider) DeleteProjectToken(projectName, tokenID string) error
- func (v VaultProvider) DeleteTarget(projectName string, targetName string) error
- func (v VaultProvider) GetProject(projectName string) (responses.GetProject, error)
- func (v VaultProvider) GetProjectToken(projectName, tokenID string) (types.ProjectToken, error)
- func (v VaultProvider) GetTarget(projectName, targetName string) (types.Target, error)
- func (v VaultProvider) GetToken() (string, error)
- func (v VaultProvider) ListTargets(project string) ([]string, error)
- func (v VaultProvider) ProjectExists(name string) (bool, error)
- func (v VaultProvider) TargetExists(projectName, targetName string) (bool, error)
- func (v VaultProvider) UpdateTarget(projectName string, target types.Target) error
- type VaultSvcFn
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotFound conveys that the item was not found. ErrNotFound = errors.New("item not found") // ErrTargetNotFound conveys that the target was not round. ErrTargetNotFound = errors.New("target not found") // ErrProjectTokenNotFound conveys that the token was not found. ErrProjectTokenNotFound = errors.New("project token not found") )
Functions ¶
func NewVaultSvc ¶
NewVaultSvc returns a new vault.Client. TODO before open sourcing we should provide the token instead of generating it TODO rename to client?
Types ¶
type Authorization ¶
type Authorization struct { Provider string `valid:"required"` Key string `valid:"required"` Secret string `valid:"required"` }
Authorization represents a user's authorization token.
func NewAuthorization ¶
func NewAuthorization(authorizationHeader string) (*Authorization, error)
NewAuthorization provides an Authorization from a header. This is separate from admin functions which use the admin env var
func (Authorization) Validate ¶
func (a Authorization) Validate(optionalValidations ...func() error) error
func (Authorization) ValidateAuthorizedAdmin ¶
func (a Authorization) ValidateAuthorizedAdmin(adminSecret string) func() error
ValidateAuthorizedAdmin determines if the Authorization is valid and an admin. TODO See if this can be removed when refactoring auth. Optional validation should be passed as parameter to Validate().
type Provider ¶
type Provider interface { CreateProject(string) (types.Token, error) CreateTarget(string, types.Target) error CreateToken(string) (types.Token, error) UpdateTarget(string, types.Target) error DeleteProject(string) error DeleteTarget(string, string) error GetProject(string) (responses.GetProject, error) GetTarget(string, string) (types.Target, error) GetToken() (string, error) DeleteProjectToken(string, string) error GetProjectToken(string, string) (types.ProjectToken, error) ListTargets(string) ([]string, error) ProjectExists(string) (bool, error) TargetExists(string, string) (bool, error) }
Provider defines the interface required by providers.
func NewVaultProvider ¶
func NewVaultProvider(a Authorization, env env.Vars, h http.Header, vaultConfigFn VaultConfigFn, vaultSvcFn VaultSvcFn) (Provider, error)
NewVaultProvider returns a new VaultProvider
type VaultConfig ¶
type VaultConfig struct {
// contains filtered or unexported fields
}
func NewVaultConfig ¶
func NewVaultConfig(config *vault.Config, role, secret string) *VaultConfig
NewVaultConfig returns a new VaultConfig.
type VaultConfigFn ¶
type VaultConfigFn func(config *vault.Config, role, secret string) *VaultConfig
type VaultProvider ¶
type VaultProvider struct {
// contains filtered or unexported fields
}
func (VaultProvider) CreateProject ¶
func (v VaultProvider) CreateProject(name string) (types.Token, error)
func (VaultProvider) CreateTarget ¶
func (v VaultProvider) CreateTarget(projectName string, target types.Target) error
CreateTarget creates a target for the project. TODO validate policy and other information is correct in target TODO Validate role exists (if possible, etc)
func (VaultProvider) CreateToken ¶ added in v0.14.0
func (v VaultProvider) CreateToken(name string) (types.Token, error)
func (VaultProvider) DeleteProject ¶
func (v VaultProvider) DeleteProject(name string) error
func (VaultProvider) DeleteProjectToken ¶ added in v0.14.0
func (v VaultProvider) DeleteProjectToken(projectName, tokenID string) error
func (VaultProvider) DeleteTarget ¶
func (v VaultProvider) DeleteTarget(projectName string, targetName string) error
func (VaultProvider) GetProject ¶
func (v VaultProvider) GetProject(projectName string) (responses.GetProject, error)
func (VaultProvider) GetProjectToken ¶ added in v0.14.0
func (v VaultProvider) GetProjectToken(projectName, tokenID string) (types.ProjectToken, error)
func (VaultProvider) GetTarget ¶
func (v VaultProvider) GetTarget(projectName, targetName string) (types.Target, error)
func (VaultProvider) GetToken ¶
func (v VaultProvider) GetToken() (string, error)
func (VaultProvider) ListTargets ¶
func (v VaultProvider) ListTargets(project string) ([]string, error)
func (VaultProvider) ProjectExists ¶
func (v VaultProvider) ProjectExists(name string) (bool, error)
func (VaultProvider) TargetExists ¶
func (v VaultProvider) TargetExists(projectName, targetName string) (bool, error)
func (VaultProvider) UpdateTarget ¶
func (v VaultProvider) UpdateTarget(projectName string, target types.Target) error
UpdateTarget updates a targets policies for the project.