diff --git a/pkg/integration/trivy/analyzer.go b/pkg/integration/trivy/analyzer.go index f8c2e21e78..d65920e81c 100644 --- a/pkg/integration/trivy/analyzer.go +++ b/pkg/integration/trivy/analyzer.go @@ -15,12 +15,12 @@ package trivy import ( "fmt" + ctrl "sigs.k8s.io/controller-runtime/pkg/client" "strings" "github.com/aquasecurity/trivy-operator/pkg/apis/aquasecurity/v1alpha1" "github.com/k8sgpt-ai/k8sgpt/pkg/common" "github.com/k8sgpt-ai/k8sgpt/pkg/util" - "k8s.io/client-go/rest" ) type TrivyAnalyzer struct { @@ -32,18 +32,9 @@ func (TrivyAnalyzer) analyzeVulnerabilityReports(a common.Analyzer) ([]common.Re // Get all trivy VulnerabilityReports result := &v1alpha1.VulnerabilityReportList{} - config := a.Client.GetConfig() - // Add group version to sceheme - config.ContentConfig.GroupVersion = &v1alpha1.SchemeGroupVersion - config.UserAgent = rest.DefaultKubernetesUserAgent() - config.APIPath = "/apis" - - restClient, err := rest.UnversionedRESTClientFor(config) - if err != nil { - return nil, err - } - err = restClient.Get().Resource("vulnerabilityreports").Namespace(a.Namespace).Do(a.Context).Into(result) - if err != nil { + client := a.Client.CtrlClient + v1alpha1.AddToScheme(client.Scheme()) + if err := client.List(a.Context, result, &ctrl.ListOptions{}); err != nil { return nil, err } @@ -93,18 +84,9 @@ func (t TrivyAnalyzer) analyzeConfigAuditReports(a common.Analyzer) ([]common.Re // Get all trivy ConfigAuditReports result := &v1alpha1.ConfigAuditReportList{} - config := a.Client.GetConfig() - // Add group version to sceheme - config.ContentConfig.GroupVersion = &v1alpha1.SchemeGroupVersion - config.UserAgent = rest.DefaultKubernetesUserAgent() - config.APIPath = "/apis" - - restClient, err := rest.UnversionedRESTClientFor(config) - if err != nil { - return nil, err - } - err = restClient.Get().Resource("configauditreports").Namespace(a.Namespace).Do(a.Context).Into(result) - if err != nil { + client := a.Client.CtrlClient + v1alpha1.AddToScheme(client.Scheme()) + if err := client.List(a.Context, result, &ctrl.ListOptions{}); err != nil { return nil, err } diff --git a/pkg/kubernetes/kubernetes.go b/pkg/kubernetes/kubernetes.go index 7c96530bea..f3bb1d7dc2 100644 --- a/pkg/kubernetes/kubernetes.go +++ b/pkg/kubernetes/kubernetes.go @@ -14,12 +14,10 @@ limitations under the License. package kubernetes import ( - "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/client-go/kubernetes" _ "k8s.io/client-go/plugin/pkg/client/auth/oidc" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" - "k8s.io/kubectl/pkg/scheme" ctrl "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -31,10 +29,6 @@ func (c *Client) GetClient() kubernetes.Interface { return c.Client } -func (c *Client) GetRestClient() rest.Interface { - return c.RestClient -} - func (c *Client) GetCtrlClient() ctrl.Client { return c.CtrlClient } @@ -64,14 +58,6 @@ func NewClient(kubecontext string, kubeconfig string) (*Client, error) { if err != nil { return nil, err } - config.APIPath = "/api" - config.GroupVersion = &scheme.Scheme.PrioritizedVersionsForGroup("")[0] - config.NegotiatedSerializer = serializer.WithoutConversionCodecFactory{CodecFactory: scheme.Codecs} - - restClient, err := rest.RESTClientFor(config) - if err != nil { - return nil, err - } ctrlClient, err := ctrl.New(config, ctrl.Options{}) if err != nil { @@ -85,7 +71,6 @@ func NewClient(kubecontext string, kubeconfig string) (*Client, error) { return &Client{ Client: clientSet, - RestClient: restClient, CtrlClient: ctrlClient, Config: config, ServerVersion: serverVersion, diff --git a/pkg/kubernetes/types.go b/pkg/kubernetes/types.go index 0e013e0dcf..8cad275364 100644 --- a/pkg/kubernetes/types.go +++ b/pkg/kubernetes/types.go @@ -11,7 +11,6 @@ import ( type Client struct { Client kubernetes.Interface - RestClient rest.Interface CtrlClient ctrl.Client Config *rest.Config ServerVersion *version.Info