assets

package
v0.82.1 Latest Latest
Warning

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

Go to latest
Published: May 6, 2025 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 StoreBuilder added in v0.74.0

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

StoreBuilder 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.

StoreBuilder doesn't support concurrent access.

func NewStoreBuilder added in v0.74.0

func NewStoreBuilder(cmClient corev1client.ConfigMapsGetter, sClient corev1client.SecretsGetter) *StoreBuilder

NewStoreBuilder returns an object that can fetch data from ConfigMaps and Secrets.

func NewTestStoreBuilder added in v0.74.0

func NewTestStoreBuilder(objects ...interface{}) *StoreBuilder

NewTestStoreBuilder returns a *StoreBuilder already initialized with the provided objects. It is only used in tests.

func (*StoreBuilder) AddAuthorizationCredentials added in v0.74.0

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

func (*StoreBuilder) AddAzureOAuth added in v0.74.0

func (s *StoreBuilder) AddAzureOAuth(ctx context.Context, ns string, azureAD *monitoringv1.AzureAD) error

AddAzureOAuth processes the AzureOAuth SecretKeySelectors and adds the AzureOAuth data to the store.

func (*StoreBuilder) AddBasicAuth added in v0.74.0

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

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

func (*StoreBuilder) AddOAuth2 added in v0.74.0

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

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

func (*StoreBuilder) AddProxyConfig added in v0.75.0

func (s *StoreBuilder) AddProxyConfig(ctx context.Context, namespace string, pc monitoringv1.ProxyConfig) error

AddProxyConfig processes the given *ProxyConfig and adds the referenced credentials to the store.

func (*StoreBuilder) AddSafeAuthorizationCredentials added in v0.74.0

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

func (*StoreBuilder) AddSafeTLSConfig added in v0.74.0

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

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

func (*StoreBuilder) AddSigV4 added in v0.74.0

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

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

func (*StoreBuilder) AddTLSConfig added in v0.74.0

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

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

func (*StoreBuilder) ForNamespace added in v0.74.0

func (s *StoreBuilder) ForNamespace(namespace string) StoreGetter

ForNamespace returns a StoreGetter scoped to the given namespace. It reads data only from the cache which needs to be populated beforehand. The namespace argument can't be empty.

func (*StoreBuilder) GetConfigMapKey added in v0.74.0

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

GetConfigMapKey processes the given ConfigMapKeySelector and returns the referenced data.

func (*StoreBuilder) GetKey added in v0.74.0

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

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

func (*StoreBuilder) GetSecretKey added in v0.74.0

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

GetSecretKey processes the given SecretKeySelector and returns the referenced data.

func (*StoreBuilder) TLSAssets added in v0.74.0

func (s *StoreBuilder) TLSAssets() map[string][]byte

TLSAssets returns a map of TLS assets (certificates and keys) which have been added to the store by AddTLSConfig() and AddSafeTLSConfig().

type StoreGetter added in v0.74.0

type StoreGetter interface {
	GetSecretOrConfigMapKey(key monitoringv1.SecretOrConfigMap) (string, error)
	GetConfigMapKey(key v1.ConfigMapKeySelector) (string, error)
	GetSecretKey(key v1.SecretKeySelector) ([]byte, error)
	TLSAsset(key interface{}) string
}

StoreGetter can get data from ConfigMap/Secret objects via key selectors. It will return an error if the key selector didn't match.

Jump to

Keyboard shortcuts

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