@@ -163,6 +163,16 @@ func ClusterResources(c *Collector) (map[string][]byte, error) {
163163 return nil , err
164164 }
165165
166+ //Events
167+ events , eventsErrors := events (ctx , client , namespaceNames )
168+ for k , v := range events {
169+ clusterResourcesOutput [path .Join ("cluster-resources/events" , k )] = v
170+ }
171+ clusterResourcesOutput ["cluster-resources/events-errors.json" ], err = marshalNonNil (eventsErrors )
172+ if err != nil {
173+ return nil , err
174+ }
175+
166176 return clusterResourcesOutput , nil
167177}
168178
@@ -478,6 +488,29 @@ func authCanI(ctx context.Context, client *kubernetes.Clientset, namespaces []st
478488 return authListByNamespace , errorsByNamespace
479489}
480490
491+ func events (ctx context.Context , client * kubernetes.Clientset , namespaces []string ) (map [string ][]byte , map [string ]string ) {
492+ eventsByNamespace := make (map [string ][]byte )
493+ errorsByNamespace := make (map [string ]string )
494+
495+ for _ , namespace := range namespaces {
496+ events , err := client .CoreV1 ().Events (namespace ).List (ctx , metav1.ListOptions {})
497+ if err != nil {
498+ errorsByNamespace [namespace ] = err .Error ()
499+ continue
500+ }
501+
502+ b , err := json .MarshalIndent (events .Items , "" , " " )
503+ if err != nil {
504+ errorsByNamespace [namespace ] = err .Error ()
505+ continue
506+ }
507+
508+ eventsByNamespace [namespace + ".json" ] = b
509+ }
510+
511+ return eventsByNamespace , errorsByNamespace
512+ }
513+
481514// not exprted from: https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/auth/cani.go#L339
482515func convertToPolicyRule (status authorizationv1.SubjectRulesReviewStatus ) []rbacv1.PolicyRule {
483516 ret := []rbacv1.PolicyRule {}
0 commit comments