Documentation
¶
Index ¶
- type RefTracker
- type StoreBuilder
- func (s *StoreBuilder) AddAuthorizationCredentials(ctx context.Context, namespace string, auth *monitoringv1.Authorization) error
- func (s *StoreBuilder) AddAzureOAuth(ctx context.Context, ns string, azureAD *monitoringv1.AzureAD) error
- func (s *StoreBuilder) AddBasicAuth(ctx context.Context, ns string, ba *monitoringv1.BasicAuth) error
- func (s *StoreBuilder) AddOAuth2(ctx context.Context, ns string, oauth2 *monitoringv1.OAuth2) error
- func (s *StoreBuilder) AddObject(obj interface{}) error
- func (s *StoreBuilder) AddProxyConfig(ctx context.Context, namespace string, pc monitoringv1.ProxyConfig) error
- func (s *StoreBuilder) AddSafeAuthorizationCredentials(ctx context.Context, namespace string, auth *monitoringv1.SafeAuthorization) error
- func (s *StoreBuilder) AddSafeTLSConfig(ctx context.Context, ns string, tlsConfig *monitoringv1.SafeTLSConfig) error
- func (s *StoreBuilder) AddSigV4(ctx context.Context, ns string, sigv4 *monitoringv1.Sigv4) error
- func (s *StoreBuilder) AddTLSConfig(ctx context.Context, ns string, tlsConfig *monitoringv1.TLSConfig) error
- func (s *StoreBuilder) DeleteObject(obj interface{}) error
- func (s *StoreBuilder) ForNamespace(namespace string) StoreGetter
- func (s *StoreBuilder) GetConfigMapKey(ctx context.Context, namespace string, sel v1.ConfigMapKeySelector) (string, error)
- func (s *StoreBuilder) GetKey(ctx context.Context, namespace string, sel monitoringv1.SecretOrConfigMap) (string, error)
- func (s *StoreBuilder) GetObject(obj interface{}) (interface{}, bool, error)
- func (s *StoreBuilder) GetSecretClient() corev1client.SecretsGetter
- func (s *StoreBuilder) GetSecretKey(ctx context.Context, namespace string, sel v1.SecretKeySelector) (string, error)
- func (s *StoreBuilder) RefTracker() RefTracker
- func (s *StoreBuilder) TLSAssets() map[string][]byte
- func (s *StoreBuilder) UpdateObject(obj interface{}) error
- type StoreGetter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RefTracker ¶ added in v0.85.0
type RefTracker map[string]struct{}
RefTracker is a set-based struct which records the references to secrets and configmaps.
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) AddObject ¶ added in v0.84.0
func (s *StoreBuilder) AddObject(obj interface{}) error
AddObject adds an object to the underlying store. This method is only used by external clients of the assets package such as the OpenTelemetry collector operator.
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) DeleteObject ¶ added in v0.84.0
func (s *StoreBuilder) DeleteObject(obj interface{}) error
DeleteObject deletes the object in the underlying store. This method is only used by external clients of the assets package such as the OpenTelemetry collector operator.
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) GetObject ¶ added in v0.84.0
func (s *StoreBuilder) GetObject(obj interface{}) (interface{}, bool, error)
GetObject retrieves an object from the underlying store. This method is only used by external clients of the assets package such as the OpenTelemetry collector operator.
func (*StoreBuilder) GetSecretClient ¶ added in v0.84.0
func (s *StoreBuilder) GetSecretClient() corev1client.SecretsGetter
GetSecretClient returns the store's secret client. This method is only used by external clients of the assets package such as the OpenTelemetry collector operator. Example usage - Update asset store on a watch event requires the secret client to fetch the latest secrets.
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) RefTracker ¶ added in v0.85.0
func (s *StoreBuilder) RefTracker() RefTracker
RefTracker returns a RefTracker for the items loaded in the store. It is safe to use after the StoreBuilder has been deleted.
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().
func (*StoreBuilder) UpdateObject ¶ added in v0.84.0
func (s *StoreBuilder) UpdateObject(obj interface{}) error
UpdateObject updates the object in the underlying store. This method is only used by external clients of the assets package such as the OpenTelemetry collector operator.
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.