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.