func GetPodMetaGen()

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
}