forked from DataDog/datadog-agent
-
Notifications
You must be signed in to change notification settings - Fork 2
/
loader.go
25 lines (19 loc) · 911 Bytes
/
loader.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Unless explicitly stated otherwise all files in this repository are licensed
// under the Apache License Version 2.0.
// This product includes software developed at Datadog (https://www.datadoghq.com/).
// Copyright 2016-present Datadog, Inc.
package container
import "github.com/StackVista/stackstate-agent/pkg/util/log"
// Catalog holds available metadata providers
type Catalog map[string]MetadataProvider
// DefaultCatalog holds every compiled-in container metadata provider
var DefaultCatalog = make(Catalog)
// RegisterMetadataProvider a container metadata provider
func RegisterMetadataProvider(name string, m MetadataProvider) {
if _, ok := DefaultCatalog[name]; ok {
log.Warnf("Container metadata provider %s already registered, overriding it", name)
}
DefaultCatalog[name] = m
}
// MetadataProvider should return a map of metadata
type MetadataProvider func() (map[string]string, error)