Documentation
¶
Index ¶
- 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) 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) 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) GetSecretKey(ctx context.Context, namespace string, sel v1.SecretKeySelector) (string, error)
- func (s *StoreBuilder) TLSAssets() map[string][]byte
- type StoreGetter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type StoreBuilder ¶
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 ¶
func NewStoreBuilder(cmClient corev1client.ConfigMapsGetter, sClient corev1client.SecretsGetter) *StoreBuilder
NewStoreBuilder returns an object that can fetch data from ConfigMaps and Secrets.
func NewTestStoreBuilder ¶
func NewTestStoreBuilder(objects ...interface{}) *StoreBuilder
NewTestStoreBuilder returns a *StoreBuilder already initialized with the provided objects. It is only used in tests.
func (*StoreBuilder) AddAuthorizationCredentials ¶
func (s *StoreBuilder) AddAuthorizationCredentials(ctx context.Context, namespace string, auth *monitoringv1.Authorization) error
func (*StoreBuilder) AddAzureOAuth ¶
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 ¶
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 ¶
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 ¶
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 ¶
func (s *StoreBuilder) AddSafeAuthorizationCredentials(ctx context.Context, namespace string, auth *monitoringv1.SafeAuthorization) error
func (*StoreBuilder) AddSafeTLSConfig ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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.