auth

package
v0.0.0-...-29c3169 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthenticationError

type AuthenticationError struct {
	Message string
}

func (AuthenticationError) Error

func (e AuthenticationError) Error() string

type ClientAuth

type ClientAuth struct {
	Name  string
	Vault *Vault

	Cert *tls.Certificate `json:"-"`
	// contains filtered or unexported fields
}

func New

func New(ctx context.Context, dir, name, key, secret string) (*ClientAuth, error)

func (*ClientAuth) CertificateDates

func (ca *ClientAuth) CertificateDates() (time.Time, time.Time, time.Duration, error)

CertificateDates returns NotBefore, NotAfter and the remaining validity

func (*ClientAuth) GetCertificate

func (ca *ClientAuth) GetCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate, error)

func (*ClientAuth) GetClientCertificate

func (ca *ClientAuth) GetClientCertificate(certRequestInfo *tls.CertificateRequestInfo) (*tls.Certificate, error)

func (*ClientAuth) IssueCertificates

func (ca *ClientAuth) IssueCertificates() error

func (*ClientAuth) LoadCertificates

func (ca *ClientAuth) LoadCertificates(ctx context.Context) error

func (*ClientAuth) LoadOrIssueCertificates

func (ca *ClientAuth) LoadOrIssueCertificates() error

func (*ClientAuth) Login

func (ca *ClientAuth) Login() error

func (*ClientAuth) Manager

func (ca *ClientAuth) Manager(promreg prometheus.Registerer) error

func (*ClientAuth) RenewCertificates

func (ca *ClientAuth) RenewCertificates() error

func (*ClientAuth) SetCertificate

func (ca *ClientAuth) SetCertificate(cert *tls.Certificate)

func (*ClientAuth) WaitUntilReady

func (ca *ClientAuth) WaitUntilReady() error

type Vault

type Vault struct {
	Token      string
	AuthSecret *vaultapi.Secret

	sync.RWMutex
	// contains filtered or unexported fields
}

func NewVault

func NewVault(key, secret, authPrefix string) (v *Vault, err error)

func (*Vault) IssueCertificates

func (v *Vault) IssueCertificates(ctx context.Context, name string) ([]byte, []byte, error)

func (*Vault) Login

func (v *Vault) Login(ctx context.Context) (*vaultapi.Secret, error)

func (*Vault) MarshalJSON

func (v *Vault) MarshalJSON() ([]byte, error)

func (*Vault) RenewToken

func (v *Vault) RenewToken(ctx context.Context, authInfo *vaultapi.Secret, updateChannel chan<- bool) error

func (*Vault) SecretInfo

func (v *Vault) SecretInfo(ctx context.Context, name string) (map[string]interface{}, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL