in kubernetes/metadata/metadata.go [91:122]
func GetPodMetaGen(
cfg *config.C,
podWatcher kubernetes.Watcher,
nodeWatcher kubernetes.Watcher,
namespaceWatcher kubernetes.Watcher,
replicasetWatcher kubernetes.Watcher,
jobWatcher kubernetes.Watcher,
metaConf *AddResourceMetadataConfig) MetaGen {
var nodeMetaGen, namespaceMetaGen, rsMetaGen, jobMetaGen MetaGen
if nodeWatcher != nil && metaConf.Node.Enabled() {
nodeMetaGen = NewNodeMetadataGenerator(metaConf.Node, nodeWatcher.Store(), nodeWatcher.Client())
}
if namespaceWatcher != nil && metaConf.Namespace.Enabled() {
namespaceMetaGen = NewNamespaceMetadataGenerator(metaConf.Namespace, namespaceWatcher.Store(), namespaceWatcher.Client())
}
if replicasetWatcher != nil && metaConf.Deployment {
rsMetaGen = NewReplicasetMetadataGenerator(cfg, replicasetWatcher.Store(), replicasetWatcher.Client())
}
if jobWatcher != nil && metaConf.CronJob {
jobMetaGen = NewJobMetadataGenerator(cfg, jobWatcher.Store(), jobWatcher.Client())
}
metaGen := NewPodMetadataGenerator(
cfg,
podWatcher.Store(),
podWatcher.Client(),
nodeMetaGen,
namespaceMetaGen,
rsMetaGen,
jobMetaGen,
metaConf)
return metaGen
}