(ctx context.Context, config, cluster string, container container.Container)
| 61 | } |
| 62 | |
| 63 | func NewPodsHandler(ctx context.Context, config, cluster string, container container.Container) *PodsHandler { |
| 64 | informer := container.SharedInformerFactory(config, cluster).Core().V1().Pods().Informer() |
| 65 | informer.SetTransform(helpers.StripUnusedFields) |
| 66 | clientSet := container.ClientSet(config, cluster) |
| 67 | |
| 68 | handler := &PodsHandler{ |
| 69 | BaseHandler: base.BaseHandler{ |
| 70 | Kind: "Pod", |
| 71 | Container: container, |
| 72 | RestClient: clientSet.CoreV1().RESTClient(), |
| 73 | Informer: informer, |
| 74 | QueryConfig: config, |
| 75 | QueryCluster: cluster, |
| 76 | InformerCacheKey: fmt.Sprintf("%s-%s-podInformer", config, cluster), |
| 77 | TransformFunc: transformItems, |
| 78 | }, |
| 79 | restConfig: container.RestConfig(config, cluster), |
| 80 | clientSet: clientSet, |
| 81 | replicasetHandler: replicaset.NewReplicaSetHandler(ctx, config, cluster, container), |
| 82 | } |
| 83 | |
| 84 | additionalEvents := []map[string]func(){ |
| 85 | { |
| 86 | "pods-deployments": func() { |
| 87 | go handler.DeploymentsPods() |
| 88 | go handler.NodePods() |
| 89 | }, |
| 90 | }, |
| 91 | } |
| 92 | |
| 93 | cache := base.ResourceEventHandler[*v1.Pod](&handler.BaseHandler, additionalEvents...) |
| 94 | handler.BaseHandler.StartInformer(cache) |
| 95 | handler.BaseHandler.WaitForSync(ctx) |
| 96 | |
| 97 | return handler |
| 98 | } |
| 99 | |
| 100 | func transformItems(items []any, b *base.BaseHandler) ([]byte, error) { |
| 101 | var list []v1.Pod |
no test coverage detected