Documentation ¶
Overview ¶
Package utils implements helper methods used in the Autodiscovery code.
Index ¶
- Constants
- func AddContainerCollectAllConfigs(configs []integration.Config, adIdentifier string) []integration.Config
- func BuildTemplates(adID string, checkNames []string, initConfigs, instances [][]integration.Data, ...) []integration.Config
- func ExtractCheckIDFromPodAnnotations(annotations map[string]string, containerName string) (string, bool)
- func ExtractCheckNamesFromContainerLabels(labels map[string]string) ([]string, error)
- func ExtractCheckNamesFromPodAnnotations(annotations map[string]string, adIdentifier string) ([]string, error)
- func ExtractTemplatesFromAnnotations(entityName string, annotations map[string]string, adIdentifier string) ([]integration.Config, []error)
- func ExtractTemplatesFromContainerLabels(entityName string, labels map[string]string) ([]integration.Config, []error)
- func ExtractTemplatesFromMap(key string, input map[string]string, prefix string) ([]integration.Config, []error)
- func ParseCheckNames(names string) (res []string, err error)
- func ParseJSONValue(value string) ([][]integration.Data, error)
- func ValidateAnnotationsMatching(annotations map[string]string, containerIdentifiers map[string]struct{}, ...) []error
Constants ¶
const ( // KubeAnnotationPrefix is the prefix used by AD in Kubernetes // annotations. KubeAnnotationPrefix = "ad.datadoghq.com/" )
Variables ¶
This section is empty.
Functions ¶
func AddContainerCollectAllConfigs ¶
func AddContainerCollectAllConfigs(configs []integration.Config, adIdentifier string) []integration.Config
AddContainerCollectAllConfigs adds a config template containing an empty LogsConfig when `logs_config.container_collect_all` is set. This config will be filtered out during config resolution if another config template also has logs configuration.
func BuildTemplates ¶
func BuildTemplates(adID string, checkNames []string, initConfigs, instances [][]integration.Data, ignoreAutodiscoveryTags bool, checkCard string) []integration.Config
BuildTemplates returns check configurations configured according to the passed in AD identifier, check names, init, instance configs and their `ignoreAutoDiscoveryTags`, `CheckTagCardinality` fields.
func ExtractCheckIDFromPodAnnotations ¶
func ExtractCheckIDFromPodAnnotations(annotations map[string]string, containerName string) (string, bool)
ExtractCheckIDFromPodAnnotations returns whether there is a custom check ID for a given container based on the pod annotations
func ExtractCheckNamesFromContainerLabels ¶
ExtractCheckNamesFromContainerLabels returns check names from a map of container annotations. It prefers annotations v2 where available, otherwise falling back to v1.
func ExtractCheckNamesFromPodAnnotations ¶
func ExtractCheckNamesFromPodAnnotations(annotations map[string]string, adIdentifier string) ([]string, error)
ExtractCheckNamesFromPodAnnotations returns check names from a map of pod annotations. In order of priority, it prefers annotations v2, v1, and legacy.
func ExtractTemplatesFromAnnotations ¶
func ExtractTemplatesFromAnnotations(entityName string, annotations map[string]string, adIdentifier string) ([]integration.Config, []error)
ExtractTemplatesFromAnnotations looks for autodiscovery configurations in a map of annotations and returns them if found. In order of priority, it prefers annotations v2, v1, and legacy.
func ExtractTemplatesFromContainerLabels ¶
func ExtractTemplatesFromContainerLabels(entityName string, labels map[string]string) ([]integration.Config, []error)
ExtractTemplatesFromContainerLabels looks for autodiscovery configurations in a map of labels and returns them if found. In order of priority, it prefers annotations v2, and then v1.
func ExtractTemplatesFromMap ¶
func ExtractTemplatesFromMap(key string, input map[string]string, prefix string) ([]integration.Config, []error)
ExtractTemplatesFromMap looks for autodiscovery configurations in a given map and returns them if found.
func ParseCheckNames ¶
ParseCheckNames returns a slice of check names parsed from a JSON array
func ParseJSONValue ¶
func ParseJSONValue(value string) ([][]integration.Data, error)
ParseJSONValue returns a slice of slice of ConfigData parsed from the JSON contained in the `value` parameter
func ValidateAnnotationsMatching ¶
func ValidateAnnotationsMatching(annotations map[string]string, containerIdentifiers map[string]struct{}, containerNames map[string]struct{}) []error
ValidateAnnotationsMatching detects if annotations using the new AD annotation format don't match a valid container identifier
Types ¶
This section is empty.