Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthConfig ¶
type AuthHandler ¶
type AuthHandler struct { OutputCh chan string TemplateTokenCh chan string ExecTokenCh chan string // contains filtered or unexported fields }
AuthHandler is responsible for keeping a token alive and renewed and passing new tokens to the sink server
func NewAuthHandler ¶
func NewAuthHandler(conf *AuthHandlerConfig) *AuthHandler
func (*AuthHandler) Run ¶
func (ah *AuthHandler) Run(ctx context.Context, am AuthMethod) error
type AuthHandlerConfig ¶
type AuthHandlerConfig struct { Logger hclog.Logger Client *api.Client WrapTTL time.Duration MaxBackoff time.Duration MinBackoff time.Duration Token string // UserAgent is the HTTP UserAgent header auto-auth will use when // communicating with Vault. UserAgent string // MetricsSignifier is the first argument we will give to // metrics.IncrCounter, signifying what the name of the application is MetricsSignifier string EnableReauthOnNewCredentials bool EnableTemplateTokenCh bool EnableExecTokenCh bool ExitOnError bool }
type AuthMethod ¶
type AuthMethod interface { // Authenticate returns a mount path, header, request body, and error. // The header may be nil if no special header is needed. Authenticate(context.Context, *api.Client) (string, http.Header, map[string]interface{}, error) NewCreds() chan struct{} CredSuccess() Shutdown() }
AuthMethod is the interface that auto-auth methods implement for the agent/proxy to use.
type AuthMethodWithClient ¶
type AuthMethodWithClient interface { AuthMethod AuthClient(client *api.Client) (*api.Client, error) }
AuthMethodWithClient is an extended interface that can return an API client for use during the authentication call.
Click to show internal directories.
Click to hide internal directories.