MCPcopy
hub / github.com/kubewall/kubewall / NewIngressHandler

Function NewIngressHandler

backend/handlers/network/ingresses/ingresses.go:42–62  ·  view source on GitHub ↗
(ctx context.Context, config, cluster string, container container.Container)

Source from the content-addressed store, hash-verified

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

Callers 1

NewIngressRouteHandlerFunction · 0.85

Calls 4

StartInformerMethod · 0.80
WaitForSyncMethod · 0.80
SharedInformerFactoryMethod · 0.65
ClientSetMethod · 0.65

Tested by

no test coverage detected