From 0075a30aea8b0703915315f57ad2becffe7be051 Mon Sep 17 00:00:00 2001 From: jasimmons <1382389+jasimmons@users.noreply.github.com> Date: Mon, 26 Oct 2020 09:32:01 -0400 Subject: [PATCH] Add CronJob as a resource type --- checks/diagnostic.go | 2 ++ kube/objects.go | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/checks/diagnostic.go b/checks/diagnostic.go index 64eada7..68ede3a 100644 --- a/checks/diagnostic.go +++ b/checks/diagnostic.go @@ -78,4 +78,6 @@ const ( MutatingWebhookConfiguration Kind = "mutating webhook configuration" // Node identifies a Kubernetes node object. Node Kind = "node" + // CronJob identifies Kubernetes objects of kind `cron job` + CronJob Kind = "cron job" ) diff --git a/kube/objects.go b/kube/objects.go index 8421f63..1a0da2c 100644 --- a/kube/objects.go +++ b/kube/objects.go @@ -21,6 +21,7 @@ import ( "golang.org/x/sync/errgroup" ar "k8s.io/api/admissionregistration/v1beta1" + batchv1beta1 "k8s.io/api/batch/v1beta1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" @@ -55,6 +56,7 @@ type Objects struct { MutatingWebhookConfigurations *ar.MutatingWebhookConfigurationList ValidatingWebhookConfigurations *ar.ValidatingWebhookConfigurationList Namespaces *corev1.NamespaceList + CronJobs *batchv1beta1.CronJobList } // Client encapsulates a client for a Kubernetes cluster. @@ -67,6 +69,7 @@ type Client struct { func (c *Client) FetchObjects(ctx context.Context, filter ObjectFilter) (*Objects, error) { client := c.KubeClient.CoreV1() admissionControllerClient := c.KubeClient.AdmissionregistrationV1beta1() + batchClient := c.KubeClient.BatchV1beta1() opts := metav1.ListOptions{} objects := &Objects{} @@ -135,6 +138,10 @@ func (c *Client) FetchObjects(ctx context.Context, filter ObjectFilter) (*Object objects.Namespaces, err = client.Namespaces().List(gCtx, opts) return }) + g.Go(func() (err error) { + objects.CronJobs, err = batchClient.CronJobs(corev1.NamespaceAll).List(gCtx, filter.NamespaceOptions(opts)) + return + }) err := g.Wait() if err != nil {