Skip to content

Commit 6862f0f

Browse files
K8s events (#248)
* K8s events collected * collect events * collect events
1 parent 6ad9103 commit 6862f0f

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

pkg/collect/cluster_resources.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
482515
func convertToPolicyRule(status authorizationv1.SubjectRulesReviewStatus) []rbacv1.PolicyRule {
483516
ret := []rbacv1.PolicyRule{}

0 commit comments

Comments
 (0)