(ctx context.Context, config, cluster string, container container.Container)
| 40 | } |
| 41 | |
| 42 | func NewServicesHandler(ctx context.Context, config, cluster string, container container.Container) *ServicesHandler { |
| 43 | informer := container.SharedInformerFactory(config, cluster).Core().V1().Services().Informer() |
| 44 | informer.SetTransform(helpers.StripUnusedFields) |
| 45 | |
| 46 | handler := &ServicesHandler{ |
| 47 | BaseHandler: base.BaseHandler{ |
| 48 | Kind: "Service", |
| 49 | Container: container, |
| 50 | Informer: informer, |
| 51 | RestClient: container.ClientSet(config, cluster).CoreV1().RESTClient(), |
| 52 | QueryConfig: config, |
| 53 | QueryCluster: cluster, |
| 54 | InformerCacheKey: fmt.Sprintf("%s-%s-ServiceInformer", config, cluster), |
| 55 | TransformFunc: transformItems, |
| 56 | }, |
| 57 | } |
| 58 | cache := base.ResourceEventHandler[*v1.Service](&handler.BaseHandler) |
| 59 | handler.BaseHandler.StartInformer(cache) |
| 60 | handler.BaseHandler.WaitForSync(ctx) |
| 61 | return handler |
| 62 | } |
| 63 | |
| 64 | func transformItems(items []any, b *base.BaseHandler) ([]byte, error) { |
| 65 | var list []v1.Service |
no test coverage detected