Environment variables used by FromEnv to decode a resource.
const ( EnvVarType = "OC_RESOURCE_TYPE" EnvVarLabels = "OC_RESOURCE_LABELS" )
func DecodeLabels(s string) (map[string]string, error)
DecodeLabels decodes a serialized label map as used in the OC_RESOURCE_LABELS variable. A list of labels of the form `<key1>="<value1>",<key2>="<value2>",...` is accepted. Domain names and paths are accepted as label keys. Most users will want to use FromEnv instead.
func EncodeLabels(labels map[string]string) string
EncodeLabels encodes a labels map to a string as provided via the OC_RESOURCE_LABELS environment variable.
Detector attempts to detect resource information. If the detector cannot find resource information, the returned resource is nil but no error is returned. An error is only returned on unexpected failures.
type Detector func(context.Context) (*Resource, error)
func MultiDetector(detectors ...Detector) Detector
MultiDetector returns a Detector that calls all input detectors in order and merges each result with the previous one. In case a type of label key is already set, the first set value is takes precedence. It returns on the first error that a sub-detector encounters.
Resource describes an entity about which identifying information and metadata is exposed. For example, a type "k8s.io/container" may hold labels describing the pod name and namespace.
type Resource struct { Type string Labels map[string]string }
func FromEnv(context.Context) (*Resource, error)
FromEnv is a detector that loads resource information from the OC_RESOURCE_TYPE and OC_RESOURCE_labelS environment variables.
Name | Synopsis |
---|---|
.. | |
resourcekeys | Package resourcekeys contains well known type and label keys for resources. |