assets

package
v0.54.1 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2022 License: Apache-2.0 Imports: 11 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BasicAuthCredentials

type BasicAuthCredentials struct {
	Username string
	Password string
}

BasicAuthCredentials represents a username password pair to be used with basic http authentication, see https://tools.ietf.org/html/rfc7617.

type OAuth2Credentials added in v0.50.0

type OAuth2Credentials struct {
	ClientID     string
	ClientSecret string
}

OAuth2Credentials represents a client id and secret pair to be used with basic OAuth 2 authentication.

type SigV4Credentials added in v0.52.0

type SigV4Credentials struct {
	AccessKeyID string
	SecretKeyID string
}

SigV4Credentials represents a pair of AWS credentials to be used in the Sigv4 protocol for remote write to AWS Managed Prometheus.

type Store

type Store struct {
	TLSAssets       map[TLSAssetKey]TLSAsset
	TokenAssets     map[string]Token
	BasicAuthAssets map[string]BasicAuthCredentials
	OAuth2Assets    map[string]OAuth2Credentials
	SigV4Assets     map[string]SigV4Credentials
	// contains filtered or unexported fields
}

Store is a store that fetches and caches TLS materials, bearer tokens and auth credentials from configmaps and secrets. Data can be referenced directly from a Prometheus object or indirectly (for instance via ServiceMonitor). In practice a new store is created and used by each reconciliation loop.

Store doesn't support concurrent access.

func NewStore

func NewStore(cmClient corev1client.ConfigMapsGetter, sClient corev1client.SecretsGetter) *Store

NewStore returns an empty assetStore.

func (*Store) AddAuthorizationCredentials added in v0.50.0

func (s *Store) AddAuthorizationCredentials(ctx context.Context, namespace string, auth *monitoringv1.Authorization, key string) error

func (*Store) AddBasicAuth

func (s *Store) AddBasicAuth(ctx context.Context, ns string, ba *monitoringv1.BasicAuth, key string) error

AddBasicAuth processes the given *BasicAuth and adds the referenced credentials to the store.

func (*Store) AddBearerToken

func (s *Store) AddBearerToken(ctx context.Context, ns string, sel v1.SecretKeySelector, key string) error

func (*Store) AddOAuth2 added in v0.50.0

func (s *Store) AddOAuth2(ctx context.Context, ns string, oauth2 *monitoringv1.OAuth2, key string) error

AddOAuth2 processes the given *OAuth2 and adds the referenced credentials to the store.

func (*Store) AddSafeAuthorizationCredentials added in v0.50.0

func (s *Store) AddSafeAuthorizationCredentials(ctx context.Context, namespace string, auth *monitoringv1.SafeAuthorization, key string) error

func (*Store) AddSafeTLSConfig

func (s *Store) AddSafeTLSConfig(ctx context.Context, ns string, tlsConfig *monitoringv1.SafeTLSConfig) error

AddSafeTLSConfig validates the given SafeTLSConfig and adds it to the store.

func (*Store) AddSigV4 added in v0.52.0

func (s *Store) AddSigV4(ctx context.Context, ns string, sigv4 *monitoringv1.Sigv4, key string) error

AddSigV4 processes the SigV4 SecretKeySelectors and adds the SigV4 data to the store.

func (*Store) AddTLSConfig

func (s *Store) AddTLSConfig(ctx context.Context, ns string, tlsConfig *monitoringv1.TLSConfig) error

AddTLSConfig validates the given TLSConfig and adds it to the store.

func (*Store) GetConfigMapKey

func (s *Store) GetConfigMapKey(ctx context.Context, namespace string, sel v1.ConfigMapKeySelector) (string, error)

GetConfigMapKey processes the given ConfigMapKeySelector and returns the referenced data.

func (*Store) GetKey

func (s *Store) GetKey(ctx context.Context, namespace string, sel monitoringv1.SecretOrConfigMap) (string, error)

GetKey processes the given SecretOrConfigMap selector and returns the referenced data.

func (*Store) GetSecretKey

func (s *Store) GetSecretKey(ctx context.Context, namespace string, sel v1.SecretKeySelector) (string, error)

GetSecretKey processes the given SecretKeySelector and returns the referenced data.

type TLSAsset

type TLSAsset string

TLSAsset represents any TLS related opaque string, e.g. CA files, client certificates.

type TLSAssetKey

type TLSAssetKey struct {
	// contains filtered or unexported fields
}

TLSAssetKey is a key for a TLS asset.

func TLSAssetKeyFromSecretSelector

func TLSAssetKeyFromSecretSelector(ns string, sel *v1.SecretKeySelector) TLSAssetKey

TLSAssetKeyFromSecretSelector returns a TLSAssetKey struct from a secret key selector.

func TLSAssetKeyFromSelector

func TLSAssetKeyFromSelector(ns string, sel monitoringv1.SecretOrConfigMap) TLSAssetKey

TLSAssetKeyFromSelector returns a TLSAssetKey struct from a secret or configmap key selector.

func (TLSAssetKey) String

func (k TLSAssetKey) String() string

String implements the fmt.Stringer interface.

type Token added in v0.50.0

type Token string

Token represents text tokens such as bearer token, see https://tools.ietf.org/html/rfc6750.

Jump to

Keyboard shortcuts

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