diff --git a/artifacts/configurationscansummaries/01-example.yaml b/artifacts/configurationscansummaries/01-example.yaml deleted file mode 100644 index d4d435bc9..000000000 --- a/artifacts/configurationscansummaries/01-example.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: spdx.softwarecomposition.kubescape.io/v1beta1 -kind: WorkloadConfigurationScanSummary -metadata: - name: workload-config-scan-1 - namespace: default - labels: - app: workload-scanner -spec: - severities: - critical: 2 - high: 2 - medium: 2 - low: 2 - unknown: 2 - controls: {} - \ No newline at end of file diff --git a/artifacts/configurationscansummaries/02-example.yaml b/artifacts/configurationscansummaries/02-example.yaml deleted file mode 100644 index fc3280065..000000000 --- a/artifacts/configurationscansummaries/02-example.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: spdx.softwarecomposition.kubescape.io/v1beta1 -kind: WorkloadConfigurationScanSummary -metadata: - name: workload-config-scan-2 - namespace: default - labels: - app: workload-scanner -spec: - severities: - critical: 5 - high: 5 - medium: 5 - low: 5 - unknown: 5 - controls: {} - - - diff --git a/artifacts/configurationscansummaries/03-example.yaml b/artifacts/configurationscansummaries/03-example.yaml deleted file mode 100644 index fbb84cc9a..000000000 --- a/artifacts/configurationscansummaries/03-example.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: spdx.softwarecomposition.kubescape.io/v1beta1 -kind: WorkloadConfigurationScanSummary -metadata: - name: workload-config-scan-3 - namespace: wardle - labels: - app: workload-scanner -spec: - severities: - critical: 5 - high: 5 - medium: 5 - low: 5 - unknown: 5 - controls: {} \ No newline at end of file diff --git a/artifacts/configurationscansummaries/04-example.yaml b/artifacts/configurationscansummaries/04-example.yaml deleted file mode 100644 index 567c67862..000000000 --- a/artifacts/configurationscansummaries/04-example.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: spdx.softwarecomposition.kubescape.io/v1beta1 -kind: WorkloadConfigurationScanSummary -metadata: - name: workload-config-scan-4 - namespace: wardle - labels: - app: workload-scanner -spec: - severities: - critical: 5 - high: 5 - medium: 5 - low: 5 - unknown: 5 - controls: {} \ No newline at end of file diff --git a/artifacts/sbomsummaries/01-example.yaml b/artifacts/sbomsummaries/01-example.yaml deleted file mode 100644 index 27de8b8de..000000000 --- a/artifacts/sbomsummaries/01-example.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: spdx.softwarecomposition.kubescape.io/v1beta1 -kind: SBOMSummary -metadata: - name: "some-sbom-summary" - namespace: kubescape - labels: - sample-label: "true" -spec: {} diff --git a/artifacts/vulnerabilitymanifestsummaries/01-example.yaml b/artifacts/vulnerabilitymanifestsummaries/01-example.yaml deleted file mode 100644 index 6b3c8094c..000000000 --- a/artifacts/vulnerabilitymanifestsummaries/01-example.yaml +++ /dev/null @@ -1,47 +0,0 @@ -apiVersion: spdx.softwarecomposition.kubescape.io/v1beta1 -kind: VulnerabilityManifestSummary -metadata: - annotations: - kubescape.io/wlid: wlid://cluster-gke_armo-test-clusters_us-central1-c_dwertent-large-node/namespace-kubescape/deployment-storage - kubescape.io/image-id: quay.io/kubescape/storage@sha256:12cb1a854e5c287aeb9f227b70b16c35a0dd1981ea1f2b8aea1c1176ea0ba4eb - kubescape.io/workload-container-name: apiserver - kubescape.io/status: "" - labels: - kubescape.io/workload-api-group: apps - kubescape.io/workload-api-version: v1 - kubescape.io/workload-namespace: kubescape - kubescape.io/workload-kind: Deployment - kubescape.io/workload-name: storage - kubescape.io/workload-container-name: apiserver - kubescape.io/context: filtered - name: kubescape-deployment-storage-apiserver # --- - namespace: kubescape -spec: - severities: - critical: - all: 0 - relevant: 0 - high: - all: 10 - relevant: 4 - low: - all: 0 - relevant: 0 - medium: - all: 2 - relevant: 1 - negligible: - all: 0 - relevant: 0 - unknown: - all: 0 - relevant: 0 - vulnerabilitiesRef: - all: - namespace: "kubescape" - name: "gke.gcr.io-fluent-bit-gke-exporter-sha256-93014f5d546376de76c21f48bf30a6d1df3db4a413a1c3009c59fe46fa83eee8-83eee8" - kind: "vulnerabilitymanifests" - relevant: - namespace: "kubescape" - name: "kubescape-replicaset-storage-cf988cc64-cd47-4240" - kind: "vulnerabilitymanifests" diff --git a/pkg/apis/softwarecomposition/register.go b/pkg/apis/softwarecomposition/register.go index 0c490521a..75d06b4a6 100644 --- a/pkg/apis/softwarecomposition/register.go +++ b/pkg/apis/softwarecomposition/register.go @@ -53,22 +53,14 @@ func addKnownTypes(scheme *runtime.Scheme) error { &SBOMSPDXv2p3FilteredList{}, &VulnerabilityManifest{}, &VulnerabilityManifestList{}, - &SBOMSummary{}, - &SBOMSummaryList{}, - &VulnerabilityManifestSummary{}, - &VulnerabilityManifestSummaryList{}, &WorkloadConfigurationScan{}, &WorkloadConfigurationScanList{}, &WorkloadConfigurationScanSummary{}, &WorkloadConfigurationScanSummaryList{}, &ConfigurationScanSummary{}, &ConfigurationScanSummaryList{}, - &VulnerabilitySummary{}, - &VulnerabilitySummaryList{}, &ApplicationProfile{}, &ApplicationProfileList{}, - &ApplicationProfileSummary{}, - &ApplicationProfileSummaryList{}, &ApplicationActivity{}, &ApplicationActivityList{}, &NetworkNeighbors{}, diff --git a/pkg/apis/softwarecomposition/types.go b/pkg/apis/softwarecomposition/types.go index b49b0c054..8d93e57b8 100644 --- a/pkg/apis/softwarecomposition/types.go +++ b/pkg/apis/softwarecomposition/types.go @@ -17,8 +17,9 @@ limitations under the License. package softwarecomposition import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "strings" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -70,36 +71,6 @@ type SBOMSPDXv2p3 struct { Status SBOMSPDXv2p3Status } -// SBOMSummarySpec is the spec for the SBOM summary -// -// Since the summary spec is supposed to hold no data, only used as a low -// footprint way to watch for heavy full-sized SBOMs, the spec is supposed to be -// empty on purpose. -type SBOMSummarySpec struct{} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// SBOMSummary is a summary of an SBOM. It is not meant to be changed and only -// works as a lightweight facade for watching proper SBOMs. -type SBOMSummary struct { - metav1.TypeMeta - metav1.ObjectMeta - - Spec SBOMSummarySpec - Status SBOMSPDXv2p3Status -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// SBOMSummaryList is a list of SBOM summaries -type SBOMSummaryList struct { - metav1.TypeMeta - metav1.ListMeta - - Items []SBOMSummary -} - // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -204,63 +175,6 @@ type VulnerabilitiesComponents struct { WorkloadVulnerabilitiesObj VulnerabilitiesObjScope } -type VulnerabilityManifestSummarySpec struct { - Severities SeveritySummary - Vulnerabilities VulnerabilitiesComponents -} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilityManifestSummary is a summary of a VulnerabilityManifest. -type VulnerabilityManifestSummary struct { - metav1.TypeMeta - metav1.ObjectMeta - - Spec VulnerabilityManifestSummarySpec - Status VulnerabilityManifestStatus -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilityManifestSummaryList is a list of VulnerabilityManifest summaries. -type VulnerabilityManifestSummaryList struct { - metav1.TypeMeta - metav1.ListMeta - - Items []VulnerabilityManifestSummary -} - -type VulnerabilitySummarySpec struct { - Severities SeveritySummary - WorkloadVulnerabilitiesObj []VulnerabilitiesObjScope -} - -type VulnerabilitySummaryStatus struct { -} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilitySummary is a summary of a vulnerabilities for a given scope. -type VulnerabilitySummary struct { - metav1.TypeMeta - metav1.ObjectMeta - - Spec VulnerabilitySummarySpec - Status VulnerabilitySummaryStatus -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilitySummaryList is a list of VulnerabilitySummaries. -type VulnerabilitySummaryList struct { - metav1.TypeMeta - metav1.ListMeta - - Items []VulnerabilitySummary -} - func (c *VulnerabilityCounters) Add(counters *VulnerabilityCounters) { c.All += counters.All c.Relevant += counters.Relevant @@ -275,16 +189,6 @@ func (s *SeveritySummary) Add(severities *SeveritySummary) { s.Unknown.Add(&severities.Unknown) } -func (v *VulnerabilitySummary) Merge(vulnManifestSumm *VulnerabilityManifestSummary) { - v.Spec.Severities.Add(&vulnManifestSumm.Spec.Severities) - workloadVulnerabilitiesObj := VulnerabilitiesObjScope{ - Name: vulnManifestSumm.Name, - Namespace: vulnManifestSumm.Namespace, - Kind: "vulnerabilitymanifestsummary", - } - v.Spec.WorkloadVulnerabilitiesObj = append(v.Spec.WorkloadVulnerabilitiesObj, workloadVulnerabilitiesObj) -} - // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -361,23 +265,6 @@ type ApplicationProfileList struct { // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -type ApplicationProfileSummary struct { - metav1.TypeMeta - metav1.ObjectMeta -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -type ApplicationProfileSummaryList struct { - metav1.TypeMeta - metav1.ListMeta - - Items []ApplicationProfileSummary -} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - type ApplicationActivity struct { metav1.TypeMeta metav1.ObjectMeta diff --git a/pkg/apis/softwarecomposition/types_test.go b/pkg/apis/softwarecomposition/types_test.go index bd018d291..45d686908 100644 --- a/pkg/apis/softwarecomposition/types_test.go +++ b/pkg/apis/softwarecomposition/types_test.go @@ -4,144 +4,8 @@ import ( "testing" "github.com/stretchr/testify/assert" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) -func Test_VulnerabilitySummaryMerge(t *testing.T) { - tests := []struct { - fullVulnSumm *VulnerabilitySummary - vulnManifestSumm *VulnerabilityManifestSummary - expectedFullVulnSumm *VulnerabilitySummary - }{ - { - fullVulnSumm: &VulnerabilitySummary{ - Spec: VulnerabilitySummarySpec{ - Severities: SeveritySummary{ - Critical: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - High: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Medium: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Low: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Negligible: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Unknown: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - }, - WorkloadVulnerabilitiesObj: []VulnerabilitiesObjScope{}, - }, - }, - vulnManifestSumm: &VulnerabilityManifestSummary{ - ObjectMeta: v1.ObjectMeta{ - Name: "aaa", - Namespace: "bbb", - }, - TypeMeta: v1.TypeMeta{ - Kind: "vulnerabilitymanifestsummary", - }, - Spec: VulnerabilityManifestSummarySpec{ - Severities: SeveritySummary{ - Critical: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - High: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Medium: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Low: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Negligible: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - Unknown: VulnerabilityCounters{ - All: 10, - Relevant: 3, - }, - }, - Vulnerabilities: VulnerabilitiesComponents{ - ImageVulnerabilitiesObj: VulnerabilitiesObjScope{ - Name: "aaa", - Namespace: "bbb", - Kind: "any", - }, - WorkloadVulnerabilitiesObj: VulnerabilitiesObjScope{ - Name: "ccc", - Namespace: "ddd", - Kind: "many", - }, - }, - }, - }, - expectedFullVulnSumm: &VulnerabilitySummary{ - Spec: VulnerabilitySummarySpec{ - Severities: SeveritySummary{ - Critical: VulnerabilityCounters{ - All: 20, - Relevant: 6, - }, - High: VulnerabilityCounters{ - All: 20, - Relevant: 6, - }, - Medium: VulnerabilityCounters{ - All: 20, - Relevant: 6, - }, - Low: VulnerabilityCounters{ - All: 20, - Relevant: 6, - }, - Negligible: VulnerabilityCounters{ - All: 20, - Relevant: 6, - }, - Unknown: VulnerabilityCounters{ - All: 20, - Relevant: 6, - }, - }, - WorkloadVulnerabilitiesObj: []VulnerabilitiesObjScope{ - VulnerabilitiesObjScope{ - Name: "aaa", - Namespace: "bbb", - Kind: "vulnerabilitymanifestsummary", - }, - }, - }, - }, - }, - } - - for _, tt := range tests { - t.Run("", func(t *testing.T) { - tt.fullVulnSumm.Merge(tt.vulnManifestSumm) - assert.Equal(t, tt.expectedFullVulnSumm, tt.fullVulnSumm) - }) - } -} - func Test_VulnerabilityCountersAdd(t *testing.T) { tests := []struct { vulnSeverities SeveritySummary diff --git a/pkg/apis/softwarecomposition/v1beta1/register.go b/pkg/apis/softwarecomposition/v1beta1/register.go index 5b63ba280..3038cac8b 100644 --- a/pkg/apis/softwarecomposition/v1beta1/register.go +++ b/pkg/apis/softwarecomposition/v1beta1/register.go @@ -55,22 +55,14 @@ func addKnownTypes(scheme *runtime.Scheme) error { &SBOMSPDXv2p3FilteredList{}, &VulnerabilityManifest{}, &VulnerabilityManifestList{}, - &SBOMSummary{}, - &SBOMSummaryList{}, - &VulnerabilityManifestSummary{}, - &VulnerabilityManifestSummaryList{}, &WorkloadConfigurationScan{}, &WorkloadConfigurationScanList{}, &WorkloadConfigurationScanSummary{}, &WorkloadConfigurationScanSummaryList{}, &ConfigurationScanSummary{}, &ConfigurationScanSummaryList{}, - &VulnerabilitySummary{}, - &VulnerabilitySummaryList{}, &ApplicationProfile{}, &ApplicationProfileList{}, - &ApplicationProfileSummary{}, - &ApplicationProfileSummaryList{}, &ApplicationActivity{}, &ApplicationActivityList{}, &NetworkNeighbors{}, diff --git a/pkg/apis/softwarecomposition/v1beta1/types.go b/pkg/apis/softwarecomposition/v1beta1/types.go index 85236b648..17f7204e5 100644 --- a/pkg/apis/softwarecomposition/v1beta1/types.go +++ b/pkg/apis/softwarecomposition/v1beta1/types.go @@ -69,36 +69,6 @@ type SBOMSPDXv2p3 struct { Status SBOMSPDXv2p3Status `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } -// SBOMSummarySpec is the spec for the SBOM summary -// -// Since the summary spec is supposed to hold no data, only used as a low -// footprint way to watch for heavy full-sized SBOMs, the spec is supposed to be -// empty on purpose. -type SBOMSummarySpec struct{} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// SBOMSummary is a summary of an SBOM. It is not meant to be changed and only -// works as a lightweight facade for watching proper SBOMs. -type SBOMSummary struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - - Spec SBOMSummarySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` - Status SBOMSPDXv2p3Status `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// SBOMSummaryList is a list of SBOM summaries -type SBOMSummaryList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - - Items []SBOMSummary `json:"items" protobuf:"bytes,2,rep,name=items"` -} - // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -203,63 +173,6 @@ type VulnerabilitiesComponents struct { WorkloadVulnerabilitiesObj VulnerabilitiesObjScope `json:"relevant,omitempty"` } -type VulnerabilityManifestSummarySpec struct { - Severities SeveritySummary `json:"severities"` - Vulnerabilities VulnerabilitiesComponents `json:"vulnerabilitiesRef"` -} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilityManifestSummary is a summary of a VulnerabilityManifests. -type VulnerabilityManifestSummary struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - - Spec VulnerabilityManifestSummarySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` - Status VulnerabilityManifestStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilityManifestSummaryList is a list of VulnerabilityManifest summaries. -type VulnerabilityManifestSummaryList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - - Items []VulnerabilityManifestSummary `json:"items" protobuf:"bytes,2,rep,name=items"` -} - -type VulnerabilitySummarySpec struct { - Severities SeveritySummary `json:"severities"` - WorkloadVulnerabilitiesObj []VulnerabilitiesObjScope `json:"vulnerabilitiesRef"` -} - -type VulnerabilitySummaryStatus struct { -} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilitySummary is a summary of a vulnerabilities for a given scope. -type VulnerabilitySummary struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - - Spec VulnerabilitySummarySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` - Status VulnerabilitySummaryStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// VulnerabilitySummaryList is a list of VulnerabilitySummary. -type VulnerabilitySummaryList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - - Items []VulnerabilitySummary `json:"items" protobuf:"bytes,2,rep,name=items"` -} - // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -318,23 +231,6 @@ type ApplicationProfileList struct { // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -type ApplicationProfileSummary struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` -} - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -type ApplicationProfileSummaryList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - - Items []ApplicationProfileSummary `json:"items" protobuf:"bytes,2,rep,name=items"` -} - -// +genclient -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - type ApplicationActivity struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` diff --git a/pkg/apis/softwarecomposition/v1beta1/zz_generated.conversion.go b/pkg/apis/softwarecomposition/v1beta1/zz_generated.conversion.go index 1f3a98dff..553f46ad2 100644 --- a/pkg/apis/softwarecomposition/v1beta1/zz_generated.conversion.go +++ b/pkg/apis/softwarecomposition/v1beta1/zz_generated.conversion.go @@ -159,26 +159,6 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*ApplicationProfileSummary)(nil), (*softwarecomposition.ApplicationProfileSummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_ApplicationProfileSummary_To_softwarecomposition_ApplicationProfileSummary(a.(*ApplicationProfileSummary), b.(*softwarecomposition.ApplicationProfileSummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.ApplicationProfileSummary)(nil), (*ApplicationProfileSummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_ApplicationProfileSummary_To_v1beta1_ApplicationProfileSummary(a.(*softwarecomposition.ApplicationProfileSummary), b.(*ApplicationProfileSummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*ApplicationProfileSummaryList)(nil), (*softwarecomposition.ApplicationProfileSummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_ApplicationProfileSummaryList_To_softwarecomposition_ApplicationProfileSummaryList(a.(*ApplicationProfileSummaryList), b.(*softwarecomposition.ApplicationProfileSummaryList), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.ApplicationProfileSummaryList)(nil), (*ApplicationProfileSummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_ApplicationProfileSummaryList_To_v1beta1_ApplicationProfileSummaryList(a.(*softwarecomposition.ApplicationProfileSummaryList), b.(*ApplicationProfileSummaryList), scope) - }); err != nil { - return err - } if err := s.AddGeneratedConversionFunc((*ArtifactOfProject)(nil), (*softwarecomposition.ArtifactOfProject)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta1_ArtifactOfProject_To_softwarecomposition_ArtifactOfProject(a.(*ArtifactOfProject), b.(*softwarecomposition.ArtifactOfProject), scope) }); err != nil { @@ -1149,36 +1129,6 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*SBOMSummary)(nil), (*softwarecomposition.SBOMSummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_SBOMSummary_To_softwarecomposition_SBOMSummary(a.(*SBOMSummary), b.(*softwarecomposition.SBOMSummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.SBOMSummary)(nil), (*SBOMSummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_SBOMSummary_To_v1beta1_SBOMSummary(a.(*softwarecomposition.SBOMSummary), b.(*SBOMSummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*SBOMSummaryList)(nil), (*softwarecomposition.SBOMSummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_SBOMSummaryList_To_softwarecomposition_SBOMSummaryList(a.(*SBOMSummaryList), b.(*softwarecomposition.SBOMSummaryList), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.SBOMSummaryList)(nil), (*SBOMSummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_SBOMSummaryList_To_v1beta1_SBOMSummaryList(a.(*softwarecomposition.SBOMSummaryList), b.(*SBOMSummaryList), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*SBOMSummarySpec)(nil), (*softwarecomposition.SBOMSummarySpec)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_SBOMSummarySpec_To_softwarecomposition_SBOMSummarySpec(a.(*SBOMSummarySpec), b.(*softwarecomposition.SBOMSummarySpec), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.SBOMSummarySpec)(nil), (*SBOMSummarySpec)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_SBOMSummarySpec_To_v1beta1_SBOMSummarySpec(a.(*softwarecomposition.SBOMSummarySpec), b.(*SBOMSummarySpec), scope) - }); err != nil { - return err - } if err := s.AddGeneratedConversionFunc((*SBOMSyft)(nil), (*softwarecomposition.SBOMSyft)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta1_SBOMSyft_To_softwarecomposition_SBOMSyft(a.(*SBOMSyft), b.(*softwarecomposition.SBOMSyft), scope) }); err != nil { @@ -1599,36 +1549,6 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*VulnerabilityManifestSummary)(nil), (*softwarecomposition.VulnerabilityManifestSummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_VulnerabilityManifestSummary_To_softwarecomposition_VulnerabilityManifestSummary(a.(*VulnerabilityManifestSummary), b.(*softwarecomposition.VulnerabilityManifestSummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.VulnerabilityManifestSummary)(nil), (*VulnerabilityManifestSummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_VulnerabilityManifestSummary_To_v1beta1_VulnerabilityManifestSummary(a.(*softwarecomposition.VulnerabilityManifestSummary), b.(*VulnerabilityManifestSummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*VulnerabilityManifestSummaryList)(nil), (*softwarecomposition.VulnerabilityManifestSummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_VulnerabilityManifestSummaryList_To_softwarecomposition_VulnerabilityManifestSummaryList(a.(*VulnerabilityManifestSummaryList), b.(*softwarecomposition.VulnerabilityManifestSummaryList), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.VulnerabilityManifestSummaryList)(nil), (*VulnerabilityManifestSummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_VulnerabilityManifestSummaryList_To_v1beta1_VulnerabilityManifestSummaryList(a.(*softwarecomposition.VulnerabilityManifestSummaryList), b.(*VulnerabilityManifestSummaryList), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*VulnerabilityManifestSummarySpec)(nil), (*softwarecomposition.VulnerabilityManifestSummarySpec)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_VulnerabilityManifestSummarySpec_To_softwarecomposition_VulnerabilityManifestSummarySpec(a.(*VulnerabilityManifestSummarySpec), b.(*softwarecomposition.VulnerabilityManifestSummarySpec), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.VulnerabilityManifestSummarySpec)(nil), (*VulnerabilityManifestSummarySpec)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_VulnerabilityManifestSummarySpec_To_v1beta1_VulnerabilityManifestSummarySpec(a.(*softwarecomposition.VulnerabilityManifestSummarySpec), b.(*VulnerabilityManifestSummarySpec), scope) - }); err != nil { - return err - } if err := s.AddGeneratedConversionFunc((*VulnerabilityManifestToolMeta)(nil), (*softwarecomposition.VulnerabilityManifestToolMeta)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta1_VulnerabilityManifestToolMeta_To_softwarecomposition_VulnerabilityManifestToolMeta(a.(*VulnerabilityManifestToolMeta), b.(*softwarecomposition.VulnerabilityManifestToolMeta), scope) }); err != nil { @@ -1649,46 +1569,6 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*VulnerabilitySummary)(nil), (*softwarecomposition.VulnerabilitySummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_VulnerabilitySummary_To_softwarecomposition_VulnerabilitySummary(a.(*VulnerabilitySummary), b.(*softwarecomposition.VulnerabilitySummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.VulnerabilitySummary)(nil), (*VulnerabilitySummary)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_VulnerabilitySummary_To_v1beta1_VulnerabilitySummary(a.(*softwarecomposition.VulnerabilitySummary), b.(*VulnerabilitySummary), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*VulnerabilitySummaryList)(nil), (*softwarecomposition.VulnerabilitySummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_VulnerabilitySummaryList_To_softwarecomposition_VulnerabilitySummaryList(a.(*VulnerabilitySummaryList), b.(*softwarecomposition.VulnerabilitySummaryList), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.VulnerabilitySummaryList)(nil), (*VulnerabilitySummaryList)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_VulnerabilitySummaryList_To_v1beta1_VulnerabilitySummaryList(a.(*softwarecomposition.VulnerabilitySummaryList), b.(*VulnerabilitySummaryList), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*VulnerabilitySummarySpec)(nil), (*softwarecomposition.VulnerabilitySummarySpec)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_VulnerabilitySummarySpec_To_softwarecomposition_VulnerabilitySummarySpec(a.(*VulnerabilitySummarySpec), b.(*softwarecomposition.VulnerabilitySummarySpec), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.VulnerabilitySummarySpec)(nil), (*VulnerabilitySummarySpec)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_VulnerabilitySummarySpec_To_v1beta1_VulnerabilitySummarySpec(a.(*softwarecomposition.VulnerabilitySummarySpec), b.(*VulnerabilitySummarySpec), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*VulnerabilitySummaryStatus)(nil), (*softwarecomposition.VulnerabilitySummaryStatus)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta1_VulnerabilitySummaryStatus_To_softwarecomposition_VulnerabilitySummaryStatus(a.(*VulnerabilitySummaryStatus), b.(*softwarecomposition.VulnerabilitySummaryStatus), scope) - }); err != nil { - return err - } - if err := s.AddGeneratedConversionFunc((*softwarecomposition.VulnerabilitySummaryStatus)(nil), (*VulnerabilitySummaryStatus)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_softwarecomposition_VulnerabilitySummaryStatus_To_v1beta1_VulnerabilitySummaryStatus(a.(*softwarecomposition.VulnerabilitySummaryStatus), b.(*VulnerabilitySummaryStatus), scope) - }); err != nil { - return err - } if err := s.AddGeneratedConversionFunc((*WorkloadConfigurationScan)(nil), (*softwarecomposition.WorkloadConfigurationScan)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta1_WorkloadConfigurationScan_To_softwarecomposition_WorkloadConfigurationScan(a.(*WorkloadConfigurationScan), b.(*softwarecomposition.WorkloadConfigurationScan), scope) }); err != nil { @@ -2076,48 +1956,6 @@ func Convert_softwarecomposition_ApplicationProfileStatus_To_v1beta1_Application return autoConvert_softwarecomposition_ApplicationProfileStatus_To_v1beta1_ApplicationProfileStatus(in, out, s) } -func autoConvert_v1beta1_ApplicationProfileSummary_To_softwarecomposition_ApplicationProfileSummary(in *ApplicationProfileSummary, out *softwarecomposition.ApplicationProfileSummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - return nil -} - -// Convert_v1beta1_ApplicationProfileSummary_To_softwarecomposition_ApplicationProfileSummary is an autogenerated conversion function. -func Convert_v1beta1_ApplicationProfileSummary_To_softwarecomposition_ApplicationProfileSummary(in *ApplicationProfileSummary, out *softwarecomposition.ApplicationProfileSummary, s conversion.Scope) error { - return autoConvert_v1beta1_ApplicationProfileSummary_To_softwarecomposition_ApplicationProfileSummary(in, out, s) -} - -func autoConvert_softwarecomposition_ApplicationProfileSummary_To_v1beta1_ApplicationProfileSummary(in *softwarecomposition.ApplicationProfileSummary, out *ApplicationProfileSummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - return nil -} - -// Convert_softwarecomposition_ApplicationProfileSummary_To_v1beta1_ApplicationProfileSummary is an autogenerated conversion function. -func Convert_softwarecomposition_ApplicationProfileSummary_To_v1beta1_ApplicationProfileSummary(in *softwarecomposition.ApplicationProfileSummary, out *ApplicationProfileSummary, s conversion.Scope) error { - return autoConvert_softwarecomposition_ApplicationProfileSummary_To_v1beta1_ApplicationProfileSummary(in, out, s) -} - -func autoConvert_v1beta1_ApplicationProfileSummaryList_To_softwarecomposition_ApplicationProfileSummaryList(in *ApplicationProfileSummaryList, out *softwarecomposition.ApplicationProfileSummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]softwarecomposition.ApplicationProfileSummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_v1beta1_ApplicationProfileSummaryList_To_softwarecomposition_ApplicationProfileSummaryList is an autogenerated conversion function. -func Convert_v1beta1_ApplicationProfileSummaryList_To_softwarecomposition_ApplicationProfileSummaryList(in *ApplicationProfileSummaryList, out *softwarecomposition.ApplicationProfileSummaryList, s conversion.Scope) error { - return autoConvert_v1beta1_ApplicationProfileSummaryList_To_softwarecomposition_ApplicationProfileSummaryList(in, out, s) -} - -func autoConvert_softwarecomposition_ApplicationProfileSummaryList_To_v1beta1_ApplicationProfileSummaryList(in *softwarecomposition.ApplicationProfileSummaryList, out *ApplicationProfileSummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]ApplicationProfileSummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_softwarecomposition_ApplicationProfileSummaryList_To_v1beta1_ApplicationProfileSummaryList is an autogenerated conversion function. -func Convert_softwarecomposition_ApplicationProfileSummaryList_To_v1beta1_ApplicationProfileSummaryList(in *softwarecomposition.ApplicationProfileSummaryList, out *ApplicationProfileSummaryList, s conversion.Scope) error { - return autoConvert_softwarecomposition_ApplicationProfileSummaryList_To_v1beta1_ApplicationProfileSummaryList(in, out, s) -} - func autoConvert_v1beta1_ArtifactOfProject_To_softwarecomposition_ArtifactOfProject(in *ArtifactOfProject, out *softwarecomposition.ArtifactOfProject, s conversion.Scope) error { out.Name = in.Name out.HomePage = in.HomePage @@ -4706,78 +4544,6 @@ func Convert_softwarecomposition_SBOMSPDXv2p3Status_To_v1beta1_SBOMSPDXv2p3Statu return autoConvert_softwarecomposition_SBOMSPDXv2p3Status_To_v1beta1_SBOMSPDXv2p3Status(in, out, s) } -func autoConvert_v1beta1_SBOMSummary_To_softwarecomposition_SBOMSummary(in *SBOMSummary, out *softwarecomposition.SBOMSummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - if err := Convert_v1beta1_SBOMSummarySpec_To_softwarecomposition_SBOMSummarySpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := Convert_v1beta1_SBOMSPDXv2p3Status_To_softwarecomposition_SBOMSPDXv2p3Status(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -// Convert_v1beta1_SBOMSummary_To_softwarecomposition_SBOMSummary is an autogenerated conversion function. -func Convert_v1beta1_SBOMSummary_To_softwarecomposition_SBOMSummary(in *SBOMSummary, out *softwarecomposition.SBOMSummary, s conversion.Scope) error { - return autoConvert_v1beta1_SBOMSummary_To_softwarecomposition_SBOMSummary(in, out, s) -} - -func autoConvert_softwarecomposition_SBOMSummary_To_v1beta1_SBOMSummary(in *softwarecomposition.SBOMSummary, out *SBOMSummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - if err := Convert_softwarecomposition_SBOMSummarySpec_To_v1beta1_SBOMSummarySpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := Convert_softwarecomposition_SBOMSPDXv2p3Status_To_v1beta1_SBOMSPDXv2p3Status(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -// Convert_softwarecomposition_SBOMSummary_To_v1beta1_SBOMSummary is an autogenerated conversion function. -func Convert_softwarecomposition_SBOMSummary_To_v1beta1_SBOMSummary(in *softwarecomposition.SBOMSummary, out *SBOMSummary, s conversion.Scope) error { - return autoConvert_softwarecomposition_SBOMSummary_To_v1beta1_SBOMSummary(in, out, s) -} - -func autoConvert_v1beta1_SBOMSummaryList_To_softwarecomposition_SBOMSummaryList(in *SBOMSummaryList, out *softwarecomposition.SBOMSummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]softwarecomposition.SBOMSummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_v1beta1_SBOMSummaryList_To_softwarecomposition_SBOMSummaryList is an autogenerated conversion function. -func Convert_v1beta1_SBOMSummaryList_To_softwarecomposition_SBOMSummaryList(in *SBOMSummaryList, out *softwarecomposition.SBOMSummaryList, s conversion.Scope) error { - return autoConvert_v1beta1_SBOMSummaryList_To_softwarecomposition_SBOMSummaryList(in, out, s) -} - -func autoConvert_softwarecomposition_SBOMSummaryList_To_v1beta1_SBOMSummaryList(in *softwarecomposition.SBOMSummaryList, out *SBOMSummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]SBOMSummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_softwarecomposition_SBOMSummaryList_To_v1beta1_SBOMSummaryList is an autogenerated conversion function. -func Convert_softwarecomposition_SBOMSummaryList_To_v1beta1_SBOMSummaryList(in *softwarecomposition.SBOMSummaryList, out *SBOMSummaryList, s conversion.Scope) error { - return autoConvert_softwarecomposition_SBOMSummaryList_To_v1beta1_SBOMSummaryList(in, out, s) -} - -func autoConvert_v1beta1_SBOMSummarySpec_To_softwarecomposition_SBOMSummarySpec(in *SBOMSummarySpec, out *softwarecomposition.SBOMSummarySpec, s conversion.Scope) error { - return nil -} - -// Convert_v1beta1_SBOMSummarySpec_To_softwarecomposition_SBOMSummarySpec is an autogenerated conversion function. -func Convert_v1beta1_SBOMSummarySpec_To_softwarecomposition_SBOMSummarySpec(in *SBOMSummarySpec, out *softwarecomposition.SBOMSummarySpec, s conversion.Scope) error { - return autoConvert_v1beta1_SBOMSummarySpec_To_softwarecomposition_SBOMSummarySpec(in, out, s) -} - -func autoConvert_softwarecomposition_SBOMSummarySpec_To_v1beta1_SBOMSummarySpec(in *softwarecomposition.SBOMSummarySpec, out *SBOMSummarySpec, s conversion.Scope) error { - return nil -} - -// Convert_softwarecomposition_SBOMSummarySpec_To_v1beta1_SBOMSummarySpec is an autogenerated conversion function. -func Convert_softwarecomposition_SBOMSummarySpec_To_v1beta1_SBOMSummarySpec(in *softwarecomposition.SBOMSummarySpec, out *SBOMSummarySpec, s conversion.Scope) error { - return autoConvert_softwarecomposition_SBOMSummarySpec_To_v1beta1_SBOMSummarySpec(in, out, s) -} - func autoConvert_v1beta1_SBOMSyft_To_softwarecomposition_SBOMSyft(in *SBOMSyft, out *softwarecomposition.SBOMSyft, s conversion.Scope) error { out.ObjectMeta = in.ObjectMeta if err := Convert_v1beta1_SBOMSyftSpec_To_softwarecomposition_SBOMSyftSpec(&in.Spec, &out.Spec, s); err != nil { @@ -5962,90 +5728,6 @@ func Convert_softwarecomposition_VulnerabilityManifestStatus_To_v1beta1_Vulnerab return autoConvert_softwarecomposition_VulnerabilityManifestStatus_To_v1beta1_VulnerabilityManifestStatus(in, out, s) } -func autoConvert_v1beta1_VulnerabilityManifestSummary_To_softwarecomposition_VulnerabilityManifestSummary(in *VulnerabilityManifestSummary, out *softwarecomposition.VulnerabilityManifestSummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - if err := Convert_v1beta1_VulnerabilityManifestSummarySpec_To_softwarecomposition_VulnerabilityManifestSummarySpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := Convert_v1beta1_VulnerabilityManifestStatus_To_softwarecomposition_VulnerabilityManifestStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -// Convert_v1beta1_VulnerabilityManifestSummary_To_softwarecomposition_VulnerabilityManifestSummary is an autogenerated conversion function. -func Convert_v1beta1_VulnerabilityManifestSummary_To_softwarecomposition_VulnerabilityManifestSummary(in *VulnerabilityManifestSummary, out *softwarecomposition.VulnerabilityManifestSummary, s conversion.Scope) error { - return autoConvert_v1beta1_VulnerabilityManifestSummary_To_softwarecomposition_VulnerabilityManifestSummary(in, out, s) -} - -func autoConvert_softwarecomposition_VulnerabilityManifestSummary_To_v1beta1_VulnerabilityManifestSummary(in *softwarecomposition.VulnerabilityManifestSummary, out *VulnerabilityManifestSummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - if err := Convert_softwarecomposition_VulnerabilityManifestSummarySpec_To_v1beta1_VulnerabilityManifestSummarySpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := Convert_softwarecomposition_VulnerabilityManifestStatus_To_v1beta1_VulnerabilityManifestStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -// Convert_softwarecomposition_VulnerabilityManifestSummary_To_v1beta1_VulnerabilityManifestSummary is an autogenerated conversion function. -func Convert_softwarecomposition_VulnerabilityManifestSummary_To_v1beta1_VulnerabilityManifestSummary(in *softwarecomposition.VulnerabilityManifestSummary, out *VulnerabilityManifestSummary, s conversion.Scope) error { - return autoConvert_softwarecomposition_VulnerabilityManifestSummary_To_v1beta1_VulnerabilityManifestSummary(in, out, s) -} - -func autoConvert_v1beta1_VulnerabilityManifestSummaryList_To_softwarecomposition_VulnerabilityManifestSummaryList(in *VulnerabilityManifestSummaryList, out *softwarecomposition.VulnerabilityManifestSummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]softwarecomposition.VulnerabilityManifestSummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_v1beta1_VulnerabilityManifestSummaryList_To_softwarecomposition_VulnerabilityManifestSummaryList is an autogenerated conversion function. -func Convert_v1beta1_VulnerabilityManifestSummaryList_To_softwarecomposition_VulnerabilityManifestSummaryList(in *VulnerabilityManifestSummaryList, out *softwarecomposition.VulnerabilityManifestSummaryList, s conversion.Scope) error { - return autoConvert_v1beta1_VulnerabilityManifestSummaryList_To_softwarecomposition_VulnerabilityManifestSummaryList(in, out, s) -} - -func autoConvert_softwarecomposition_VulnerabilityManifestSummaryList_To_v1beta1_VulnerabilityManifestSummaryList(in *softwarecomposition.VulnerabilityManifestSummaryList, out *VulnerabilityManifestSummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]VulnerabilityManifestSummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_softwarecomposition_VulnerabilityManifestSummaryList_To_v1beta1_VulnerabilityManifestSummaryList is an autogenerated conversion function. -func Convert_softwarecomposition_VulnerabilityManifestSummaryList_To_v1beta1_VulnerabilityManifestSummaryList(in *softwarecomposition.VulnerabilityManifestSummaryList, out *VulnerabilityManifestSummaryList, s conversion.Scope) error { - return autoConvert_softwarecomposition_VulnerabilityManifestSummaryList_To_v1beta1_VulnerabilityManifestSummaryList(in, out, s) -} - -func autoConvert_v1beta1_VulnerabilityManifestSummarySpec_To_softwarecomposition_VulnerabilityManifestSummarySpec(in *VulnerabilityManifestSummarySpec, out *softwarecomposition.VulnerabilityManifestSummarySpec, s conversion.Scope) error { - if err := Convert_v1beta1_SeveritySummary_To_softwarecomposition_SeveritySummary(&in.Severities, &out.Severities, s); err != nil { - return err - } - if err := Convert_v1beta1_VulnerabilitiesComponents_To_softwarecomposition_VulnerabilitiesComponents(&in.Vulnerabilities, &out.Vulnerabilities, s); err != nil { - return err - } - return nil -} - -// Convert_v1beta1_VulnerabilityManifestSummarySpec_To_softwarecomposition_VulnerabilityManifestSummarySpec is an autogenerated conversion function. -func Convert_v1beta1_VulnerabilityManifestSummarySpec_To_softwarecomposition_VulnerabilityManifestSummarySpec(in *VulnerabilityManifestSummarySpec, out *softwarecomposition.VulnerabilityManifestSummarySpec, s conversion.Scope) error { - return autoConvert_v1beta1_VulnerabilityManifestSummarySpec_To_softwarecomposition_VulnerabilityManifestSummarySpec(in, out, s) -} - -func autoConvert_softwarecomposition_VulnerabilityManifestSummarySpec_To_v1beta1_VulnerabilityManifestSummarySpec(in *softwarecomposition.VulnerabilityManifestSummarySpec, out *VulnerabilityManifestSummarySpec, s conversion.Scope) error { - if err := Convert_softwarecomposition_SeveritySummary_To_v1beta1_SeveritySummary(&in.Severities, &out.Severities, s); err != nil { - return err - } - if err := Convert_softwarecomposition_VulnerabilitiesComponents_To_v1beta1_VulnerabilitiesComponents(&in.Vulnerabilities, &out.Vulnerabilities, s); err != nil { - return err - } - return nil -} - -// Convert_softwarecomposition_VulnerabilityManifestSummarySpec_To_v1beta1_VulnerabilityManifestSummarySpec is an autogenerated conversion function. -func Convert_softwarecomposition_VulnerabilityManifestSummarySpec_To_v1beta1_VulnerabilityManifestSummarySpec(in *softwarecomposition.VulnerabilityManifestSummarySpec, out *VulnerabilityManifestSummarySpec, s conversion.Scope) error { - return autoConvert_softwarecomposition_VulnerabilityManifestSummarySpec_To_v1beta1_VulnerabilityManifestSummarySpec(in, out, s) -} - func autoConvert_v1beta1_VulnerabilityManifestToolMeta_To_softwarecomposition_VulnerabilityManifestToolMeta(in *VulnerabilityManifestToolMeta, out *softwarecomposition.VulnerabilityManifestToolMeta, s conversion.Scope) error { out.Name = in.Name out.Version = in.Version @@ -6102,104 +5784,6 @@ func Convert_softwarecomposition_VulnerabilityMetadata_To_v1beta1_VulnerabilityM return autoConvert_softwarecomposition_VulnerabilityMetadata_To_v1beta1_VulnerabilityMetadata(in, out, s) } -func autoConvert_v1beta1_VulnerabilitySummary_To_softwarecomposition_VulnerabilitySummary(in *VulnerabilitySummary, out *softwarecomposition.VulnerabilitySummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - if err := Convert_v1beta1_VulnerabilitySummarySpec_To_softwarecomposition_VulnerabilitySummarySpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := Convert_v1beta1_VulnerabilitySummaryStatus_To_softwarecomposition_VulnerabilitySummaryStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -// Convert_v1beta1_VulnerabilitySummary_To_softwarecomposition_VulnerabilitySummary is an autogenerated conversion function. -func Convert_v1beta1_VulnerabilitySummary_To_softwarecomposition_VulnerabilitySummary(in *VulnerabilitySummary, out *softwarecomposition.VulnerabilitySummary, s conversion.Scope) error { - return autoConvert_v1beta1_VulnerabilitySummary_To_softwarecomposition_VulnerabilitySummary(in, out, s) -} - -func autoConvert_softwarecomposition_VulnerabilitySummary_To_v1beta1_VulnerabilitySummary(in *softwarecomposition.VulnerabilitySummary, out *VulnerabilitySummary, s conversion.Scope) error { - out.ObjectMeta = in.ObjectMeta - if err := Convert_softwarecomposition_VulnerabilitySummarySpec_To_v1beta1_VulnerabilitySummarySpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := Convert_softwarecomposition_VulnerabilitySummaryStatus_To_v1beta1_VulnerabilitySummaryStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -// Convert_softwarecomposition_VulnerabilitySummary_To_v1beta1_VulnerabilitySummary is an autogenerated conversion function. -func Convert_softwarecomposition_VulnerabilitySummary_To_v1beta1_VulnerabilitySummary(in *softwarecomposition.VulnerabilitySummary, out *VulnerabilitySummary, s conversion.Scope) error { - return autoConvert_softwarecomposition_VulnerabilitySummary_To_v1beta1_VulnerabilitySummary(in, out, s) -} - -func autoConvert_v1beta1_VulnerabilitySummaryList_To_softwarecomposition_VulnerabilitySummaryList(in *VulnerabilitySummaryList, out *softwarecomposition.VulnerabilitySummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]softwarecomposition.VulnerabilitySummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_v1beta1_VulnerabilitySummaryList_To_softwarecomposition_VulnerabilitySummaryList is an autogenerated conversion function. -func Convert_v1beta1_VulnerabilitySummaryList_To_softwarecomposition_VulnerabilitySummaryList(in *VulnerabilitySummaryList, out *softwarecomposition.VulnerabilitySummaryList, s conversion.Scope) error { - return autoConvert_v1beta1_VulnerabilitySummaryList_To_softwarecomposition_VulnerabilitySummaryList(in, out, s) -} - -func autoConvert_softwarecomposition_VulnerabilitySummaryList_To_v1beta1_VulnerabilitySummaryList(in *softwarecomposition.VulnerabilitySummaryList, out *VulnerabilitySummaryList, s conversion.Scope) error { - out.ListMeta = in.ListMeta - out.Items = *(*[]VulnerabilitySummary)(unsafe.Pointer(&in.Items)) - return nil -} - -// Convert_softwarecomposition_VulnerabilitySummaryList_To_v1beta1_VulnerabilitySummaryList is an autogenerated conversion function. -func Convert_softwarecomposition_VulnerabilitySummaryList_To_v1beta1_VulnerabilitySummaryList(in *softwarecomposition.VulnerabilitySummaryList, out *VulnerabilitySummaryList, s conversion.Scope) error { - return autoConvert_softwarecomposition_VulnerabilitySummaryList_To_v1beta1_VulnerabilitySummaryList(in, out, s) -} - -func autoConvert_v1beta1_VulnerabilitySummarySpec_To_softwarecomposition_VulnerabilitySummarySpec(in *VulnerabilitySummarySpec, out *softwarecomposition.VulnerabilitySummarySpec, s conversion.Scope) error { - if err := Convert_v1beta1_SeveritySummary_To_softwarecomposition_SeveritySummary(&in.Severities, &out.Severities, s); err != nil { - return err - } - out.WorkloadVulnerabilitiesObj = *(*[]softwarecomposition.VulnerabilitiesObjScope)(unsafe.Pointer(&in.WorkloadVulnerabilitiesObj)) - return nil -} - -// Convert_v1beta1_VulnerabilitySummarySpec_To_softwarecomposition_VulnerabilitySummarySpec is an autogenerated conversion function. -func Convert_v1beta1_VulnerabilitySummarySpec_To_softwarecomposition_VulnerabilitySummarySpec(in *VulnerabilitySummarySpec, out *softwarecomposition.VulnerabilitySummarySpec, s conversion.Scope) error { - return autoConvert_v1beta1_VulnerabilitySummarySpec_To_softwarecomposition_VulnerabilitySummarySpec(in, out, s) -} - -func autoConvert_softwarecomposition_VulnerabilitySummarySpec_To_v1beta1_VulnerabilitySummarySpec(in *softwarecomposition.VulnerabilitySummarySpec, out *VulnerabilitySummarySpec, s conversion.Scope) error { - if err := Convert_softwarecomposition_SeveritySummary_To_v1beta1_SeveritySummary(&in.Severities, &out.Severities, s); err != nil { - return err - } - out.WorkloadVulnerabilitiesObj = *(*[]VulnerabilitiesObjScope)(unsafe.Pointer(&in.WorkloadVulnerabilitiesObj)) - return nil -} - -// Convert_softwarecomposition_VulnerabilitySummarySpec_To_v1beta1_VulnerabilitySummarySpec is an autogenerated conversion function. -func Convert_softwarecomposition_VulnerabilitySummarySpec_To_v1beta1_VulnerabilitySummarySpec(in *softwarecomposition.VulnerabilitySummarySpec, out *VulnerabilitySummarySpec, s conversion.Scope) error { - return autoConvert_softwarecomposition_VulnerabilitySummarySpec_To_v1beta1_VulnerabilitySummarySpec(in, out, s) -} - -func autoConvert_v1beta1_VulnerabilitySummaryStatus_To_softwarecomposition_VulnerabilitySummaryStatus(in *VulnerabilitySummaryStatus, out *softwarecomposition.VulnerabilitySummaryStatus, s conversion.Scope) error { - return nil -} - -// Convert_v1beta1_VulnerabilitySummaryStatus_To_softwarecomposition_VulnerabilitySummaryStatus is an autogenerated conversion function. -func Convert_v1beta1_VulnerabilitySummaryStatus_To_softwarecomposition_VulnerabilitySummaryStatus(in *VulnerabilitySummaryStatus, out *softwarecomposition.VulnerabilitySummaryStatus, s conversion.Scope) error { - return autoConvert_v1beta1_VulnerabilitySummaryStatus_To_softwarecomposition_VulnerabilitySummaryStatus(in, out, s) -} - -func autoConvert_softwarecomposition_VulnerabilitySummaryStatus_To_v1beta1_VulnerabilitySummaryStatus(in *softwarecomposition.VulnerabilitySummaryStatus, out *VulnerabilitySummaryStatus, s conversion.Scope) error { - return nil -} - -// Convert_softwarecomposition_VulnerabilitySummaryStatus_To_v1beta1_VulnerabilitySummaryStatus is an autogenerated conversion function. -func Convert_softwarecomposition_VulnerabilitySummaryStatus_To_v1beta1_VulnerabilitySummaryStatus(in *softwarecomposition.VulnerabilitySummaryStatus, out *VulnerabilitySummaryStatus, s conversion.Scope) error { - return autoConvert_softwarecomposition_VulnerabilitySummaryStatus_To_v1beta1_VulnerabilitySummaryStatus(in, out, s) -} - func autoConvert_v1beta1_WorkloadConfigurationScan_To_softwarecomposition_WorkloadConfigurationScan(in *WorkloadConfigurationScan, out *softwarecomposition.WorkloadConfigurationScan, s conversion.Scope) error { out.ObjectMeta = in.ObjectMeta if err := Convert_v1beta1_WorkloadConfigurationScanSpec_To_softwarecomposition_WorkloadConfigurationScanSpec(&in.Spec, &out.Spec, s); err != nil { diff --git a/pkg/apis/softwarecomposition/v1beta1/zz_generated.deepcopy.go b/pkg/apis/softwarecomposition/v1beta1/zz_generated.deepcopy.go index 18169b100..0809aa3ec 100644 --- a/pkg/apis/softwarecomposition/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/softwarecomposition/v1beta1/zz_generated.deepcopy.go @@ -324,65 +324,6 @@ func (in *ApplicationProfileStatus) DeepCopy() *ApplicationProfileStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ApplicationProfileSummary) DeepCopyInto(out *ApplicationProfileSummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProfileSummary. -func (in *ApplicationProfileSummary) DeepCopy() *ApplicationProfileSummary { - if in == nil { - return nil - } - out := new(ApplicationProfileSummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ApplicationProfileSummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ApplicationProfileSummaryList) DeepCopyInto(out *ApplicationProfileSummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]ApplicationProfileSummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProfileSummaryList. -func (in *ApplicationProfileSummaryList) DeepCopy() *ApplicationProfileSummaryList { - if in == nil { - return nil - } - out := new(ApplicationProfileSummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ApplicationProfileSummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ArtifactOfProject) DeepCopyInto(out *ArtifactOfProject) { *out = *in @@ -2912,83 +2853,6 @@ func (in *SBOMSPDXv2p3Status) DeepCopy() *SBOMSPDXv2p3Status { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SBOMSummary) DeepCopyInto(out *SBOMSummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec - out.Status = in.Status - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SBOMSummary. -func (in *SBOMSummary) DeepCopy() *SBOMSummary { - if in == nil { - return nil - } - out := new(SBOMSummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SBOMSummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SBOMSummaryList) DeepCopyInto(out *SBOMSummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]SBOMSummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SBOMSummaryList. -func (in *SBOMSummaryList) DeepCopy() *SBOMSummaryList { - if in == nil { - return nil - } - out := new(SBOMSummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SBOMSummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SBOMSummarySpec) DeepCopyInto(out *SBOMSummarySpec) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SBOMSummarySpec. -func (in *SBOMSummarySpec) DeepCopy() *SBOMSummarySpec { - if in == nil { - return nil - } - out := new(SBOMSummarySpec) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SBOMSyft) DeepCopyInto(out *SBOMSyft) { *out = *in @@ -3918,85 +3782,6 @@ func (in *VulnerabilityManifestStatus) DeepCopy() *VulnerabilityManifestStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilityManifestSummary) DeepCopyInto(out *VulnerabilityManifestSummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec - out.Status = in.Status - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilityManifestSummary. -func (in *VulnerabilityManifestSummary) DeepCopy() *VulnerabilityManifestSummary { - if in == nil { - return nil - } - out := new(VulnerabilityManifestSummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilityManifestSummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilityManifestSummaryList) DeepCopyInto(out *VulnerabilityManifestSummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]VulnerabilityManifestSummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilityManifestSummaryList. -func (in *VulnerabilityManifestSummaryList) DeepCopy() *VulnerabilityManifestSummaryList { - if in == nil { - return nil - } - out := new(VulnerabilityManifestSummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilityManifestSummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilityManifestSummarySpec) DeepCopyInto(out *VulnerabilityManifestSummarySpec) { - *out = *in - out.Severities = in.Severities - out.Vulnerabilities = in.Vulnerabilities - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilityManifestSummarySpec. -func (in *VulnerabilityManifestSummarySpec) DeepCopy() *VulnerabilityManifestSummarySpec { - if in == nil { - return nil - } - out := new(VulnerabilityManifestSummarySpec) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VulnerabilityManifestToolMeta) DeepCopyInto(out *VulnerabilityManifestToolMeta) { *out = *in @@ -4041,105 +3826,6 @@ func (in *VulnerabilityMetadata) DeepCopy() *VulnerabilityMetadata { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummary) DeepCopyInto(out *VulnerabilitySummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - out.Status = in.Status - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummary. -func (in *VulnerabilitySummary) DeepCopy() *VulnerabilitySummary { - if in == nil { - return nil - } - out := new(VulnerabilitySummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilitySummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummaryList) DeepCopyInto(out *VulnerabilitySummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]VulnerabilitySummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummaryList. -func (in *VulnerabilitySummaryList) DeepCopy() *VulnerabilitySummaryList { - if in == nil { - return nil - } - out := new(VulnerabilitySummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilitySummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummarySpec) DeepCopyInto(out *VulnerabilitySummarySpec) { - *out = *in - out.Severities = in.Severities - if in.WorkloadVulnerabilitiesObj != nil { - in, out := &in.WorkloadVulnerabilitiesObj, &out.WorkloadVulnerabilitiesObj - *out = make([]VulnerabilitiesObjScope, len(*in)) - copy(*out, *in) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummarySpec. -func (in *VulnerabilitySummarySpec) DeepCopy() *VulnerabilitySummarySpec { - if in == nil { - return nil - } - out := new(VulnerabilitySummarySpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummaryStatus) DeepCopyInto(out *VulnerabilitySummaryStatus) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummaryStatus. -func (in *VulnerabilitySummaryStatus) DeepCopy() *VulnerabilitySummaryStatus { - if in == nil { - return nil - } - out := new(VulnerabilitySummaryStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *WorkloadConfigurationScan) DeepCopyInto(out *WorkloadConfigurationScan) { *out = *in diff --git a/pkg/apis/softwarecomposition/zz_generated.deepcopy.go b/pkg/apis/softwarecomposition/zz_generated.deepcopy.go index 36991908b..6ce76f1a1 100644 --- a/pkg/apis/softwarecomposition/zz_generated.deepcopy.go +++ b/pkg/apis/softwarecomposition/zz_generated.deepcopy.go @@ -324,65 +324,6 @@ func (in *ApplicationProfileStatus) DeepCopy() *ApplicationProfileStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ApplicationProfileSummary) DeepCopyInto(out *ApplicationProfileSummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProfileSummary. -func (in *ApplicationProfileSummary) DeepCopy() *ApplicationProfileSummary { - if in == nil { - return nil - } - out := new(ApplicationProfileSummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ApplicationProfileSummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ApplicationProfileSummaryList) DeepCopyInto(out *ApplicationProfileSummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]ApplicationProfileSummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationProfileSummaryList. -func (in *ApplicationProfileSummaryList) DeepCopy() *ApplicationProfileSummaryList { - if in == nil { - return nil - } - out := new(ApplicationProfileSummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *ApplicationProfileSummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ArtifactOfProject) DeepCopyInto(out *ArtifactOfProject) { *out = *in @@ -2912,83 +2853,6 @@ func (in *SBOMSPDXv2p3Status) DeepCopy() *SBOMSPDXv2p3Status { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SBOMSummary) DeepCopyInto(out *SBOMSummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec - out.Status = in.Status - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SBOMSummary. -func (in *SBOMSummary) DeepCopy() *SBOMSummary { - if in == nil { - return nil - } - out := new(SBOMSummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SBOMSummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SBOMSummaryList) DeepCopyInto(out *SBOMSummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]SBOMSummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SBOMSummaryList. -func (in *SBOMSummaryList) DeepCopy() *SBOMSummaryList { - if in == nil { - return nil - } - out := new(SBOMSummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SBOMSummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SBOMSummarySpec) DeepCopyInto(out *SBOMSummarySpec) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SBOMSummarySpec. -func (in *SBOMSummarySpec) DeepCopy() *SBOMSummarySpec { - if in == nil { - return nil - } - out := new(SBOMSummarySpec) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SBOMSyft) DeepCopyInto(out *SBOMSyft) { *out = *in @@ -3918,85 +3782,6 @@ func (in *VulnerabilityManifestStatus) DeepCopy() *VulnerabilityManifestStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilityManifestSummary) DeepCopyInto(out *VulnerabilityManifestSummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec - out.Status = in.Status - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilityManifestSummary. -func (in *VulnerabilityManifestSummary) DeepCopy() *VulnerabilityManifestSummary { - if in == nil { - return nil - } - out := new(VulnerabilityManifestSummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilityManifestSummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilityManifestSummaryList) DeepCopyInto(out *VulnerabilityManifestSummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]VulnerabilityManifestSummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilityManifestSummaryList. -func (in *VulnerabilityManifestSummaryList) DeepCopy() *VulnerabilityManifestSummaryList { - if in == nil { - return nil - } - out := new(VulnerabilityManifestSummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilityManifestSummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilityManifestSummarySpec) DeepCopyInto(out *VulnerabilityManifestSummarySpec) { - *out = *in - out.Severities = in.Severities - out.Vulnerabilities = in.Vulnerabilities - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilityManifestSummarySpec. -func (in *VulnerabilityManifestSummarySpec) DeepCopy() *VulnerabilityManifestSummarySpec { - if in == nil { - return nil - } - out := new(VulnerabilityManifestSummarySpec) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VulnerabilityManifestToolMeta) DeepCopyInto(out *VulnerabilityManifestToolMeta) { *out = *in @@ -4041,105 +3826,6 @@ func (in *VulnerabilityMetadata) DeepCopy() *VulnerabilityMetadata { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummary) DeepCopyInto(out *VulnerabilitySummary) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - out.Status = in.Status - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummary. -func (in *VulnerabilitySummary) DeepCopy() *VulnerabilitySummary { - if in == nil { - return nil - } - out := new(VulnerabilitySummary) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilitySummary) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummaryList) DeepCopyInto(out *VulnerabilitySummaryList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]VulnerabilitySummary, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummaryList. -func (in *VulnerabilitySummaryList) DeepCopy() *VulnerabilitySummaryList { - if in == nil { - return nil - } - out := new(VulnerabilitySummaryList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *VulnerabilitySummaryList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummarySpec) DeepCopyInto(out *VulnerabilitySummarySpec) { - *out = *in - out.Severities = in.Severities - if in.WorkloadVulnerabilitiesObj != nil { - in, out := &in.WorkloadVulnerabilitiesObj, &out.WorkloadVulnerabilitiesObj - *out = make([]VulnerabilitiesObjScope, len(*in)) - copy(*out, *in) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummarySpec. -func (in *VulnerabilitySummarySpec) DeepCopy() *VulnerabilitySummarySpec { - if in == nil { - return nil - } - out := new(VulnerabilitySummarySpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VulnerabilitySummaryStatus) DeepCopyInto(out *VulnerabilitySummaryStatus) { - *out = *in - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VulnerabilitySummaryStatus. -func (in *VulnerabilitySummaryStatus) DeepCopy() *VulnerabilitySummaryStatus { - if in == nil { - return nil - } - out := new(VulnerabilitySummaryStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *WorkloadConfigurationScan) DeepCopyInto(out *WorkloadConfigurationScan) { *out = *in diff --git a/pkg/apiserver/apiserver.go b/pkg/apiserver/apiserver.go index bdb2d984c..731b23bed 100644 --- a/pkg/apiserver/apiserver.go +++ b/pkg/apiserver/apiserver.go @@ -20,7 +20,6 @@ import ( "github.com/kubescape/storage/pkg/registry/file" "github.com/kubescape/storage/pkg/registry/softwarecomposition/applicationactivity" "github.com/kubescape/storage/pkg/registry/softwarecomposition/applicationprofile" - "github.com/kubescape/storage/pkg/registry/softwarecomposition/applicationprofilesummary" "github.com/kubescape/storage/pkg/registry/softwarecomposition/generatednetworkpolicy" knownserver "github.com/kubescape/storage/pkg/registry/softwarecomposition/knownservers" "github.com/kubescape/storage/pkg/registry/softwarecomposition/networkneighbors" @@ -39,15 +38,10 @@ import ( "github.com/kubescape/storage/pkg/apis/softwarecomposition" "github.com/kubescape/storage/pkg/apis/softwarecomposition/install" sbomregistry "github.com/kubescape/storage/pkg/registry" - "github.com/kubescape/storage/pkg/registry/softwarecomposition/configurationscansummary" sbomspdxv2p3storage "github.com/kubescape/storage/pkg/registry/softwarecomposition/sbomspdxv2p3" sbomspdxv2p3filteredstorage "github.com/kubescape/storage/pkg/registry/softwarecomposition/sbomspdxv2p3filtered" - sbomsumstorage "github.com/kubescape/storage/pkg/registry/softwarecomposition/sbomsummary" vmstorage "github.com/kubescape/storage/pkg/registry/softwarecomposition/vulnerabilitymanifest" - vmsumstorage "github.com/kubescape/storage/pkg/registry/softwarecomposition/vulnerabilitymanifestsummary" - vsumstorage "github.com/kubescape/storage/pkg/registry/softwarecomposition/vulnerabilitysummary" wcsstorage "github.com/kubescape/storage/pkg/registry/softwarecomposition/workloadconfigurationscans" - wcssumstorage "github.com/kubescape/storage/pkg/registry/softwarecomposition/workloadconfigurationscansummary" "github.com/spf13/afero" ) @@ -150,27 +144,18 @@ func (c completedConfig) New() (*WardleServer, error) { storageImpl := file.NewStorageImpl(osFs, file.DefaultStorageRoot) applicationProfileStorageImpl := file.NewStorageImplWithCollector(osFs, file.DefaultStorageRoot, &file.ApplicationProfileProcessor{}) - configScanStorageImpl := file.NewConfigurationScanSummaryStorage(&storageImpl) - vulnerabilitySummaryStorage := file.NewVulnerabilitySummaryStorage(&storageImpl) generatedNetworkPolicyStorage := file.NewGeneratedNetworkPolicyStorage(&storageImpl) v1beta1storage := map[string]rest.Storage{} v1beta1storage["sbomspdxv2p3s"] = sbomregistry.RESTInPeace(sbomspdxv2p3storage.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) v1beta1storage["sbomspdxv2p3filtereds"] = sbomregistry.RESTInPeace(sbomspdxv2p3filteredstorage.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) - v1beta1storage["sbomsummaries"] = sbomregistry.RESTInPeace(sbomsumstorage.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) v1beta1storage["vulnerabilitymanifests"] = sbomregistry.RESTInPeace(vmstorage.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) - v1beta1storage["vulnerabilitymanifestsummaries"] = sbomregistry.RESTInPeace(vmsumstorage.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) v1beta1storage["workloadconfigurationscans"] = sbomregistry.RESTInPeace(wcsstorage.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) - v1beta1storage["workloadconfigurationscansummaries"] = sbomregistry.RESTInPeace(wcssumstorage.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) - - v1beta1storage["configurationscansummaries"] = sbomregistry.RESTInPeace(configurationscansummary.NewREST(Scheme, configScanStorageImpl, c.GenericConfig.RESTOptionsGetter)) - v1beta1storage["vulnerabilitysummaries"] = sbomregistry.RESTInPeace(vsumstorage.NewREST(Scheme, vulnerabilitySummaryStorage, c.GenericConfig.RESTOptionsGetter)) v1beta1storage["applicationprofiles"] = sbomregistry.RESTInPeace(applicationprofile.NewREST(Scheme, applicationProfileStorageImpl, c.GenericConfig.RESTOptionsGetter)) - v1beta1storage["applicationprofilesummaries"] = sbomregistry.RESTInPeace(applicationprofilesummary.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) v1beta1storage["applicationactivities"] = sbomregistry.RESTInPeace(applicationactivity.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) v1beta1storage["networkneighborses"] = sbomregistry.RESTInPeace(networkneighbors.NewREST(Scheme, storageImpl, c.GenericConfig.RESTOptionsGetter)) diff --git a/pkg/cleanup/cleanup.go b/pkg/cleanup/cleanup.go index d8da957bb..931da8628 100644 --- a/pkg/cleanup/cleanup.go +++ b/pkg/cleanup/cleanup.go @@ -27,7 +27,7 @@ var resourceKindToHandler = map[string]TypeCleanupHandlerFunc{ // vulnerabilitysummaries is virtual "applicationactivities": deleteByTemplateHashOrWlid, "applicationprofiles": deleteByTemplateHashOrWlid, - "applicationprofilesummaries": deleteByTemplateHashOrWlid, + "applicationprofilesummaries": deleteDeprecated, "networkneighborses": deleteByWlid, "openvulnerabilityexchangecontainers": deleteByImageId, "sbomspdxv2p3filtereds": deleteDeprecated, @@ -36,11 +36,11 @@ var resourceKindToHandler = map[string]TypeCleanupHandlerFunc{ "sbomspdxv2p3": deleteDeprecated, "sbomsyftfiltered": deleteByInstanceId, "sbomsyft": deleteByImageId, - "sbomsummaries": deleteByImageId, + "sbomsummaries": deleteDeprecated, "vulnerabilitymanifests": deleteByImageIdOrInstanceId, - "vulnerabilitymanifestsummaries": deleteByWlidAndContainer, + "vulnerabilitymanifestsummaries": deleteDeprecated, "workloadconfigurationscans": deleteByWlid, - "workloadconfigurationscansummaries": deleteByWlid, + "workloadconfigurationscansummaries": deleteDeprecated, } type ResourcesCleanupHandler struct { @@ -192,9 +192,10 @@ func unquote(value []byte) string { } // delete deprecated resources -func deleteDeprecated(_, _ string, metadata *metav1.ObjectMeta, resourceMaps ResourceMaps) bool { +func deleteDeprecated(_, _ string, _ *metav1.ObjectMeta, _ ResourceMaps) bool { return true } + func deleteByInstanceId(_, _ string, metadata *metav1.ObjectMeta, resourceMaps ResourceMaps) bool { instanceId, ok := metadata.Annotations[helpersv1.InstanceIDMetadataKey] return !ok || !resourceMaps.RunningInstanceIds.Contains(instanceId) diff --git a/pkg/cleanup/cleanup_test.go b/pkg/cleanup/cleanup_test.go index b9e79c7fc..a82525a61 100644 --- a/pkg/cleanup/cleanup_test.go +++ b/pkg/cleanup/cleanup_test.go @@ -47,8 +47,26 @@ func TestCleanupTask(t *testing.T) { "/data/spdx.softwarecomposition.kubescape.io/applicationactivities/gadget/gadget-daemonset-gadget-0d7c-fd3c.m", "/data/spdx.softwarecomposition.kubescape.io/applicationprofiles/gadget/gadget-daemonset-gadget-0d7c-fd3c.j", "/data/spdx.softwarecomposition.kubescape.io/applicationprofiles/gadget/gadget-daemonset-gadget-0d7c-fd3c.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/default/default-replicaset-nginx-748c667d99-cf81-0278.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/default/default-replicaset-nginx-748c667d99-cf81-0278.m", "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/gadget/gadget-daemonset-gadget-0d7c-fd3c.j", "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/gadget/gadget-daemonset-gadget-0d7c-fd3c.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-gateway-798c4c5f44-b8b1-1308.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-gateway-798c4c5f44-b8b1-1308.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-kubescape-6cff94799d-8110-156a.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-kubescape-6cff94799d-8110-156a.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-operator-575cf58d76-4ad4-39ec.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-operator-575cf58d76-4ad4-39ec.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-otel-collector-54648b7dbb-a539-eb0b.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-otel-collector-54648b7dbb-a539-eb0b.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-storage-8f57967d7-d272-b1f5.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-storage-8f57967d7-d272-b1f5.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-synchronizer-79b57d5d67-6912-e9a6.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-replicaset-synchronizer-79b57d5d67-6912-e9a6.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-statefulset-kollector-c1be-77d8.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/kubescape/kubescape-statefulset-kollector-c1be-77d8.m", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/local-path-storage/local-path-storage-replicaset-local-path-provisioner-75f5b54ffd-763c-36ba.j", + "/data/spdx.softwarecomposition.kubescape.io/applicationprofilesummaries/local-path-storage/local-path-storage-replicaset-local-path-provisioner-75f5b54ffd-763c-36ba.m", "/data/spdx.softwarecomposition.kubescape.io/networkneighborses/default/deployment-redis.j", "/data/spdx.softwarecomposition.kubescape.io/networkneighborses/default/deployment-redis.m", "/data/spdx.softwarecomposition.kubescape.io/networkneighborses/gadget/daemonset-gadget.j", @@ -115,18 +133,668 @@ func TestCleanupTask(t *testing.T) { "/data/spdx.softwarecomposition.kubescape.io/sbomspdxv2p3s/kubescape/quay.io-kubescape-node-agent-v0.1.121-8d291a.m", "/data/spdx.softwarecomposition.kubescape.io/sbomspdxv2p3s/kubescape/quay.io-kubescape-operator-v0.1.67-dc38da.j", "/data/spdx.softwarecomposition.kubescape.io/sbomspdxv2p3s/kubescape/quay.io-kubescape-operator-v0.1.67-dc38da.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/docker.io-qorbani-golang-hello-world-sha256-a14f3fbf3d5d1c4a000ab2c0c6d5e4633bdb96286a0130fa5b2c5967b934c31f-34c31f.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/docker.io-qorbani-golang-hello-world-sha256-a14f3fbf3d5d1c4a000ab2c0c6d5e4633bdb96286a0130fa5b2c5967b934c31f-34c31f.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-addon-resizer-1.8.18-gke.0-sha256-73f83a267713c9ec9bdb5564be404567b8d446813d39c74a5eff2fdbcc91ebf2-91ebf2.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-addon-resizer-1.8.18-gke.0-sha256-73f83a267713c9ec9bdb5564be404567b8d446813d39c74a5eff2fdbcc91ebf2-91ebf2.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-cluster-proportional-autoscaler-1.8.4-gke.1-a146bc.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-cluster-proportional-autoscaler-1.8.4-gke.1-a146bc.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-cluster-proportional-autoscaler-1.8.4-gke.1-sha256-0f232ba18b63363e33f205d0242ef98324fb388434f8598c2fc8e967dca146bc-a146bc.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-cluster-proportional-autoscaler-1.8.4-gke.1-sha256-0f232ba18b63363e33f205d0242ef98324fb388434f8598c2fc8e967dca146bc-a146bc.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-csi-node-driver-registrar-v2.8.0-gke.4-sha256-715a1581ce158fbf95f7ca351e25c7d6a0a1599e46e270e72238cc8a0aef1c43-ef1c43.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-csi-node-driver-registrar-v2.8.0-gke.4-sha256-715a1581ce158fbf95f7ca351e25c7d6a0a1599e46e270e72238cc8a0aef1c43-ef1c43.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-event-exporter-sha256-457dda454e42c2a7ccad69fe0af9cc3f005d734b24ad14f17ba88f74ba8b972e-8b972e.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-event-exporter-sha256-457dda454e42c2a7ccad69fe0af9cc3f005d734b24ad14f17ba88f74ba8b972e-8b972e.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-fluent-bit-gke-exporter-sha256-93014f5d546376de76c21f48bf30a6d1df3db4a413a1c3009c59fe46fa83eee8-83eee8.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-fluent-bit-gke-exporter-sha256-93014f5d546376de76c21f48bf30a6d1df3db4a413a1c3009c59fe46fa83eee8-83eee8.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-fluent-bit-sha256-c03635e4c828b9c6847df9780d6684b45ff0a70b1ae8c7e7271283cce472085e-72085e.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-fluent-bit-sha256-c03635e4c828b9c6847df9780d6684b45ff0a70b1ae8c7e7271283cce472085e-72085e.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-gcp-compute-persistent-disk-csi-driver-v1.10.7-gke.0-sha256-a3e4af6b6f6999427dc7b02e813aa1ca5f26e73357c92a77b8fe774ddf431a26-431a26.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-gcp-compute-persistent-disk-csi-driver-v1.10.7-gke.0-sha256-a3e4af6b6f6999427dc7b02e813aa1ca5f26e73357c92a77b8fe774ddf431a26-431a26.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-gke-metrics-agent-1.10.0-gke.0-sha256-0e56abb7da3b2419f6ef300a402c29f9e2810ba135db04621518581ffa48aae9-48aae9.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-gke-metrics-agent-1.10.0-gke.0-sha256-0e56abb7da3b2419f6ef300a402c29f9e2810ba135db04621518581ffa48aae9-48aae9.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-ingress-gce-404-server-with-metrics-v1.23.1-sha256-cf75158c683853c01e3af86209582cc2eaf102f5c0bc767ed0226e0fbdacde57-acde57.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-ingress-gce-404-server-with-metrics-v1.23.1-sha256-cf75158c683853c01e3af86209582cc2eaf102f5c0bc767ed0226e0fbdacde57-acde57.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-k8s-dns-dnsmasq-nanny-1.22.22-gke.0-sha256-d7c0300eee5fb4998d3b60d92e5c07c9c4be2f489e04bdfa1950f2e23eb59bcc-b59bcc.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-k8s-dns-dnsmasq-nanny-1.22.22-gke.0-sha256-d7c0300eee5fb4998d3b60d92e5c07c9c4be2f489e04bdfa1950f2e23eb59bcc-b59bcc.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-k8s-dns-kube-dns-1.22.22-gke.0-sha256-76dcedf9b475902042f9ee22609e475fca96e29880315e9530a694bdd924897e-24897e.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-k8s-dns-kube-dns-1.22.22-gke.0-sha256-76dcedf9b475902042f9ee22609e475fca96e29880315e9530a694bdd924897e-24897e.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-k8s-dns-sidecar-1.22.22-gke.0-sha256-fd7dc24c8331bbd9d0178f65cfcfe7ef42c003b7ee25b8df595d80d0f237486a-37486a.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-k8s-dns-sidecar-1.22.22-gke.0-sha256-fd7dc24c8331bbd9d0178f65cfcfe7ef42c003b7ee25b8df595d80d0f237486a-37486a.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-metrics-server-v0.5.2-gke.3-sha256-1d20492ca374191e5b6ff4b7712b62b41ab75ce226424974356dc266e6e99e83-e99e83.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-metrics-server-v0.5.2-gke.3-sha256-1d20492ca374191e5b6ff4b7712b62b41ab75ce226424974356dc266e6e99e83-e99e83.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-alertmanager-v0.25.1-gmp.0-gke.1-sha256-927b106154a88f2c26fe68bd00fe96605564e4c654c71fa14b69b3d359fb8625-fb8625.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-alertmanager-v0.25.1-gmp.0-gke.1-sha256-927b106154a88f2c26fe68bd00fe96605564e4c654c71fa14b69b3d359fb8625-fb8625.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-config-reloader-v0.7.4-gke.0-sha256-7c290f7ac85228c341d79a05f1cbd75c309d6d0573c4ec32e113dc749e8076d9-8076d9.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-config-reloader-v0.7.4-gke.0-sha256-7c290f7ac85228c341d79a05f1cbd75c309d6d0573c4ec32e113dc749e8076d9-8076d9.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-operator-v0.7.4-gke.0-sha256-980b06655aca5de061fd422a6799ba9063861255851613ba612d668a86b92181-b92181.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-operator-v0.7.4-gke.0-sha256-980b06655aca5de061fd422a6799ba9063861255851613ba612d668a86b92181-b92181.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-prometheus-v2.41.0-gmp.4-gke.1-sha256-7d833aa877ee7e5fdc2df17005be8615af721ac3d01d7e257a3ae98d06516797-516797.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-prometheus-v2.41.0-gmp.4-gke.1-sha256-7d833aa877ee7e5fdc2df17005be8615af721ac3d01d7e257a3ae98d06516797-516797.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-rule-evaluator-v0.7.4-gke.0-sha256-6c7f0bb9d92ccdfa9a9f694c8f02ea200797c3c69d104a508e3faa62b70ad574-0ad574.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-engine-rule-evaluator-v0.7.4-gke.0-sha256-6c7f0bb9d92ccdfa9a9f694c8f02ea200797c3c69d104a508e3faa62b70ad574-0ad574.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-to-sd-sha256-8cd7e6b460418e25f80a4a0e8aa865bd5b716ea8750bfea4f6fc163c9b1c5dbb-1c5dbb.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-to-sd-sha256-8cd7e6b460418e25f80a4a0e8aa865bd5b716ea8750bfea4f6fc163c9b1c5dbb-1c5dbb.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-to-sd-v0.11.5-gke.0-sha256-654791db0d4d17c5847221fd3ace5c23ea1bb20c5976db9fda0853fd6000ab65-00ab65.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-prometheus-to-sd-v0.11.5-gke.0-sha256-654791db0d4d17c5847221fd3ace5c23ea1bb20c5976db9fda0853fd6000ab65-00ab65.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-proxy-agent-v0.1.3-gke.0-sha256-58325bb529432e3ea2ddfae7c35f9b86b2511d92ba5f8b1afa015ff904824f76-824f76.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/gke.gcr.io-proxy-agent-v0.1.3-gke.0-sha256-58325bb529432e3ea2ddfae7c35f9b86b2511d92ba5f8b1afa015ff904824f76-824f76.m", "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-amirm-armo-storage-v0.0.1-98086e.j", "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-amirm-armo-storage-v0.0.1-98086e.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-kubescape-v3.0.2-prerelease-66a0ac.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-kubescape-v3.0.2-prerelease-66a0ac.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-kubevuln-v0.2.133-bc6d6c.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-kubevuln-v0.2.133-bc6d6c.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-node-agent-v0.1.121-8d291a.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-node-agent-v0.1.121-8d291a.m", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-operator-v0.1.67-dc38da.j", + "/data/spdx.softwarecomposition.kubescape.io/sbomsummaries/kubescape/quay.io-kubescape-operator-v0.1.67-dc38da.m", "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifests/kubescape/kubescape-replicaset-operator-5b99d66db7-3195-f368.j", "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifests/kubescape/kubescape-replicaset-operator-5b99d66db7-3195-f368.m", "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifests/kubescape/quay.io-amirm-armo-storage-v0.0.1-98086e.j", "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifests/kubescape/quay.io-amirm-armo-storage-v0.0.1-98086e.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/daemonset-collector-prometheus.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/daemonset-collector-prometheus.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/deployment-gmp-operator-operator.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/deployment-gmp-operator-operator.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/deployment-rule-evaluator-evaluator.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/deployment-rule-evaluator-evaluator.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/statefulset-alertmanager-alertmanager.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/statefulset-alertmanager-alertmanager.m", "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/statefulset-alertmanager-config-reloader.j", "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/gmp-system/statefulset-alertmanager-config-reloader.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-fluentbit-gke-fluentbit-gke.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-fluentbit-gke-fluentbit-gke.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-fluentbit-gke-fluentbit.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-fluentbit-gke-fluentbit.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-gke-metrics-agent-gke-metrics-agent.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-gke-metrics-agent-gke-metrics-agent.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-pdcsi-node-csi-driver-registrar.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-pdcsi-node-csi-driver-registrar.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-pdcsi-node-gce-pd-driver.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/daemonset-pdcsi-node-gce-pd-driver.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-event-exporter-gke-event-exporter.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-event-exporter-gke-event-exporter.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-event-exporter-gke-prometheus-to-sd-exporter.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-event-exporter-gke-prometheus-to-sd-exporter.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-konnectivity-agent-autoscaler-autoscaler.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-konnectivity-agent-autoscaler-autoscaler.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-konnectivity-agent-konnectivity-agent.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-konnectivity-agent-konnectivity-agent.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-autoscaler-autoscaler.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-autoscaler-autoscaler.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-dnsmasq.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-dnsmasq.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-kubedns.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-kubedns.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-prometheus-to-sd.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-prometheus-to-sd.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-sidecar.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-kube-dns-sidecar.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-l7-default-backend-default-http-backend.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-l7-default-backend-default-http-backend.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-metrics-server-v0.5.2-metrics-server-nanny.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-metrics-server-v0.5.2-metrics-server-nanny.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-metrics-server-v0.5.2-metrics-server.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kube-system/deployment-metrics-server-v0.5.2-metrics-server.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/daemonset-node-agent-node-agent.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/daemonset-node-agent-node-agent.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-kubescape-kubescape.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-kubescape-kubescape.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-kubevuln-kubevuln.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-kubevuln-kubevuln.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-operator-operator.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-operator-operator.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-storage-apiserver.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/kubescape/deployment-storage-apiserver.m", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/systest-ns-foso/deployment-golang-golang.j", + "/data/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/systest-ns-foso/deployment-golang-golang.m", "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscans/kubescape/apps-v1-daemonset-kubescape-host-scanner-c93b-a749.j", "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscans/kubescape/apps-v1-daemonset-kubescape-host-scanner-c93b-a749.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/discovery.k8s.io-v1-endpointslice-default-kubernetes-ff80-7666.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/discovery.k8s.io-v1-endpointslice-default-kubernetes-ff80-7666.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-configmap-default-kube-root-ca.crt-7ca1-9f8c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-configmap-default-kube-root-ca.crt-7ca1-9f8c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-endpoints-default-kubernetes-afbe-9288.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-endpoints-default-kubernetes-afbe-9288.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-service-default-kubernetes-3530-3de2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-service-default-kubernetes-3530-3de2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-serviceaccount-default-default-faf0-c226.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/default/v1-serviceaccount-default-default-faf0-c226.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-node-lease/coordination.k8s.io-v1-lease-kube-node-lease-kind-control-plane-957c-212c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-node-lease/coordination.k8s.io-v1-lease-kube-node-lease-kind-control-plane-957c-212c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-node-lease/v1-configmap-kube-node-lease-kube-root-ca.crt-c41b-57f3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-node-lease/v1-configmap-kube-node-lease-kube-root-ca.crt-c41b-57f3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-node-lease/v1-serviceaccount-kube-node-lease-default-9952-9192.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-node-lease/v1-serviceaccount-kube-node-lease-default-9952-9192.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-role-kube-public-kubeadm-bootstrap-signer-clusterinfo-6b5d-ef76.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-role-kube-public-kubeadm-bootstrap-signer-clusterinfo-6b5d-ef76.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-role-kube-public-system-controller-bootstrap-signer-bd11-781f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-role-kube-public-system-controller-bootstrap-signer-bd11-781f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-rolebinding-kube-public-kubeadm-bootstrap-signer-clusterinfo-2652-bdba.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-rolebinding-kube-public-kubeadm-bootstrap-signer-clusterinfo-2652-bdba.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-rolebinding-kube-public-system-controller-bootstrap-signer-9386-f34d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/rbac.authorization.k8s.io-v1-rolebinding-kube-public-system-controller-bootstrap-signer-9386-f34d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/v1-configmap-kube-public-kube-root-ca.crt-80c1-ab11.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-public/v1-configmap-kube-public-kube-root-ca.crt-80c1-ab11.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/apps-v1-daemonset-kube-system-kindnet-2266-1ce2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/apps-v1-daemonset-kube-system-kindnet-2266-1ce2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/apps-v1-daemonset-kube-system-kube-proxy-9712-533a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/apps-v1-daemonset-kube-system-kube-proxy-9712-533a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/apps-v1-deployment-kube-system-coredns-52d6-8e4f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/apps-v1-deployment-kube-system-coredns-52d6-8e4f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/coordination.k8s.io-v1-lease-kube-system-apiserver-c7uylvfxlbqccnk6myfkwetzze-a466-a537.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/coordination.k8s.io-v1-lease-kube-system-apiserver-c7uylvfxlbqccnk6myfkwetzze-a466-a537.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/coordination.k8s.io-v1-lease-kube-system-kube-controller-manager-feff-bb3a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/coordination.k8s.io-v1-lease-kube-system-kube-controller-manager-feff-bb3a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/coordination.k8s.io-v1-lease-kube-system-kube-scheduler-8cc1-f786.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/coordination.k8s.io-v1-lease-kube-system-kube-scheduler-8cc1-f786.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/deployment-kube-system-coredns-b33a-321f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/deployment-kube-system-coredns-b33a-321f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/discovery.k8s.io-v1-endpointslice-kube-system-kube-dns-jgjc6-ee1e-e24f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/discovery.k8s.io-v1-endpointslice-kube-system-kube-dns-jgjc6-ee1e-e24f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-3349-0c0d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-3349-0c0d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-kube-proxy-9580-efd0.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-kube-proxy-9580-efd0.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-kubeadm-nodes-kubeadm-config-f1f7-61d2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-kubeadm-nodes-kubeadm-config-f1f7-61d2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-controller-manager-c04f-d03e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-controller-manager-c04f-d03e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-scheduler-caaa-9017.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-scheduler-caaa-9017.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system-controller-bootstrap-signer-c4d8-4e0a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system-controller-bootstrap-signer-c4d8-4e0a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system-controller-cloud-provider-b070-cb47.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system-controller-cloud-provider-b070-cb47.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system-controller-token-cleaner-fa16-d64b.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-role-kube-system-system-controller-token-cleaner-fa16-d64b.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-kube-proxy-6096-6bb0.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-kube-proxy-6096-6bb0.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--extension-apiserver-authentication-reader-5fe9-ee21.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--extension-apiserver-authentication-reader-5fe9-ee21.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-controller-manager-8e84-d890.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-controller-manager-8e84-d890.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-scheduler-0f7c-1dec.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-scheduler-0f7c-1dec.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-bootstrap-signer-aec0-e37e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-bootstrap-signer-aec0-e37e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-cloud-provider-7751-46f6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-cloud-provider-7751-46f6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-token-cleaner-406c-139d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-token-cleaner-406c-139d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-coredns-bed8-d551.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-coredns-bed8-d551.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-extension-apiserver-authentication-d867-8231.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-extension-apiserver-authentication-d867-8231.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kube-apiserver-legacy-service-account-token-tracking-7a36-cdb6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kube-apiserver-legacy-service-account-token-tracking-7a36-cdb6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kube-proxy-6c8a-2c93.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kube-proxy-6c8a-2c93.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kube-root-ca.crt-0799-d05a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kube-root-ca.crt-0799-d05a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kubeadm-config-c33c-0af3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kubeadm-config-c33c-0af3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kubelet-config-8225-f730.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-configmap-kube-system-kubelet-config-8225-f730.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-endpoints-kube-system-kube-dns-18b9-04e1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-endpoints-kube-system-kube-dns-18b9-04e1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-pod-kube-system-etcd-kind-control-plane-d02e-684e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-pod-kube-system-etcd-kind-control-plane-d02e-684e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-pod-kube-system-kube-apiserver-kind-control-plane-4e39-06d3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-pod-kube-system-kube-apiserver-kind-control-plane-4e39-06d3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-pod-kube-system-kube-scheduler-kind-control-plane-48e8-20de.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-pod-kube-system-kube-scheduler-kind-control-plane-48e8-20de.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-secret-kube-system-bootstrap-token-abcdef-8548-1e76.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-secret-kube-system-bootstrap-token-abcdef-8548-1e76.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-service-kube-system-kube-dns-9640-6d5f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-service-kube-system-kube-dns-9640-6d5f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-attachdetach-controller-34df-6ab8.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-attachdetach-controller-34df-6ab8.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-bootstrap-signer-425a-b29c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-bootstrap-signer-425a-b29c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-certificate-controller-6dd5-ecb7.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-certificate-controller-6dd5-ecb7.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-clusterrole-aggregation-controller-5fcd-b673.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-clusterrole-aggregation-controller-5fcd-b673.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-coredns-2be6-83fa.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-coredns-2be6-83fa.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-cronjob-controller-0cce-6983.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-cronjob-controller-0cce-6983.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-daemon-set-controller-54e5-019c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-daemon-set-controller-54e5-019c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-default-9822-6946.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-default-9822-6946.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-deployment-controller-bb92-43ec.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-deployment-controller-bb92-43ec.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-disruption-controller-66d3-7a08.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-disruption-controller-66d3-7a08.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-endpoint-controller-d530-6055.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-endpoint-controller-d530-6055.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-endpointslice-controller-83c1-31fe.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-endpointslice-controller-83c1-31fe.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-endpointslicemirroring-controller-cff5-3af4.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-endpointslicemirroring-controller-cff5-3af4.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-ephemeral-volume-controller-bdd2-e25e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-ephemeral-volume-controller-bdd2-e25e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-expand-controller-4aab-5d3a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-expand-controller-4aab-5d3a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-generic-garbage-collector-ab4e-6241.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-generic-garbage-collector-ab4e-6241.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-horizontal-pod-autoscaler-c780-7e8d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-horizontal-pod-autoscaler-c780-7e8d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-job-controller-a1c6-f204.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-job-controller-a1c6-f204.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-kindnet-0b4e-73bf.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-kindnet-0b4e-73bf.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-kube-proxy-02cb-ce1c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-kube-proxy-02cb-ce1c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-namespace-controller-b8c9-614b.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-namespace-controller-b8c9-614b.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-node-controller-1544-b01d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-node-controller-1544-b01d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-persistent-volume-binder-054c-7f06.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-persistent-volume-binder-054c-7f06.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-pod-garbage-collector-1153-e673.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-pod-garbage-collector-1153-e673.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-pv-protection-controller-6bdd-c2a3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-pv-protection-controller-6bdd-c2a3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-pvc-protection-controller-c15e-9840.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-pvc-protection-controller-c15e-9840.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-replicaset-controller-7ac8-3ef1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-replicaset-controller-7ac8-3ef1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-replication-controller-7a89-0132.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-replication-controller-7a89-0132.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-resourcequota-controller-f744-b812.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-resourcequota-controller-f744-b812.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-root-ca-cert-publisher-4171-a7ca.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-root-ca-cert-publisher-4171-a7ca.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-service-account-controller-33e5-7d43.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-service-account-controller-33e5-7d43.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-service-controller-1101-f5b7.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-service-controller-1101-f5b7.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-statefulset-controller-a290-0675.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-statefulset-controller-a290-0675.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-token-cleaner-5c30-9410.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-token-cleaner-5c30-9410.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-ttl-after-finished-controller-8bdb-566d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-ttl-after-finished-controller-8bdb-566d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-ttl-controller-f6a0-99c7.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kube-system/v1-serviceaccount-kube-system-ttl-controller-f6a0-99c7.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apiregistration.k8s.io-v1-apiservice--v1beta1.spdx.softwarecomposition.kubescape.io-d714-7242.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apiregistration.k8s.io-v1-apiservice--v1beta1.spdx.softwarecomposition.kubescape.io-d714-7242.m", "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-daemonset-kubescape-host-scanner-c93b-a749.j", "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-daemonset-kubescape-host-scanner-c93b-a749.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-daemonset-kubescape-node-agent-1358-b429.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-daemonset-kubescape-node-agent-1358-b429.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-gateway-8e0e-df22.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-gateway-8e0e-df22.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-kubescape-f937-e6dd.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-kubescape-f937-e6dd.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-kubevuln-0c4f-e39a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-kubevuln-0c4f-e39a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-operator-1e3d-e288.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-operator-1e3d-e288.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-otel-collector-4054-485c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-otel-collector-4054-485c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-storage-a2c6-7402.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-storage-a2c6-7402.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-synchronizer-7146-ecf3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-deployment-kubescape-synchronizer-7146-ecf3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-statefulset-kubescape-kollector-4a56-6fc2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/apps-v1-statefulset-kubescape-kollector-4a56-6fc2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/batch-v1-cronjob-kubescape-kubescape-scheduler-4db5-9dc4.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/batch-v1-cronjob-kubescape-kubescape-scheduler-4db5-9dc4.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/batch-v1-cronjob-kubescape-kubevuln-scheduler-a31b-3216.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/batch-v1-cronjob-kubescape-kubevuln-scheduler-a31b-3216.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-gateway-49n52-666c-4572.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-gateway-49n52-666c-4572.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-kubescape-77x49-48cc-1ad1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-kubescape-77x49-48cc-1ad1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-kubevuln-k4p8f-d862-b49a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-kubevuln-k4p8f-d862-b49a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-operator-rl9d7-a901-fe41.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-operator-rl9d7-a901-fe41.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-otel-collector-h8zp5-4543-5310.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-otel-collector-h8zp5-4543-5310.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-storage-bnqlv-13fd-018c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/discovery.k8s.io-v1-endpointslice-kubescape-storage-bnqlv-13fd-018c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-cniinfo--kind-control-plane-9b96-0fcc.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-cniinfo--kind-control-plane-9b96-0fcc.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-controlplaneinfo--kind-control-plane-4c1e-58a1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-controlplaneinfo--kind-control-plane-4c1e-58a1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-kubeletinfo--kind-control-plane-5d3f-7145.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-kubeletinfo--kind-control-plane-5d3f-7145.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-kubeproxyinfo--kind-control-plane-a132-118c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/hostdata.kubescape.cloud-v1beta0-kubeproxyinfo--kind-control-plane-a132-118c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-authenticated-rbac.authorization.k8s.io-v1-clusterrole--system-basic-user-rbac.authorization.k8s.io-v1-clusterrolebinding--system-basic-user-f3be-6b64.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-authenticated-rbac.authorization.k8s.io-v1-clusterrole--system-basic-user-rbac.authorization.k8s.io-v1-clusterrolebinding--system-basic-user-f3be-6b64.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-authenticated-rbac.authorization.k8s.io-v1-clusterrole--system-discovery-rbac.authorization.k8s.io-v1-clusterrolebinding--system-discovery-54bf-a674.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-authenticated-rbac.authorization.k8s.io-v1-clusterrole--system-discovery-rbac.authorization.k8s.io-v1-clusterrolebinding--system-discovery-54bf-a674.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-authenticated-rbac.authorization.k8s.io-v1-clusterrole--system-public-info-viewer-rbac.authorization.k8s.io-v1-clusterrolebinding--system-public-info-viewer-112b-5bce.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-authenticated-rbac.authorization.k8s.io-v1-clusterrole--system-public-info-viewer-rbac.authorization.k8s.io-v1-clusterrolebinding--system-public-info-viewer-112b-5bce.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-bootstrappers-kubeadm-default-node-token-rbac.authorization.k8s.io-v1-clusterrole--kubeadm-get-nodes-rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-get-nodes-9324-17c9.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-bootstrappers-kubeadm-default-node-token-rbac.authorization.k8s.io-v1-clusterrole--kubeadm-get-nodes-rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-get-nodes-9324-17c9.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-bootstrappers-kubeadm-default-node-token-rbac.authorization.k8s.io-v1-clusterrole--system-certificates.k8s.io-certificatesigningrequests-nodeclient-rbac.authorization.k8s.io-v1-clusterrolebinding--kubead-60b2-822c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-bootstrappers-kubeadm-default-node-token-rbac.authorization.k8s.io-v1-clusterrole--system-certificates.k8s.io-certificatesigningrequests-nodeclient-rbac.authorization.k8s.io-v1-clusterrolebinding--kubead-60b2-822c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-bootstrappers-kubeadm-default-node-token-rbac.authorization.k8s.io-v1-role-kube-system-kube-proxy-rbac.authorization.k8s.io-v1-rolebinding-kube-system-kube-proxy-b253-cfd6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-bootstrappers-kubeadm-default-node-token-rbac.authorization.k8s.io-v1-role-kube-system-kube-proxy-rbac.authorization.k8s.io-v1-rolebinding-kube-system-kube-proxy-b253-cfd6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-masters-rbac.authorization.k8s.io-v1-clusterrole--cluster-admin-rbac.authorization.k8s.io-v1-clusterrolebinding--cluster-admin-da7e-cc4f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-masters-rbac.authorization.k8s.io-v1-clusterrole--cluster-admin-rbac.authorization.k8s.io-v1-clusterrolebinding--cluster-admin-da7e-cc4f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-monitoring-rbac.authorization.k8s.io-v1-clusterrole--system-monitoring-rbac.authorization.k8s.io-v1-clusterrolebinding--system-monitoring-03cf-4239.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-monitoring-rbac.authorization.k8s.io-v1-clusterrole--system-monitoring-rbac.authorization.k8s.io-v1-clusterrolebinding--system-monitoring-03cf-4239.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-nodes-rbac.authorization.k8s.io-v1-clusterrole--system-certificates.k8s.io-certificatesigningrequests-selfnodeclient-rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-autoapprove-certificate--58b1-7df1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-nodes-rbac.authorization.k8s.io-v1-clusterrole--system-certificates.k8s.io-certificatesigningrequests-selfnodeclient-rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-autoapprove-certificate--58b1-7df1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-nodes-rbac.authorization.k8s.io-v1-role-kube-system-kubeadm-kubelet-config-rbac.authorization.k8s.io-v1-rolebinding-kube-system-kubeadm-kubelet-config-a6b0-d6ba.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-nodes-rbac.authorization.k8s.io-v1-role-kube-system-kubeadm-kubelet-config-rbac.authorization.k8s.io-v1-rolebinding-kube-system-kubeadm-kubelet-config-a6b0-d6ba.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-nodes-rbac.authorization.k8s.io-v1-role-kube-system-kubeadm-nodes-kubeadm-config-rbac.authorization.k8s.io-v1-rolebinding-kube-system-kubeadm-nodes-kubeadm-config-d2ea-2ff3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-nodes-rbac.authorization.k8s.io-v1-role-kube-system-kubeadm-nodes-kubeadm-config-rbac.authorization.k8s.io-v1-rolebinding-kube-system-kubeadm-nodes-kubeadm-config-d2ea-2ff3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-serviceaccounts-rbac.authorization.k8s.io-v1-clusterrole--system-service-account-issuer-discovery-rbac.authorization.k8s.io-v1-clusterrolebinding--system-service-account-issuer-discovery-b4a3-66fa.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-serviceaccounts-rbac.authorization.k8s.io-v1-clusterrole--system-service-account-issuer-discovery-rbac.authorization.k8s.io-v1-clusterrolebinding--system-service-account-issuer-discovery-b4a3-66fa.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-unauthenticated-rbac.authorization.k8s.io-v1-clusterrole--system-public-info-viewer-rbac.authorization.k8s.io-v1-clusterrolebinding--system-public-info-viewer-5517-ef87.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-group--system-unauthenticated-rbac.authorization.k8s.io-v1-clusterrole--system-public-info-viewer-rbac.authorization.k8s.io-v1-clusterrolebinding--system-public-info-viewer-5517-ef87.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-anonymous-rbac.authorization.k8s.io-v1-role-kube-public-kubeadm-bootstrap-signer-clusterinfo-rbac.authorization.k8s.io-v1-rolebinding-kube-public-kubeadm-bootstrap-signer-clusterinfo-670f-1a8f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-anonymous-rbac.authorization.k8s.io-v1-role-kube-public-kubeadm-bootstrap-signer-clusterinfo-rbac.authorization.k8s.io-v1-rolebinding-kube-public-kubeadm-bootstrap-signer-clusterinfo-670f-1a8f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-controller-manager-rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--extension-apiserver-authenticat-5ce3-67d8.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-controller-manager-rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--extension-apiserver-authenticat-5ce3-67d8.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-controller-manager-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-controller-manager-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-contro-dc78-b0c5.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-controller-manager-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-controller-manager-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-contro-dc78-b0c5.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-proxy-rbac.authorization.k8s.io-v1-clusterrole--system-node-proxier-rbac.authorization.k8s.io-v1-clusterrolebinding--system-node-proxier-a23b-456f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-proxy-rbac.authorization.k8s.io-v1-clusterrole--system-node-proxier-rbac.authorization.k8s.io-v1-clusterrolebinding--system-node-proxier-a23b-456f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-clusterrole--system-kube-scheduler-rbac.authorization.k8s.io-v1-clusterrolebinding--system-kube-scheduler-1d53-aa7c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-clusterrole--system-kube-scheduler-rbac.authorization.k8s.io-v1-clusterrolebinding--system-kube-scheduler-1d53-aa7c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-clusterrole--system-volume-scheduler-rbac.authorization.k8s.io-v1-clusterrolebinding--system-volume-scheduler-4d2b-09f1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-clusterrole--system-volume-scheduler-rbac.authorization.k8s.io-v1-clusterrolebinding--system-volume-scheduler-4d2b-09f1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--extension-apiserver-authentication-reade-5e06-8c80.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--extension-apiserver-authentication-reade-5e06-8c80.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-scheduler-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-scheduler-169f-c8e9.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-user--system-kube-scheduler-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-scheduler-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-scheduler-169f-c8e9.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--cluster-admin-927d-cdab.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--cluster-admin-927d-cdab.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kindnet-d10b-abf5.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kindnet-d10b-abf5.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-get-nodes-d075-ff28.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-get-nodes-d075-ff28.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-kubelet-bootstrap-68a6-3053.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-kubelet-bootstrap-68a6-3053.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-autoapprove-bootstrap-78ea-5412.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-autoapprove-bootstrap-78ea-5412.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-autoapprove-certificate-rotation-12f3-cefa.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-autoapprove-certificate-rotation-12f3-cefa.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-proxier-faeb-888f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubeadm-node-proxier-faeb-888f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubescape-a91b-9ae4.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--kubescape-a91b-9ae4.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--local-path-provisioner-bind-ed1c-7f2a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--local-path-provisioner-bind-ed1c-7f2a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--node-agent-6a29-a56d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--node-agent-6a29-a56d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--operator-c180-303a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--operator-c180-303a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--storage-413b-49c9.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--storage-413b-49c9.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--synchronizer-2bbb-a1cc.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--synchronizer-2bbb-a1cc.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-attachdetach-controller-8293-b4af.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-attachdetach-controller-8293-b4af.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-certificate-controller-8634-cacd.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-certificate-controller-8634-cacd.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-clusterrole-aggregation-controller-58a2-cc17.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-clusterrole-aggregation-controller-58a2-cc17.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-cronjob-controller-d0f7-2a42.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-cronjob-controller-d0f7-2a42.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-daemon-set-controller-164d-a19d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-daemon-set-controller-164d-a19d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-deployment-controller-a2e0-8976.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-deployment-controller-a2e0-8976.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-disruption-controller-a279-6817.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-disruption-controller-a279-6817.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpoint-controller-5d81-ab04.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpoint-controller-5d81-ab04.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpointslice-controller-7810-e06c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpointslice-controller-7810-e06c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ephemeral-volume-controller-6242-40ce.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ephemeral-volume-controller-6242-40ce.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-expand-controller-2277-9a10.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-expand-controller-2277-9a10.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-generic-garbage-collector-c181-b19b.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-generic-garbage-collector-c181-b19b.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-horizontal-pod-autoscaler-312c-b9c7.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-horizontal-pod-autoscaler-312c-b9c7.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-job-controller-3b02-d32c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-job-controller-3b02-d32c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-namespace-controller-3a49-2f82.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-namespace-controller-3a49-2f82.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-persistent-volume-binder-f86a-a64a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-persistent-volume-binder-f86a-a64a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pod-garbage-collector-4e1d-b07b.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pod-garbage-collector-4e1d-b07b.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pvc-protection-controller-b690-cca2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pvc-protection-controller-b690-cca2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replicaset-controller-2895-3cfa.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replicaset-controller-2895-3cfa.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replication-controller-8b41-d7a0.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replication-controller-8b41-d7a0.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-resourcequota-controller-2135-1cc5.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-resourcequota-controller-2135-1cc5.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-root-ca-cert-publisher-6cfb-15a3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-root-ca-cert-publisher-6cfb-15a3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-service-controller-b3b0-29f4.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-service-controller-b3b0-29f4.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-statefulset-controller-db8e-666f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-statefulset-controller-db8e-666f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-after-finished-controller-be73-070e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-after-finished-controller-be73-070e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-controller-5995-1f87.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-controller-5995-1f87.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-coredns-6a60-a527.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-coredns-6a60-a527.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-discovery-5113-ac38.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-discovery-5113-ac38.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-kube-controller-manager-43ea-71b3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-kube-controller-manager-43ea-71b3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-monitoring-e879-81ff.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-monitoring-e879-81ff.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-public-info-viewer-8ec1-4f40.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-public-info-viewer-8ec1-4f40.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-volume-scheduler-195e-13b8.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-clusterrolebinding--system-volume-scheduler-195e-13b8.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-role-kubescape-kubescape-577d-7984.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-role-kubescape-kubescape-577d-7984.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-role-kubescape-operator-260c-b1cd.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-role-kubescape-operator-260c-b1cd.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-rolebinding-kubescape-operator-1f63-37ac.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/rbac.authorization.k8s.io-v1-rolebinding-kubescape-operator-1f63-37ac.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-attachdetach-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-attachdetach-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-attachdetach-controller-462c-b476.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-attachdetach-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-attachdetach-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-attachdetach-controller-462c-b476.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-public-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-public-system-controller-bootstrap-signer-0324-dd48.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-public-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-public-system-controller-bootstrap-signer-0324-dd48.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-public-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-bootstrap-signer-48cf-2128.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-public-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-bootstrap-signer-48cf-2128.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-public-system-controller-bootstrap-signer-a4a2-c65d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-public-system-controller-bootstrap-signer-a4a2-c65d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-bootstrap-signer-cb85-324f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-bootstrap-signer-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-bootstrap-signer-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-bootstrap-signer-cb85-324f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-cloud-provider-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-cloud-provider-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-cloud-provider-a7d8-e8d0.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-cloud-provider-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-cloud-provider-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-cloud-provider-a7d8-e8d0.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-clusterrole-aggregation-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-clusterrole-aggregation-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-clusterrole-aggrega-9852-cb30.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-clusterrole-aggregation-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-clusterrole-aggregation-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-clusterrole-aggrega-9852-cb30.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-coredns-rbac.authorization.k8s.io-v1-clusterrole--system-coredns-rbac.authorization.k8s.io-v1-clusterrolebinding--system-coredns-2dae-e10f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-coredns-rbac.authorization.k8s.io-v1-clusterrole--system-coredns-rbac.authorization.k8s.io-v1-clusterrolebinding--system-coredns-2dae-e10f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-cronjob-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-cronjob-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-cronjob-controller-991d-9420.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-cronjob-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-cronjob-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-cronjob-controller-991d-9420.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-daemon-set-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-daemon-set-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-daemon-set-controller-82a3-1fa5.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-daemon-set-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-daemon-set-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-daemon-set-controller-82a3-1fa5.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-deployment-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-deployment-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-deployment-controller-51ca-d715.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-deployment-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-deployment-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-deployment-controller-51ca-d715.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-disruption-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-disruption-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-disruption-controller-f9da-7174.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-disruption-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-disruption-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-disruption-controller-f9da-7174.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-endpoint-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-endpoint-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpoint-controller-c120-5855.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-endpoint-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-endpoint-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpoint-controller-c120-5855.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-endpointslice-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-endpointslice-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpointslice-controller-91bb-d9f4.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-endpointslice-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-endpointslice-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpointslice-controller-91bb-d9f4.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-endpointslicemirroring-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-endpointslicemirroring-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpointslicemirrorin-5f06-6525.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-endpointslicemirroring-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-endpointslicemirroring-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-endpointslicemirrorin-5f06-6525.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-ephemeral-volume-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-ephemeral-volume-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ephemeral-volume-controller-7d32-7675.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-ephemeral-volume-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-ephemeral-volume-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ephemeral-volume-controller-7d32-7675.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-expand-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-expand-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-expand-controller-e022-82b2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-expand-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-expand-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-expand-controller-e022-82b2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-generic-garbage-collector-rbac.authorization.k8s.io-v1-clusterrole--system-controller-generic-garbage-collector-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-generic-garbage-collector-b5ac-ce7d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-generic-garbage-collector-rbac.authorization.k8s.io-v1-clusterrole--system-controller-generic-garbage-collector-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-generic-garbage-collector-b5ac-ce7d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-horizontal-pod-autoscaler-rbac.authorization.k8s.io-v1-clusterrole--system-controller-horizontal-pod-autoscaler-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-horizontal-pod-autoscaler-e4f2-db3b.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-horizontal-pod-autoscaler-rbac.authorization.k8s.io-v1-clusterrole--system-controller-horizontal-pod-autoscaler-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-horizontal-pod-autoscaler-e4f2-db3b.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kindnet-rbac.authorization.k8s.io-v1-clusterrole--kindnet-rbac.authorization.k8s.io-v1-clusterrolebinding--kindnet-f994-d394.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kindnet-rbac.authorization.k8s.io-v1-clusterrole--kindnet-rbac.authorization.k8s.io-v1-clusterrolebinding--kindnet-f994-d394.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kube-controller-manager-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-controller-manager-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-controller-manager-1446-ce55.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kube-controller-manager-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-controller-manager-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-controller-manager-1446-ce55.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kube-dns-rbac.authorization.k8s.io-v1-clusterrole--system-kube-dns-rbac.authorization.k8s.io-v1-clusterrolebinding--system-kube-dns-d960-0b14.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kube-dns-rbac.authorization.k8s.io-v1-clusterrole--system-kube-dns-rbac.authorization.k8s.io-v1-clusterrolebinding--system-kube-dns-d960-0b14.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kube-scheduler-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-scheduler-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-scheduler-ff4b-6277.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-kube-scheduler-rbac.authorization.k8s.io-v1-role-kube-system-system--leader-locking-kube-scheduler-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system--leader-locking-kube-scheduler-ff4b-6277.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-namespace-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-namespace-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-namespace-controller-53f7-6e5e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-namespace-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-namespace-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-namespace-controller-53f7-6e5e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-persistent-volume-binder-rbac.authorization.k8s.io-v1-clusterrole--system-controller-persistent-volume-binder-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-persistent-volume-binder-177e-eaff.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-persistent-volume-binder-rbac.authorization.k8s.io-v1-clusterrole--system-controller-persistent-volume-binder-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-persistent-volume-binder-177e-eaff.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-pod-garbage-collector-rbac.authorization.k8s.io-v1-clusterrole--system-controller-pod-garbage-collector-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pod-garbage-collector-3e56-9b24.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-pod-garbage-collector-rbac.authorization.k8s.io-v1-clusterrole--system-controller-pod-garbage-collector-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pod-garbage-collector-3e56-9b24.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-pv-protection-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-pv-protection-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pv-protection-controller-4fb9-9cfd.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-pv-protection-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-pv-protection-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pv-protection-controller-4fb9-9cfd.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-pvc-protection-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-pvc-protection-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pvc-protection-controller-58c9-9d98.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-pvc-protection-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-pvc-protection-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-pvc-protection-controller-58c9-9d98.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-replicaset-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-replicaset-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replicaset-controller-ca70-b5a6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-replicaset-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-replicaset-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replicaset-controller-ca70-b5a6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-replication-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-replication-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replication-controller-b5e6-6267.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-replication-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-replication-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-replication-controller-b5e6-6267.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-resourcequota-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-resourcequota-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-resourcequota-controller-0fb1-900f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-resourcequota-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-resourcequota-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-resourcequota-controller-0fb1-900f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-root-ca-cert-publisher-rbac.authorization.k8s.io-v1-clusterrole--system-controller-root-ca-cert-publisher-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-root-ca-cert-publisher-c82a-200f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-root-ca-cert-publisher-rbac.authorization.k8s.io-v1-clusterrole--system-controller-root-ca-cert-publisher-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-root-ca-cert-publisher-c82a-200f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-route-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-route-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-route-controller-ad8e-dfc6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-route-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-route-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-route-controller-ad8e-dfc6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-service-account-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-service-account-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-service-account-controller-f096-95ef.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-service-account-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-service-account-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-service-account-controller-f096-95ef.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-service-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-service-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-service-controller-44af-1766.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-service-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-service-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-service-controller-44af-1766.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-statefulset-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-statefulset-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-statefulset-controller-de47-8c5e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-statefulset-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-statefulset-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-statefulset-controller-de47-8c5e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-token-cleaner-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-token-cleaner-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-token-cleaner-a62c-9f94.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-token-cleaner-rbac.authorization.k8s.io-v1-role-kube-system-system-controller-token-cleaner-rbac.authorization.k8s.io-v1-rolebinding-kube-system-system-controller-token-cleaner-a62c-9f94.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-ttl-after-finished-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-ttl-after-finished-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-after-finished-controller-a5ec-22fd.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-ttl-after-finished-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-ttl-after-finished-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-after-finished-controller-a5ec-22fd.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-ttl-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-ttl-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-controller-9111-e2d2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kube-system-ttl-controller-rbac.authorization.k8s.io-v1-clusterrole--system-controller-ttl-controller-rbac.authorization.k8s.io-v1-clusterrolebinding--system-controller-ttl-controller-9111-e2d2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kollector-rbac.authorization.k8s.io-v1-clusterrole--kollector-rbac.authorization.k8s.io-v1-clusterrolebinding--kollector-e72c-8df2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kollector-rbac.authorization.k8s.io-v1-clusterrole--kollector-rbac.authorization.k8s.io-v1-clusterrolebinding--kollector-e72c-8df2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kubescape-rbac.authorization.k8s.io-v1-clusterrole--kubescape-rbac.authorization.k8s.io-v1-clusterrolebinding--kubescape-aa83-1890.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kubescape-rbac.authorization.k8s.io-v1-clusterrole--kubescape-rbac.authorization.k8s.io-v1-clusterrolebinding--kubescape-aa83-1890.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kubescape-rbac.authorization.k8s.io-v1-role-kubescape-kubescape-rbac.authorization.k8s.io-v1-rolebinding-kubescape-kubescape-838a-d1d5.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kubescape-rbac.authorization.k8s.io-v1-role-kubescape-kubescape-rbac.authorization.k8s.io-v1-rolebinding-kubescape-kubescape-838a-d1d5.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kubevuln-rbac.authorization.k8s.io-v1-clusterrole--kubevuln-rbac.authorization.k8s.io-v1-clusterrolebinding--kubevuln-e43b-4fe3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-kubevuln-rbac.authorization.k8s.io-v1-clusterrole--kubevuln-rbac.authorization.k8s.io-v1-clusterrolebinding--kubevuln-e43b-4fe3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-operator-rbac.authorization.k8s.io-v1-clusterrole--operator-rbac.authorization.k8s.io-v1-clusterrolebinding--operator-caa1-7f47.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-operator-rbac.authorization.k8s.io-v1-clusterrole--operator-rbac.authorization.k8s.io-v1-clusterrolebinding--operator-caa1-7f47.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-operator-rbac.authorization.k8s.io-v1-role-kubescape-operator-rbac.authorization.k8s.io-v1-rolebinding-kubescape-operator-6d20-d01b.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-operator-rbac.authorization.k8s.io-v1-role-kubescape-operator-rbac.authorization.k8s.io-v1-rolebinding-kubescape-operator-6d20-d01b.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-storage-rbac.authorization.k8s.io-v1-clusterrole--system-auth-delegator-rbac.authorization.k8s.io-v1-clusterrolebinding--storage-system-auth-delegator-b7c5-3109.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-storage-rbac.authorization.k8s.io-v1-clusterrole--system-auth-delegator-rbac.authorization.k8s.io-v1-clusterrolebinding--storage-system-auth-delegator-b7c5-3109.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-storage-rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-rbac.authorization.k8s.io-v1-rolebinding-kube-system-storage-auth-reader-f139-ecd4.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/serviceaccount-kubescape-storage-rbac.authorization.k8s.io-v1-role-kube-system-extension-apiserver-authentication-reader-rbac.authorization.k8s.io-v1-rolebinding-kube-system-storage-auth-reader-f139-ecd4.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-cs-matching-rules-c969-b506.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-cs-matching-rules-c969-b506.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-host-scanner-definition-9d50-1027.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-host-scanner-definition-9d50-1027.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-ks-capabilities-5844-e9b6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-ks-capabilities-5844-e9b6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-ks-cloud-config-9085-3be8.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-ks-cloud-config-9085-3be8.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kube-root-ca.crt-bdde-ff9f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kube-root-ca.crt-bdde-ff9f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubescape-cronjob-template-0750-34d7.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubescape-cronjob-template-0750-34d7.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubescape-scheduler-c5b6-8a76.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubescape-scheduler-c5b6-8a76.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubevuln-cronjob-template-222e-0fb9.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubevuln-cronjob-template-222e-0fb9.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubevuln-scheduler-a935-3990.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-kubevuln-scheduler-a935-3990.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-node-agent-6eb9-04c6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-node-agent-6eb9-04c6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-operator-ebe9-220f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-operator-ebe9-220f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-otel-collector-config-33fc-3397.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-otel-collector-config-33fc-3397.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-registry-scan-cronjob-template-c2ca-48d3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-registry-scan-cronjob-template-c2ca-48d3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-synchronizer-71e1-98e2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-configmap-kubescape-synchronizer-71e1-98e2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-gateway-f1c4-9760.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-gateway-f1c4-9760.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-kubescape-c299-bca3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-kubescape-c299-bca3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-kubevuln-eb33-f757.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-kubevuln-eb33-f757.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-operator-d237-22dd.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-operator-d237-22dd.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-storage-d7c0-e47f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-endpoints-kubescape-storage-d7c0-e47f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--default-3dfc-c855.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--default-3dfc-c855.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--kube-public-0e5b-249b.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--kube-public-0e5b-249b.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--kube-system-96db-ec72.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--kube-system-96db-ec72.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--kubescape-bbd4-d0fc.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--kubescape-bbd4-d0fc.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--local-path-storage-070c-5c90.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-namespace--local-path-storage-070c-5c90.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-node--kind-control-plane-1b76-118c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-node--kind-control-plane-1b76-118c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-persistentvolume--pvc-7843aae9-7eaf-407a-8e7e-ea8760e76e6e-18fb-98c1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-persistentvolume--pvc-7843aae9-7eaf-407a-8e7e-ea8760e76e6e-18fb-98c1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-persistentvolumeclaim-kubescape-storage-535e-bce5.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-persistentvolumeclaim-kubescape-storage-535e-bce5.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-secret-kubescape-cloud-secret-24b7-22bc.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-secret-kubescape-cloud-secret-24b7-22bc.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-secret-kubescape-sh.helm.release.v1.kubescape.v1-5486-de9e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-secret-kubescape-sh.helm.release.v1.kubescape.v1-5486-de9e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-gateway-02f7-941a.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-gateway-02f7-941a.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-kubescape-5bbd-0cd1.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-kubescape-5bbd-0cd1.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-kubevuln-2c6d-af06.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-kubevuln-2c6d-af06.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-operator-768a-8272.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-operator-768a-8272.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-otel-collector-1c6b-e19d.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-otel-collector-1c6b-e19d.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-storage-aac3-3752.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-service-kubescape-storage-aac3-3752.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-default-6bba-956e.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-default-6bba-956e.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-kollector-e622-e033.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-kollector-e622-e033.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-kubescape-0647-414f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-kubescape-0647-414f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-kubevuln-a8fa-1a4f.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-kubevuln-a8fa-1a4f.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-node-agent-c41a-2645.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-node-agent-c41a-2645.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-operator-9193-7cf2.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-operator-9193-7cf2.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-storage-623f-8bc3.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-storage-623f-8bc3.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-synchronizer-b366-d9b6.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/v1-serviceaccount-kubescape-synchronizer-b366-d9b6.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/apps-v1-deployment-local-path-storage-local-path-provisioner-9358-b354.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/apps-v1-deployment-local-path-storage-local-path-provisioner-9358-b354.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-configmap-local-path-storage-kube-root-ca.crt-4621-4869.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-configmap-local-path-storage-kube-root-ca.crt-4621-4869.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-configmap-local-path-storage-local-path-config-9210-2367.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-configmap-local-path-storage-local-path-config-9210-2367.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-serviceaccount-local-path-storage-default-21d1-428c.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-serviceaccount-local-path-storage-default-21d1-428c.m", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-serviceaccount-local-path-storage-local-path-provisioner-service-account-79fd-9197.j", + "/data/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/local-path-storage/v1-serviceaccount-local-path-storage-local-path-provisioner-service-account-79fd-9197.m", } filesDeleted := handler.GetFilesToDelete() diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/applicationprofilesummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/applicationprofilesummary.go deleted file mode 100644 index e62b69eaf..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/applicationprofilesummary.go +++ /dev/null @@ -1,178 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - "time" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - scheme "github.com/kubescape/storage/pkg/generated/clientset/versioned/scheme" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - rest "k8s.io/client-go/rest" -) - -// ApplicationProfileSummariesGetter has a method to return a ApplicationProfileSummaryInterface. -// A group's client should implement this interface. -type ApplicationProfileSummariesGetter interface { - ApplicationProfileSummaries(namespace string) ApplicationProfileSummaryInterface -} - -// ApplicationProfileSummaryInterface has methods to work with ApplicationProfileSummary resources. -type ApplicationProfileSummaryInterface interface { - Create(ctx context.Context, applicationProfileSummary *v1beta1.ApplicationProfileSummary, opts v1.CreateOptions) (*v1beta1.ApplicationProfileSummary, error) - Update(ctx context.Context, applicationProfileSummary *v1beta1.ApplicationProfileSummary, opts v1.UpdateOptions) (*v1beta1.ApplicationProfileSummary, error) - Delete(ctx context.Context, name string, opts v1.DeleteOptions) error - DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error - Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.ApplicationProfileSummary, error) - List(ctx context.Context, opts v1.ListOptions) (*v1beta1.ApplicationProfileSummaryList, error) - Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.ApplicationProfileSummary, err error) - ApplicationProfileSummaryExpansion -} - -// applicationProfileSummaries implements ApplicationProfileSummaryInterface -type applicationProfileSummaries struct { - client rest.Interface - ns string -} - -// newApplicationProfileSummaries returns a ApplicationProfileSummaries -func newApplicationProfileSummaries(c *SpdxV1beta1Client, namespace string) *applicationProfileSummaries { - return &applicationProfileSummaries{ - client: c.RESTClient(), - ns: namespace, - } -} - -// Get takes name of the applicationProfileSummary, and returns the corresponding applicationProfileSummary object, and an error if there is any. -func (c *applicationProfileSummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.ApplicationProfileSummary, err error) { - result = &v1beta1.ApplicationProfileSummary{} - err = c.client.Get(). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - Name(name). - VersionedParams(&options, scheme.ParameterCodec). - Do(ctx). - Into(result) - return -} - -// List takes label and field selectors, and returns the list of ApplicationProfileSummaries that match those selectors. -func (c *applicationProfileSummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.ApplicationProfileSummaryList, err error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - result = &v1beta1.ApplicationProfileSummaryList{} - err = c.client.Get(). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Do(ctx). - Into(result) - return -} - -// Watch returns a watch.Interface that watches the requested applicationProfileSummaries. -func (c *applicationProfileSummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - opts.Watch = true - return c.client.Get(). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Watch(ctx) -} - -// Create takes the representation of a applicationProfileSummary and creates it. Returns the server's representation of the applicationProfileSummary, and an error, if there is any. -func (c *applicationProfileSummaries) Create(ctx context.Context, applicationProfileSummary *v1beta1.ApplicationProfileSummary, opts v1.CreateOptions) (result *v1beta1.ApplicationProfileSummary, err error) { - result = &v1beta1.ApplicationProfileSummary{} - err = c.client.Post(). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(applicationProfileSummary). - Do(ctx). - Into(result) - return -} - -// Update takes the representation of a applicationProfileSummary and updates it. Returns the server's representation of the applicationProfileSummary, and an error, if there is any. -func (c *applicationProfileSummaries) Update(ctx context.Context, applicationProfileSummary *v1beta1.ApplicationProfileSummary, opts v1.UpdateOptions) (result *v1beta1.ApplicationProfileSummary, err error) { - result = &v1beta1.ApplicationProfileSummary{} - err = c.client.Put(). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - Name(applicationProfileSummary.Name). - VersionedParams(&opts, scheme.ParameterCodec). - Body(applicationProfileSummary). - Do(ctx). - Into(result) - return -} - -// Delete takes name of the applicationProfileSummary and deletes it. Returns an error if one occurs. -func (c *applicationProfileSummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - return c.client.Delete(). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - Name(name). - Body(&opts). - Do(ctx). - Error() -} - -// DeleteCollection deletes a collection of objects. -func (c *applicationProfileSummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - var timeout time.Duration - if listOpts.TimeoutSeconds != nil { - timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second - } - return c.client.Delete(). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - VersionedParams(&listOpts, scheme.ParameterCodec). - Timeout(timeout). - Body(&opts). - Do(ctx). - Error() -} - -// Patch applies the patch and returns the patched applicationProfileSummary. -func (c *applicationProfileSummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.ApplicationProfileSummary, err error) { - result = &v1beta1.ApplicationProfileSummary{} - err = c.client.Patch(pt). - Namespace(c.ns). - Resource("applicationprofilesummaries"). - Name(name). - SubResource(subresources...). - VersionedParams(&opts, scheme.ParameterCodec). - Body(data). - Do(ctx). - Into(result) - return -} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_applicationprofilesummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_applicationprofilesummary.go deleted file mode 100644 index e0cbbcd63..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_applicationprofilesummary.go +++ /dev/null @@ -1,129 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - "context" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - labels "k8s.io/apimachinery/pkg/labels" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - testing "k8s.io/client-go/testing" -) - -// FakeApplicationProfileSummaries implements ApplicationProfileSummaryInterface -type FakeApplicationProfileSummaries struct { - Fake *FakeSpdxV1beta1 - ns string -} - -var applicationprofilesummariesResource = v1beta1.SchemeGroupVersion.WithResource("applicationprofilesummaries") - -var applicationprofilesummariesKind = v1beta1.SchemeGroupVersion.WithKind("ApplicationProfileSummary") - -// Get takes name of the applicationProfileSummary, and returns the corresponding applicationProfileSummary object, and an error if there is any. -func (c *FakeApplicationProfileSummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.ApplicationProfileSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewGetAction(applicationprofilesummariesResource, c.ns, name), &v1beta1.ApplicationProfileSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.ApplicationProfileSummary), err -} - -// List takes label and field selectors, and returns the list of ApplicationProfileSummaries that match those selectors. -func (c *FakeApplicationProfileSummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.ApplicationProfileSummaryList, err error) { - obj, err := c.Fake. - Invokes(testing.NewListAction(applicationprofilesummariesResource, applicationprofilesummariesKind, c.ns, opts), &v1beta1.ApplicationProfileSummaryList{}) - - if obj == nil { - return nil, err - } - - label, _, _ := testing.ExtractFromListOptions(opts) - if label == nil { - label = labels.Everything() - } - list := &v1beta1.ApplicationProfileSummaryList{ListMeta: obj.(*v1beta1.ApplicationProfileSummaryList).ListMeta} - for _, item := range obj.(*v1beta1.ApplicationProfileSummaryList).Items { - if label.Matches(labels.Set(item.Labels)) { - list.Items = append(list.Items, item) - } - } - return list, err -} - -// Watch returns a watch.Interface that watches the requested applicationProfileSummaries. -func (c *FakeApplicationProfileSummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - return c.Fake. - InvokesWatch(testing.NewWatchAction(applicationprofilesummariesResource, c.ns, opts)) - -} - -// Create takes the representation of a applicationProfileSummary and creates it. Returns the server's representation of the applicationProfileSummary, and an error, if there is any. -func (c *FakeApplicationProfileSummaries) Create(ctx context.Context, applicationProfileSummary *v1beta1.ApplicationProfileSummary, opts v1.CreateOptions) (result *v1beta1.ApplicationProfileSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewCreateAction(applicationprofilesummariesResource, c.ns, applicationProfileSummary), &v1beta1.ApplicationProfileSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.ApplicationProfileSummary), err -} - -// Update takes the representation of a applicationProfileSummary and updates it. Returns the server's representation of the applicationProfileSummary, and an error, if there is any. -func (c *FakeApplicationProfileSummaries) Update(ctx context.Context, applicationProfileSummary *v1beta1.ApplicationProfileSummary, opts v1.UpdateOptions) (result *v1beta1.ApplicationProfileSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateAction(applicationprofilesummariesResource, c.ns, applicationProfileSummary), &v1beta1.ApplicationProfileSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.ApplicationProfileSummary), err -} - -// Delete takes name of the applicationProfileSummary and deletes it. Returns an error if one occurs. -func (c *FakeApplicationProfileSummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - _, err := c.Fake. - Invokes(testing.NewDeleteActionWithOptions(applicationprofilesummariesResource, c.ns, name, opts), &v1beta1.ApplicationProfileSummary{}) - - return err -} - -// DeleteCollection deletes a collection of objects. -func (c *FakeApplicationProfileSummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - action := testing.NewDeleteCollectionAction(applicationprofilesummariesResource, c.ns, listOpts) - - _, err := c.Fake.Invokes(action, &v1beta1.ApplicationProfileSummaryList{}) - return err -} - -// Patch applies the patch and returns the patched applicationProfileSummary. -func (c *FakeApplicationProfileSummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.ApplicationProfileSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(applicationprofilesummariesResource, c.ns, name, pt, data, subresources...), &v1beta1.ApplicationProfileSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.ApplicationProfileSummary), err -} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_sbomsummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_sbomsummary.go deleted file mode 100644 index ce84d4f71..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_sbomsummary.go +++ /dev/null @@ -1,141 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - "context" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - labels "k8s.io/apimachinery/pkg/labels" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - testing "k8s.io/client-go/testing" -) - -// FakeSBOMSummaries implements SBOMSummaryInterface -type FakeSBOMSummaries struct { - Fake *FakeSpdxV1beta1 - ns string -} - -var sbomsummariesResource = v1beta1.SchemeGroupVersion.WithResource("sbomsummaries") - -var sbomsummariesKind = v1beta1.SchemeGroupVersion.WithKind("SBOMSummary") - -// Get takes name of the sBOMSummary, and returns the corresponding sBOMSummary object, and an error if there is any. -func (c *FakeSBOMSummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.SBOMSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewGetAction(sbomsummariesResource, c.ns, name), &v1beta1.SBOMSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.SBOMSummary), err -} - -// List takes label and field selectors, and returns the list of SBOMSummaries that match those selectors. -func (c *FakeSBOMSummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.SBOMSummaryList, err error) { - obj, err := c.Fake. - Invokes(testing.NewListAction(sbomsummariesResource, sbomsummariesKind, c.ns, opts), &v1beta1.SBOMSummaryList{}) - - if obj == nil { - return nil, err - } - - label, _, _ := testing.ExtractFromListOptions(opts) - if label == nil { - label = labels.Everything() - } - list := &v1beta1.SBOMSummaryList{ListMeta: obj.(*v1beta1.SBOMSummaryList).ListMeta} - for _, item := range obj.(*v1beta1.SBOMSummaryList).Items { - if label.Matches(labels.Set(item.Labels)) { - list.Items = append(list.Items, item) - } - } - return list, err -} - -// Watch returns a watch.Interface that watches the requested sBOMSummaries. -func (c *FakeSBOMSummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - return c.Fake. - InvokesWatch(testing.NewWatchAction(sbomsummariesResource, c.ns, opts)) - -} - -// Create takes the representation of a sBOMSummary and creates it. Returns the server's representation of the sBOMSummary, and an error, if there is any. -func (c *FakeSBOMSummaries) Create(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.CreateOptions) (result *v1beta1.SBOMSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewCreateAction(sbomsummariesResource, c.ns, sBOMSummary), &v1beta1.SBOMSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.SBOMSummary), err -} - -// Update takes the representation of a sBOMSummary and updates it. Returns the server's representation of the sBOMSummary, and an error, if there is any. -func (c *FakeSBOMSummaries) Update(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.UpdateOptions) (result *v1beta1.SBOMSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateAction(sbomsummariesResource, c.ns, sBOMSummary), &v1beta1.SBOMSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.SBOMSummary), err -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeSBOMSummaries) UpdateStatus(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.UpdateOptions) (*v1beta1.SBOMSummary, error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(sbomsummariesResource, "status", c.ns, sBOMSummary), &v1beta1.SBOMSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.SBOMSummary), err -} - -// Delete takes name of the sBOMSummary and deletes it. Returns an error if one occurs. -func (c *FakeSBOMSummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - _, err := c.Fake. - Invokes(testing.NewDeleteActionWithOptions(sbomsummariesResource, c.ns, name, opts), &v1beta1.SBOMSummary{}) - - return err -} - -// DeleteCollection deletes a collection of objects. -func (c *FakeSBOMSummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - action := testing.NewDeleteCollectionAction(sbomsummariesResource, c.ns, listOpts) - - _, err := c.Fake.Invokes(action, &v1beta1.SBOMSummaryList{}) - return err -} - -// Patch applies the patch and returns the patched sBOMSummary. -func (c *FakeSBOMSummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.SBOMSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(sbomsummariesResource, c.ns, name, pt, data, subresources...), &v1beta1.SBOMSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.SBOMSummary), err -} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_softwarecomposition_client.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_softwarecomposition_client.go index 28ff7a941..8478fa329 100644 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_softwarecomposition_client.go +++ b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_softwarecomposition_client.go @@ -36,10 +36,6 @@ func (c *FakeSpdxV1beta1) ApplicationProfiles(namespace string) v1beta1.Applicat return &FakeApplicationProfiles{c, namespace} } -func (c *FakeSpdxV1beta1) ApplicationProfileSummaries(namespace string) v1beta1.ApplicationProfileSummaryInterface { - return &FakeApplicationProfileSummaries{c, namespace} -} - func (c *FakeSpdxV1beta1) ConfigurationScanSummaries(namespace string) v1beta1.ConfigurationScanSummaryInterface { return &FakeConfigurationScanSummaries{c, namespace} } @@ -68,10 +64,6 @@ func (c *FakeSpdxV1beta1) SBOMSPDXv2p3Filtereds(namespace string) v1beta1.SBOMSP return &FakeSBOMSPDXv2p3Filtereds{c, namespace} } -func (c *FakeSpdxV1beta1) SBOMSummaries(namespace string) v1beta1.SBOMSummaryInterface { - return &FakeSBOMSummaries{c, namespace} -} - func (c *FakeSpdxV1beta1) SBOMSyfts(namespace string) v1beta1.SBOMSyftInterface { return &FakeSBOMSyfts{c, namespace} } @@ -84,14 +76,6 @@ func (c *FakeSpdxV1beta1) VulnerabilityManifests(namespace string) v1beta1.Vulne return &FakeVulnerabilityManifests{c, namespace} } -func (c *FakeSpdxV1beta1) VulnerabilityManifestSummaries(namespace string) v1beta1.VulnerabilityManifestSummaryInterface { - return &FakeVulnerabilityManifestSummaries{c, namespace} -} - -func (c *FakeSpdxV1beta1) VulnerabilitySummaries(namespace string) v1beta1.VulnerabilitySummaryInterface { - return &FakeVulnerabilitySummaries{c, namespace} -} - func (c *FakeSpdxV1beta1) WorkloadConfigurationScans(namespace string) v1beta1.WorkloadConfigurationScanInterface { return &FakeWorkloadConfigurationScans{c, namespace} } diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_vulnerabilitymanifestsummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_vulnerabilitymanifestsummary.go deleted file mode 100644 index c591e4d4f..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_vulnerabilitymanifestsummary.go +++ /dev/null @@ -1,141 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - "context" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - labels "k8s.io/apimachinery/pkg/labels" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - testing "k8s.io/client-go/testing" -) - -// FakeVulnerabilityManifestSummaries implements VulnerabilityManifestSummaryInterface -type FakeVulnerabilityManifestSummaries struct { - Fake *FakeSpdxV1beta1 - ns string -} - -var vulnerabilitymanifestsummariesResource = v1beta1.SchemeGroupVersion.WithResource("vulnerabilitymanifestsummaries") - -var vulnerabilitymanifestsummariesKind = v1beta1.SchemeGroupVersion.WithKind("VulnerabilityManifestSummary") - -// Get takes name of the vulnerabilityManifestSummary, and returns the corresponding vulnerabilityManifestSummary object, and an error if there is any. -func (c *FakeVulnerabilityManifestSummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.VulnerabilityManifestSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewGetAction(vulnerabilitymanifestsummariesResource, c.ns, name), &v1beta1.VulnerabilityManifestSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilityManifestSummary), err -} - -// List takes label and field selectors, and returns the list of VulnerabilityManifestSummaries that match those selectors. -func (c *FakeVulnerabilityManifestSummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.VulnerabilityManifestSummaryList, err error) { - obj, err := c.Fake. - Invokes(testing.NewListAction(vulnerabilitymanifestsummariesResource, vulnerabilitymanifestsummariesKind, c.ns, opts), &v1beta1.VulnerabilityManifestSummaryList{}) - - if obj == nil { - return nil, err - } - - label, _, _ := testing.ExtractFromListOptions(opts) - if label == nil { - label = labels.Everything() - } - list := &v1beta1.VulnerabilityManifestSummaryList{ListMeta: obj.(*v1beta1.VulnerabilityManifestSummaryList).ListMeta} - for _, item := range obj.(*v1beta1.VulnerabilityManifestSummaryList).Items { - if label.Matches(labels.Set(item.Labels)) { - list.Items = append(list.Items, item) - } - } - return list, err -} - -// Watch returns a watch.Interface that watches the requested vulnerabilityManifestSummaries. -func (c *FakeVulnerabilityManifestSummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - return c.Fake. - InvokesWatch(testing.NewWatchAction(vulnerabilitymanifestsummariesResource, c.ns, opts)) - -} - -// Create takes the representation of a vulnerabilityManifestSummary and creates it. Returns the server's representation of the vulnerabilityManifestSummary, and an error, if there is any. -func (c *FakeVulnerabilityManifestSummaries) Create(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.CreateOptions) (result *v1beta1.VulnerabilityManifestSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewCreateAction(vulnerabilitymanifestsummariesResource, c.ns, vulnerabilityManifestSummary), &v1beta1.VulnerabilityManifestSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilityManifestSummary), err -} - -// Update takes the representation of a vulnerabilityManifestSummary and updates it. Returns the server's representation of the vulnerabilityManifestSummary, and an error, if there is any. -func (c *FakeVulnerabilityManifestSummaries) Update(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.UpdateOptions) (result *v1beta1.VulnerabilityManifestSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateAction(vulnerabilitymanifestsummariesResource, c.ns, vulnerabilityManifestSummary), &v1beta1.VulnerabilityManifestSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilityManifestSummary), err -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeVulnerabilityManifestSummaries) UpdateStatus(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.UpdateOptions) (*v1beta1.VulnerabilityManifestSummary, error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(vulnerabilitymanifestsummariesResource, "status", c.ns, vulnerabilityManifestSummary), &v1beta1.VulnerabilityManifestSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilityManifestSummary), err -} - -// Delete takes name of the vulnerabilityManifestSummary and deletes it. Returns an error if one occurs. -func (c *FakeVulnerabilityManifestSummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - _, err := c.Fake. - Invokes(testing.NewDeleteActionWithOptions(vulnerabilitymanifestsummariesResource, c.ns, name, opts), &v1beta1.VulnerabilityManifestSummary{}) - - return err -} - -// DeleteCollection deletes a collection of objects. -func (c *FakeVulnerabilityManifestSummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - action := testing.NewDeleteCollectionAction(vulnerabilitymanifestsummariesResource, c.ns, listOpts) - - _, err := c.Fake.Invokes(action, &v1beta1.VulnerabilityManifestSummaryList{}) - return err -} - -// Patch applies the patch and returns the patched vulnerabilityManifestSummary. -func (c *FakeVulnerabilityManifestSummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.VulnerabilityManifestSummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(vulnerabilitymanifestsummariesResource, c.ns, name, pt, data, subresources...), &v1beta1.VulnerabilityManifestSummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilityManifestSummary), err -} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_vulnerabilitysummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_vulnerabilitysummary.go deleted file mode 100644 index c200ff5a8..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/fake/fake_vulnerabilitysummary.go +++ /dev/null @@ -1,141 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package fake - -import ( - "context" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - labels "k8s.io/apimachinery/pkg/labels" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - testing "k8s.io/client-go/testing" -) - -// FakeVulnerabilitySummaries implements VulnerabilitySummaryInterface -type FakeVulnerabilitySummaries struct { - Fake *FakeSpdxV1beta1 - ns string -} - -var vulnerabilitysummariesResource = v1beta1.SchemeGroupVersion.WithResource("vulnerabilitysummaries") - -var vulnerabilitysummariesKind = v1beta1.SchemeGroupVersion.WithKind("VulnerabilitySummary") - -// Get takes name of the vulnerabilitySummary, and returns the corresponding vulnerabilitySummary object, and an error if there is any. -func (c *FakeVulnerabilitySummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.VulnerabilitySummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewGetAction(vulnerabilitysummariesResource, c.ns, name), &v1beta1.VulnerabilitySummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilitySummary), err -} - -// List takes label and field selectors, and returns the list of VulnerabilitySummaries that match those selectors. -func (c *FakeVulnerabilitySummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.VulnerabilitySummaryList, err error) { - obj, err := c.Fake. - Invokes(testing.NewListAction(vulnerabilitysummariesResource, vulnerabilitysummariesKind, c.ns, opts), &v1beta1.VulnerabilitySummaryList{}) - - if obj == nil { - return nil, err - } - - label, _, _ := testing.ExtractFromListOptions(opts) - if label == nil { - label = labels.Everything() - } - list := &v1beta1.VulnerabilitySummaryList{ListMeta: obj.(*v1beta1.VulnerabilitySummaryList).ListMeta} - for _, item := range obj.(*v1beta1.VulnerabilitySummaryList).Items { - if label.Matches(labels.Set(item.Labels)) { - list.Items = append(list.Items, item) - } - } - return list, err -} - -// Watch returns a watch.Interface that watches the requested vulnerabilitySummaries. -func (c *FakeVulnerabilitySummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - return c.Fake. - InvokesWatch(testing.NewWatchAction(vulnerabilitysummariesResource, c.ns, opts)) - -} - -// Create takes the representation of a vulnerabilitySummary and creates it. Returns the server's representation of the vulnerabilitySummary, and an error, if there is any. -func (c *FakeVulnerabilitySummaries) Create(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.CreateOptions) (result *v1beta1.VulnerabilitySummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewCreateAction(vulnerabilitysummariesResource, c.ns, vulnerabilitySummary), &v1beta1.VulnerabilitySummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilitySummary), err -} - -// Update takes the representation of a vulnerabilitySummary and updates it. Returns the server's representation of the vulnerabilitySummary, and an error, if there is any. -func (c *FakeVulnerabilitySummaries) Update(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.UpdateOptions) (result *v1beta1.VulnerabilitySummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateAction(vulnerabilitysummariesResource, c.ns, vulnerabilitySummary), &v1beta1.VulnerabilitySummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilitySummary), err -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeVulnerabilitySummaries) UpdateStatus(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.UpdateOptions) (*v1beta1.VulnerabilitySummary, error) { - obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(vulnerabilitysummariesResource, "status", c.ns, vulnerabilitySummary), &v1beta1.VulnerabilitySummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilitySummary), err -} - -// Delete takes name of the vulnerabilitySummary and deletes it. Returns an error if one occurs. -func (c *FakeVulnerabilitySummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - _, err := c.Fake. - Invokes(testing.NewDeleteActionWithOptions(vulnerabilitysummariesResource, c.ns, name, opts), &v1beta1.VulnerabilitySummary{}) - - return err -} - -// DeleteCollection deletes a collection of objects. -func (c *FakeVulnerabilitySummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - action := testing.NewDeleteCollectionAction(vulnerabilitysummariesResource, c.ns, listOpts) - - _, err := c.Fake.Invokes(action, &v1beta1.VulnerabilitySummaryList{}) - return err -} - -// Patch applies the patch and returns the patched vulnerabilitySummary. -func (c *FakeVulnerabilitySummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.VulnerabilitySummary, err error) { - obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(vulnerabilitysummariesResource, c.ns, name, pt, data, subresources...), &v1beta1.VulnerabilitySummary{}) - - if obj == nil { - return nil, err - } - return obj.(*v1beta1.VulnerabilitySummary), err -} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/generated_expansion.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/generated_expansion.go index 9373eca85..991fff1ac 100644 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/generated_expansion.go +++ b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/generated_expansion.go @@ -22,8 +22,6 @@ type ApplicationActivityExpansion interface{} type ApplicationProfileExpansion interface{} -type ApplicationProfileSummaryExpansion interface{} - type ConfigurationScanSummaryExpansion interface{} type GeneratedNetworkPolicyExpansion interface{} @@ -38,18 +36,12 @@ type SBOMSPDXv2p3Expansion interface{} type SBOMSPDXv2p3FilteredExpansion interface{} -type SBOMSummaryExpansion interface{} - type SBOMSyftExpansion interface{} type SBOMSyftFilteredExpansion interface{} type VulnerabilityManifestExpansion interface{} -type VulnerabilityManifestSummaryExpansion interface{} - -type VulnerabilitySummaryExpansion interface{} - type WorkloadConfigurationScanExpansion interface{} type WorkloadConfigurationScanSummaryExpansion interface{} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/sbomsummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/sbomsummary.go deleted file mode 100644 index d98a0e63b..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/sbomsummary.go +++ /dev/null @@ -1,195 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - "time" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - scheme "github.com/kubescape/storage/pkg/generated/clientset/versioned/scheme" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - rest "k8s.io/client-go/rest" -) - -// SBOMSummariesGetter has a method to return a SBOMSummaryInterface. -// A group's client should implement this interface. -type SBOMSummariesGetter interface { - SBOMSummaries(namespace string) SBOMSummaryInterface -} - -// SBOMSummaryInterface has methods to work with SBOMSummary resources. -type SBOMSummaryInterface interface { - Create(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.CreateOptions) (*v1beta1.SBOMSummary, error) - Update(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.UpdateOptions) (*v1beta1.SBOMSummary, error) - UpdateStatus(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.UpdateOptions) (*v1beta1.SBOMSummary, error) - Delete(ctx context.Context, name string, opts v1.DeleteOptions) error - DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error - Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.SBOMSummary, error) - List(ctx context.Context, opts v1.ListOptions) (*v1beta1.SBOMSummaryList, error) - Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.SBOMSummary, err error) - SBOMSummaryExpansion -} - -// sBOMSummaries implements SBOMSummaryInterface -type sBOMSummaries struct { - client rest.Interface - ns string -} - -// newSBOMSummaries returns a SBOMSummaries -func newSBOMSummaries(c *SpdxV1beta1Client, namespace string) *sBOMSummaries { - return &sBOMSummaries{ - client: c.RESTClient(), - ns: namespace, - } -} - -// Get takes name of the sBOMSummary, and returns the corresponding sBOMSummary object, and an error if there is any. -func (c *sBOMSummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.SBOMSummary, err error) { - result = &v1beta1.SBOMSummary{} - err = c.client.Get(). - Namespace(c.ns). - Resource("sbomsummaries"). - Name(name). - VersionedParams(&options, scheme.ParameterCodec). - Do(ctx). - Into(result) - return -} - -// List takes label and field selectors, and returns the list of SBOMSummaries that match those selectors. -func (c *sBOMSummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.SBOMSummaryList, err error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - result = &v1beta1.SBOMSummaryList{} - err = c.client.Get(). - Namespace(c.ns). - Resource("sbomsummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Do(ctx). - Into(result) - return -} - -// Watch returns a watch.Interface that watches the requested sBOMSummaries. -func (c *sBOMSummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - opts.Watch = true - return c.client.Get(). - Namespace(c.ns). - Resource("sbomsummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Watch(ctx) -} - -// Create takes the representation of a sBOMSummary and creates it. Returns the server's representation of the sBOMSummary, and an error, if there is any. -func (c *sBOMSummaries) Create(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.CreateOptions) (result *v1beta1.SBOMSummary, err error) { - result = &v1beta1.SBOMSummary{} - err = c.client.Post(). - Namespace(c.ns). - Resource("sbomsummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(sBOMSummary). - Do(ctx). - Into(result) - return -} - -// Update takes the representation of a sBOMSummary and updates it. Returns the server's representation of the sBOMSummary, and an error, if there is any. -func (c *sBOMSummaries) Update(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.UpdateOptions) (result *v1beta1.SBOMSummary, err error) { - result = &v1beta1.SBOMSummary{} - err = c.client.Put(). - Namespace(c.ns). - Resource("sbomsummaries"). - Name(sBOMSummary.Name). - VersionedParams(&opts, scheme.ParameterCodec). - Body(sBOMSummary). - Do(ctx). - Into(result) - return -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *sBOMSummaries) UpdateStatus(ctx context.Context, sBOMSummary *v1beta1.SBOMSummary, opts v1.UpdateOptions) (result *v1beta1.SBOMSummary, err error) { - result = &v1beta1.SBOMSummary{} - err = c.client.Put(). - Namespace(c.ns). - Resource("sbomsummaries"). - Name(sBOMSummary.Name). - SubResource("status"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(sBOMSummary). - Do(ctx). - Into(result) - return -} - -// Delete takes name of the sBOMSummary and deletes it. Returns an error if one occurs. -func (c *sBOMSummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - return c.client.Delete(). - Namespace(c.ns). - Resource("sbomsummaries"). - Name(name). - Body(&opts). - Do(ctx). - Error() -} - -// DeleteCollection deletes a collection of objects. -func (c *sBOMSummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - var timeout time.Duration - if listOpts.TimeoutSeconds != nil { - timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second - } - return c.client.Delete(). - Namespace(c.ns). - Resource("sbomsummaries"). - VersionedParams(&listOpts, scheme.ParameterCodec). - Timeout(timeout). - Body(&opts). - Do(ctx). - Error() -} - -// Patch applies the patch and returns the patched sBOMSummary. -func (c *sBOMSummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.SBOMSummary, err error) { - result = &v1beta1.SBOMSummary{} - err = c.client.Patch(pt). - Namespace(c.ns). - Resource("sbomsummaries"). - Name(name). - SubResource(subresources...). - VersionedParams(&opts, scheme.ParameterCodec). - Body(data). - Do(ctx). - Into(result) - return -} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/softwarecomposition_client.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/softwarecomposition_client.go index 0f198e6f4..4ab8e3519 100644 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/softwarecomposition_client.go +++ b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/softwarecomposition_client.go @@ -30,7 +30,6 @@ type SpdxV1beta1Interface interface { RESTClient() rest.Interface ApplicationActivitiesGetter ApplicationProfilesGetter - ApplicationProfileSummariesGetter ConfigurationScanSummariesGetter GeneratedNetworkPoliciesGetter KnownServersGetter @@ -38,12 +37,9 @@ type SpdxV1beta1Interface interface { OpenVulnerabilityExchangeContainersGetter SBOMSPDXv2p3sGetter SBOMSPDXv2p3FilteredsGetter - SBOMSummariesGetter SBOMSyftsGetter SBOMSyftFilteredsGetter VulnerabilityManifestsGetter - VulnerabilityManifestSummariesGetter - VulnerabilitySummariesGetter WorkloadConfigurationScansGetter WorkloadConfigurationScanSummariesGetter } @@ -61,10 +57,6 @@ func (c *SpdxV1beta1Client) ApplicationProfiles(namespace string) ApplicationPro return newApplicationProfiles(c, namespace) } -func (c *SpdxV1beta1Client) ApplicationProfileSummaries(namespace string) ApplicationProfileSummaryInterface { - return newApplicationProfileSummaries(c, namespace) -} - func (c *SpdxV1beta1Client) ConfigurationScanSummaries(namespace string) ConfigurationScanSummaryInterface { return newConfigurationScanSummaries(c, namespace) } @@ -93,10 +85,6 @@ func (c *SpdxV1beta1Client) SBOMSPDXv2p3Filtereds(namespace string) SBOMSPDXv2p3 return newSBOMSPDXv2p3Filtereds(c, namespace) } -func (c *SpdxV1beta1Client) SBOMSummaries(namespace string) SBOMSummaryInterface { - return newSBOMSummaries(c, namespace) -} - func (c *SpdxV1beta1Client) SBOMSyfts(namespace string) SBOMSyftInterface { return newSBOMSyfts(c, namespace) } @@ -109,14 +97,6 @@ func (c *SpdxV1beta1Client) VulnerabilityManifests(namespace string) Vulnerabili return newVulnerabilityManifests(c, namespace) } -func (c *SpdxV1beta1Client) VulnerabilityManifestSummaries(namespace string) VulnerabilityManifestSummaryInterface { - return newVulnerabilityManifestSummaries(c, namespace) -} - -func (c *SpdxV1beta1Client) VulnerabilitySummaries(namespace string) VulnerabilitySummaryInterface { - return newVulnerabilitySummaries(c, namespace) -} - func (c *SpdxV1beta1Client) WorkloadConfigurationScans(namespace string) WorkloadConfigurationScanInterface { return newWorkloadConfigurationScans(c, namespace) } diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go deleted file mode 100644 index 8235db73b..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go +++ /dev/null @@ -1,195 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - "time" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - scheme "github.com/kubescape/storage/pkg/generated/clientset/versioned/scheme" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - rest "k8s.io/client-go/rest" -) - -// VulnerabilityManifestSummariesGetter has a method to return a VulnerabilityManifestSummaryInterface. -// A group's client should implement this interface. -type VulnerabilityManifestSummariesGetter interface { - VulnerabilityManifestSummaries(namespace string) VulnerabilityManifestSummaryInterface -} - -// VulnerabilityManifestSummaryInterface has methods to work with VulnerabilityManifestSummary resources. -type VulnerabilityManifestSummaryInterface interface { - Create(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.CreateOptions) (*v1beta1.VulnerabilityManifestSummary, error) - Update(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.UpdateOptions) (*v1beta1.VulnerabilityManifestSummary, error) - UpdateStatus(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.UpdateOptions) (*v1beta1.VulnerabilityManifestSummary, error) - Delete(ctx context.Context, name string, opts v1.DeleteOptions) error - DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error - Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.VulnerabilityManifestSummary, error) - List(ctx context.Context, opts v1.ListOptions) (*v1beta1.VulnerabilityManifestSummaryList, error) - Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.VulnerabilityManifestSummary, err error) - VulnerabilityManifestSummaryExpansion -} - -// vulnerabilityManifestSummaries implements VulnerabilityManifestSummaryInterface -type vulnerabilityManifestSummaries struct { - client rest.Interface - ns string -} - -// newVulnerabilityManifestSummaries returns a VulnerabilityManifestSummaries -func newVulnerabilityManifestSummaries(c *SpdxV1beta1Client, namespace string) *vulnerabilityManifestSummaries { - return &vulnerabilityManifestSummaries{ - client: c.RESTClient(), - ns: namespace, - } -} - -// Get takes name of the vulnerabilityManifestSummary, and returns the corresponding vulnerabilityManifestSummary object, and an error if there is any. -func (c *vulnerabilityManifestSummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.VulnerabilityManifestSummary, err error) { - result = &v1beta1.VulnerabilityManifestSummary{} - err = c.client.Get(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - Name(name). - VersionedParams(&options, scheme.ParameterCodec). - Do(ctx). - Into(result) - return -} - -// List takes label and field selectors, and returns the list of VulnerabilityManifestSummaries that match those selectors. -func (c *vulnerabilityManifestSummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.VulnerabilityManifestSummaryList, err error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - result = &v1beta1.VulnerabilityManifestSummaryList{} - err = c.client.Get(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Do(ctx). - Into(result) - return -} - -// Watch returns a watch.Interface that watches the requested vulnerabilityManifestSummaries. -func (c *vulnerabilityManifestSummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - opts.Watch = true - return c.client.Get(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Watch(ctx) -} - -// Create takes the representation of a vulnerabilityManifestSummary and creates it. Returns the server's representation of the vulnerabilityManifestSummary, and an error, if there is any. -func (c *vulnerabilityManifestSummaries) Create(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.CreateOptions) (result *v1beta1.VulnerabilityManifestSummary, err error) { - result = &v1beta1.VulnerabilityManifestSummary{} - err = c.client.Post(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(vulnerabilityManifestSummary). - Do(ctx). - Into(result) - return -} - -// Update takes the representation of a vulnerabilityManifestSummary and updates it. Returns the server's representation of the vulnerabilityManifestSummary, and an error, if there is any. -func (c *vulnerabilityManifestSummaries) Update(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.UpdateOptions) (result *v1beta1.VulnerabilityManifestSummary, err error) { - result = &v1beta1.VulnerabilityManifestSummary{} - err = c.client.Put(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - Name(vulnerabilityManifestSummary.Name). - VersionedParams(&opts, scheme.ParameterCodec). - Body(vulnerabilityManifestSummary). - Do(ctx). - Into(result) - return -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *vulnerabilityManifestSummaries) UpdateStatus(ctx context.Context, vulnerabilityManifestSummary *v1beta1.VulnerabilityManifestSummary, opts v1.UpdateOptions) (result *v1beta1.VulnerabilityManifestSummary, err error) { - result = &v1beta1.VulnerabilityManifestSummary{} - err = c.client.Put(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - Name(vulnerabilityManifestSummary.Name). - SubResource("status"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(vulnerabilityManifestSummary). - Do(ctx). - Into(result) - return -} - -// Delete takes name of the vulnerabilityManifestSummary and deletes it. Returns an error if one occurs. -func (c *vulnerabilityManifestSummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - return c.client.Delete(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - Name(name). - Body(&opts). - Do(ctx). - Error() -} - -// DeleteCollection deletes a collection of objects. -func (c *vulnerabilityManifestSummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - var timeout time.Duration - if listOpts.TimeoutSeconds != nil { - timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second - } - return c.client.Delete(). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - VersionedParams(&listOpts, scheme.ParameterCodec). - Timeout(timeout). - Body(&opts). - Do(ctx). - Error() -} - -// Patch applies the patch and returns the patched vulnerabilityManifestSummary. -func (c *vulnerabilityManifestSummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.VulnerabilityManifestSummary, err error) { - result = &v1beta1.VulnerabilityManifestSummary{} - err = c.client.Patch(pt). - Namespace(c.ns). - Resource("vulnerabilitymanifestsummaries"). - Name(name). - SubResource(subresources...). - VersionedParams(&opts, scheme.ParameterCodec). - Body(data). - Do(ctx). - Into(result) - return -} diff --git a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/vulnerabilitysummary.go b/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/vulnerabilitysummary.go deleted file mode 100644 index 86d1caca3..000000000 --- a/pkg/generated/clientset/versioned/typed/softwarecomposition/v1beta1/vulnerabilitysummary.go +++ /dev/null @@ -1,195 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by client-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - "time" - - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - scheme "github.com/kubescape/storage/pkg/generated/clientset/versioned/scheme" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - types "k8s.io/apimachinery/pkg/types" - watch "k8s.io/apimachinery/pkg/watch" - rest "k8s.io/client-go/rest" -) - -// VulnerabilitySummariesGetter has a method to return a VulnerabilitySummaryInterface. -// A group's client should implement this interface. -type VulnerabilitySummariesGetter interface { - VulnerabilitySummaries(namespace string) VulnerabilitySummaryInterface -} - -// VulnerabilitySummaryInterface has methods to work with VulnerabilitySummary resources. -type VulnerabilitySummaryInterface interface { - Create(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.CreateOptions) (*v1beta1.VulnerabilitySummary, error) - Update(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.UpdateOptions) (*v1beta1.VulnerabilitySummary, error) - UpdateStatus(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.UpdateOptions) (*v1beta1.VulnerabilitySummary, error) - Delete(ctx context.Context, name string, opts v1.DeleteOptions) error - DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error - Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.VulnerabilitySummary, error) - List(ctx context.Context, opts v1.ListOptions) (*v1beta1.VulnerabilitySummaryList, error) - Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) - Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.VulnerabilitySummary, err error) - VulnerabilitySummaryExpansion -} - -// vulnerabilitySummaries implements VulnerabilitySummaryInterface -type vulnerabilitySummaries struct { - client rest.Interface - ns string -} - -// newVulnerabilitySummaries returns a VulnerabilitySummaries -func newVulnerabilitySummaries(c *SpdxV1beta1Client, namespace string) *vulnerabilitySummaries { - return &vulnerabilitySummaries{ - client: c.RESTClient(), - ns: namespace, - } -} - -// Get takes name of the vulnerabilitySummary, and returns the corresponding vulnerabilitySummary object, and an error if there is any. -func (c *vulnerabilitySummaries) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.VulnerabilitySummary, err error) { - result = &v1beta1.VulnerabilitySummary{} - err = c.client.Get(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - Name(name). - VersionedParams(&options, scheme.ParameterCodec). - Do(ctx). - Into(result) - return -} - -// List takes label and field selectors, and returns the list of VulnerabilitySummaries that match those selectors. -func (c *vulnerabilitySummaries) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.VulnerabilitySummaryList, err error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - result = &v1beta1.VulnerabilitySummaryList{} - err = c.client.Get(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Do(ctx). - Into(result) - return -} - -// Watch returns a watch.Interface that watches the requested vulnerabilitySummaries. -func (c *vulnerabilitySummaries) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { - var timeout time.Duration - if opts.TimeoutSeconds != nil { - timeout = time.Duration(*opts.TimeoutSeconds) * time.Second - } - opts.Watch = true - return c.client.Get(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Timeout(timeout). - Watch(ctx) -} - -// Create takes the representation of a vulnerabilitySummary and creates it. Returns the server's representation of the vulnerabilitySummary, and an error, if there is any. -func (c *vulnerabilitySummaries) Create(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.CreateOptions) (result *v1beta1.VulnerabilitySummary, err error) { - result = &v1beta1.VulnerabilitySummary{} - err = c.client.Post(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(vulnerabilitySummary). - Do(ctx). - Into(result) - return -} - -// Update takes the representation of a vulnerabilitySummary and updates it. Returns the server's representation of the vulnerabilitySummary, and an error, if there is any. -func (c *vulnerabilitySummaries) Update(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.UpdateOptions) (result *v1beta1.VulnerabilitySummary, err error) { - result = &v1beta1.VulnerabilitySummary{} - err = c.client.Put(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - Name(vulnerabilitySummary.Name). - VersionedParams(&opts, scheme.ParameterCodec). - Body(vulnerabilitySummary). - Do(ctx). - Into(result) - return -} - -// UpdateStatus was generated because the type contains a Status member. -// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *vulnerabilitySummaries) UpdateStatus(ctx context.Context, vulnerabilitySummary *v1beta1.VulnerabilitySummary, opts v1.UpdateOptions) (result *v1beta1.VulnerabilitySummary, err error) { - result = &v1beta1.VulnerabilitySummary{} - err = c.client.Put(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - Name(vulnerabilitySummary.Name). - SubResource("status"). - VersionedParams(&opts, scheme.ParameterCodec). - Body(vulnerabilitySummary). - Do(ctx). - Into(result) - return -} - -// Delete takes name of the vulnerabilitySummary and deletes it. Returns an error if one occurs. -func (c *vulnerabilitySummaries) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { - return c.client.Delete(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - Name(name). - Body(&opts). - Do(ctx). - Error() -} - -// DeleteCollection deletes a collection of objects. -func (c *vulnerabilitySummaries) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { - var timeout time.Duration - if listOpts.TimeoutSeconds != nil { - timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second - } - return c.client.Delete(). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - VersionedParams(&listOpts, scheme.ParameterCodec). - Timeout(timeout). - Body(&opts). - Do(ctx). - Error() -} - -// Patch applies the patch and returns the patched vulnerabilitySummary. -func (c *vulnerabilitySummaries) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.VulnerabilitySummary, err error) { - result = &v1beta1.VulnerabilitySummary{} - err = c.client.Patch(pt). - Namespace(c.ns). - Resource("vulnerabilitysummaries"). - Name(name). - SubResource(subresources...). - VersionedParams(&opts, scheme.ParameterCodec). - Body(data). - Do(ctx). - Into(result) - return -} diff --git a/pkg/generated/informers/externalversions/generic.go b/pkg/generated/informers/externalversions/generic.go index 332a2e9db..6b4d91d85 100644 --- a/pkg/generated/informers/externalversions/generic.go +++ b/pkg/generated/informers/externalversions/generic.go @@ -57,8 +57,6 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().ApplicationActivities().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("applicationprofiles"): return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().ApplicationProfiles().Informer()}, nil - case v1beta1.SchemeGroupVersion.WithResource("applicationprofilesummaries"): - return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().ApplicationProfileSummaries().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("configurationscansummaries"): return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().ConfigurationScanSummaries().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("generatednetworkpolicies"): @@ -73,18 +71,12 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().SBOMSPDXv2p3s().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("sbomspdxv2p3filtereds"): return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().SBOMSPDXv2p3Filtereds().Informer()}, nil - case v1beta1.SchemeGroupVersion.WithResource("sbomsummaries"): - return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().SBOMSummaries().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("sbomsyfts"): return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().SBOMSyfts().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("sbomsyftfiltereds"): return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().SBOMSyftFiltereds().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("vulnerabilitymanifests"): return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().VulnerabilityManifests().Informer()}, nil - case v1beta1.SchemeGroupVersion.WithResource("vulnerabilitymanifestsummaries"): - return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().VulnerabilityManifestSummaries().Informer()}, nil - case v1beta1.SchemeGroupVersion.WithResource("vulnerabilitysummaries"): - return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().VulnerabilitySummaries().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("workloadconfigurationscans"): return &genericInformer{resource: resource.GroupResource(), informer: f.Spdx().V1beta1().WorkloadConfigurationScans().Informer()}, nil case v1beta1.SchemeGroupVersion.WithResource("workloadconfigurationscansummaries"): diff --git a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/applicationprofilesummary.go b/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/applicationprofilesummary.go deleted file mode 100644 index 238e9931a..000000000 --- a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/applicationprofilesummary.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by informer-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - time "time" - - softwarecompositionv1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - versioned "github.com/kubescape/storage/pkg/generated/clientset/versioned" - internalinterfaces "github.com/kubescape/storage/pkg/generated/informers/externalversions/internalinterfaces" - v1beta1 "github.com/kubescape/storage/pkg/generated/listers/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" -) - -// ApplicationProfileSummaryInformer provides access to a shared informer and lister for -// ApplicationProfileSummaries. -type ApplicationProfileSummaryInformer interface { - Informer() cache.SharedIndexInformer - Lister() v1beta1.ApplicationProfileSummaryLister -} - -type applicationProfileSummaryInformer struct { - factory internalinterfaces.SharedInformerFactory - tweakListOptions internalinterfaces.TweakListOptionsFunc - namespace string -} - -// NewApplicationProfileSummaryInformer constructs a new informer for ApplicationProfileSummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewApplicationProfileSummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredApplicationProfileSummaryInformer(client, namespace, resyncPeriod, indexers, nil) -} - -// NewFilteredApplicationProfileSummaryInformer constructs a new informer for ApplicationProfileSummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewFilteredApplicationProfileSummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( - &cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().ApplicationProfileSummaries(namespace).List(context.TODO(), options) - }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().ApplicationProfileSummaries(namespace).Watch(context.TODO(), options) - }, - }, - &softwarecompositionv1beta1.ApplicationProfileSummary{}, - resyncPeriod, - indexers, - ) -} - -func (f *applicationProfileSummaryInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredApplicationProfileSummaryInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) -} - -func (f *applicationProfileSummaryInformer) Informer() cache.SharedIndexInformer { - return f.factory.InformerFor(&softwarecompositionv1beta1.ApplicationProfileSummary{}, f.defaultInformer) -} - -func (f *applicationProfileSummaryInformer) Lister() v1beta1.ApplicationProfileSummaryLister { - return v1beta1.NewApplicationProfileSummaryLister(f.Informer().GetIndexer()) -} diff --git a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/interface.go b/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/interface.go index 9300b1e4e..5b6350acb 100644 --- a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/interface.go +++ b/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/interface.go @@ -28,8 +28,6 @@ type Interface interface { ApplicationActivities() ApplicationActivityInformer // ApplicationProfiles returns a ApplicationProfileInformer. ApplicationProfiles() ApplicationProfileInformer - // ApplicationProfileSummaries returns a ApplicationProfileSummaryInformer. - ApplicationProfileSummaries() ApplicationProfileSummaryInformer // ConfigurationScanSummaries returns a ConfigurationScanSummaryInformer. ConfigurationScanSummaries() ConfigurationScanSummaryInformer // GeneratedNetworkPolicies returns a GeneratedNetworkPolicyInformer. @@ -44,18 +42,12 @@ type Interface interface { SBOMSPDXv2p3s() SBOMSPDXv2p3Informer // SBOMSPDXv2p3Filtereds returns a SBOMSPDXv2p3FilteredInformer. SBOMSPDXv2p3Filtereds() SBOMSPDXv2p3FilteredInformer - // SBOMSummaries returns a SBOMSummaryInformer. - SBOMSummaries() SBOMSummaryInformer // SBOMSyfts returns a SBOMSyftInformer. SBOMSyfts() SBOMSyftInformer // SBOMSyftFiltereds returns a SBOMSyftFilteredInformer. SBOMSyftFiltereds() SBOMSyftFilteredInformer // VulnerabilityManifests returns a VulnerabilityManifestInformer. VulnerabilityManifests() VulnerabilityManifestInformer - // VulnerabilityManifestSummaries returns a VulnerabilityManifestSummaryInformer. - VulnerabilityManifestSummaries() VulnerabilityManifestSummaryInformer - // VulnerabilitySummaries returns a VulnerabilitySummaryInformer. - VulnerabilitySummaries() VulnerabilitySummaryInformer // WorkloadConfigurationScans returns a WorkloadConfigurationScanInformer. WorkloadConfigurationScans() WorkloadConfigurationScanInformer // WorkloadConfigurationScanSummaries returns a WorkloadConfigurationScanSummaryInformer. @@ -83,11 +75,6 @@ func (v *version) ApplicationProfiles() ApplicationProfileInformer { return &applicationProfileInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} } -// ApplicationProfileSummaries returns a ApplicationProfileSummaryInformer. -func (v *version) ApplicationProfileSummaries() ApplicationProfileSummaryInformer { - return &applicationProfileSummaryInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} -} - // ConfigurationScanSummaries returns a ConfigurationScanSummaryInformer. func (v *version) ConfigurationScanSummaries() ConfigurationScanSummaryInformer { return &configurationScanSummaryInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} @@ -123,11 +110,6 @@ func (v *version) SBOMSPDXv2p3Filtereds() SBOMSPDXv2p3FilteredInformer { return &sBOMSPDXv2p3FilteredInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} } -// SBOMSummaries returns a SBOMSummaryInformer. -func (v *version) SBOMSummaries() SBOMSummaryInformer { - return &sBOMSummaryInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} -} - // SBOMSyfts returns a SBOMSyftInformer. func (v *version) SBOMSyfts() SBOMSyftInformer { return &sBOMSyftInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} @@ -143,16 +125,6 @@ func (v *version) VulnerabilityManifests() VulnerabilityManifestInformer { return &vulnerabilityManifestInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} } -// VulnerabilityManifestSummaries returns a VulnerabilityManifestSummaryInformer. -func (v *version) VulnerabilityManifestSummaries() VulnerabilityManifestSummaryInformer { - return &vulnerabilityManifestSummaryInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} -} - -// VulnerabilitySummaries returns a VulnerabilitySummaryInformer. -func (v *version) VulnerabilitySummaries() VulnerabilitySummaryInformer { - return &vulnerabilitySummaryInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} -} - // WorkloadConfigurationScans returns a WorkloadConfigurationScanInformer. func (v *version) WorkloadConfigurationScans() WorkloadConfigurationScanInformer { return &workloadConfigurationScanInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} diff --git a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/sbomsummary.go b/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/sbomsummary.go deleted file mode 100644 index 6ef5af346..000000000 --- a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/sbomsummary.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by informer-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - time "time" - - softwarecompositionv1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - versioned "github.com/kubescape/storage/pkg/generated/clientset/versioned" - internalinterfaces "github.com/kubescape/storage/pkg/generated/informers/externalversions/internalinterfaces" - v1beta1 "github.com/kubescape/storage/pkg/generated/listers/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" -) - -// SBOMSummaryInformer provides access to a shared informer and lister for -// SBOMSummaries. -type SBOMSummaryInformer interface { - Informer() cache.SharedIndexInformer - Lister() v1beta1.SBOMSummaryLister -} - -type sBOMSummaryInformer struct { - factory internalinterfaces.SharedInformerFactory - tweakListOptions internalinterfaces.TweakListOptionsFunc - namespace string -} - -// NewSBOMSummaryInformer constructs a new informer for SBOMSummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewSBOMSummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredSBOMSummaryInformer(client, namespace, resyncPeriod, indexers, nil) -} - -// NewFilteredSBOMSummaryInformer constructs a new informer for SBOMSummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewFilteredSBOMSummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( - &cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().SBOMSummaries(namespace).List(context.TODO(), options) - }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().SBOMSummaries(namespace).Watch(context.TODO(), options) - }, - }, - &softwarecompositionv1beta1.SBOMSummary{}, - resyncPeriod, - indexers, - ) -} - -func (f *sBOMSummaryInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredSBOMSummaryInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) -} - -func (f *sBOMSummaryInformer) Informer() cache.SharedIndexInformer { - return f.factory.InformerFor(&softwarecompositionv1beta1.SBOMSummary{}, f.defaultInformer) -} - -func (f *sBOMSummaryInformer) Lister() v1beta1.SBOMSummaryLister { - return v1beta1.NewSBOMSummaryLister(f.Informer().GetIndexer()) -} diff --git a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go b/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go deleted file mode 100644 index 6d84a54f6..000000000 --- a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by informer-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - time "time" - - softwarecompositionv1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - versioned "github.com/kubescape/storage/pkg/generated/clientset/versioned" - internalinterfaces "github.com/kubescape/storage/pkg/generated/informers/externalversions/internalinterfaces" - v1beta1 "github.com/kubescape/storage/pkg/generated/listers/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" -) - -// VulnerabilityManifestSummaryInformer provides access to a shared informer and lister for -// VulnerabilityManifestSummaries. -type VulnerabilityManifestSummaryInformer interface { - Informer() cache.SharedIndexInformer - Lister() v1beta1.VulnerabilityManifestSummaryLister -} - -type vulnerabilityManifestSummaryInformer struct { - factory internalinterfaces.SharedInformerFactory - tweakListOptions internalinterfaces.TweakListOptionsFunc - namespace string -} - -// NewVulnerabilityManifestSummaryInformer constructs a new informer for VulnerabilityManifestSummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewVulnerabilityManifestSummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredVulnerabilityManifestSummaryInformer(client, namespace, resyncPeriod, indexers, nil) -} - -// NewFilteredVulnerabilityManifestSummaryInformer constructs a new informer for VulnerabilityManifestSummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewFilteredVulnerabilityManifestSummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( - &cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().VulnerabilityManifestSummaries(namespace).List(context.TODO(), options) - }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().VulnerabilityManifestSummaries(namespace).Watch(context.TODO(), options) - }, - }, - &softwarecompositionv1beta1.VulnerabilityManifestSummary{}, - resyncPeriod, - indexers, - ) -} - -func (f *vulnerabilityManifestSummaryInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredVulnerabilityManifestSummaryInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) -} - -func (f *vulnerabilityManifestSummaryInformer) Informer() cache.SharedIndexInformer { - return f.factory.InformerFor(&softwarecompositionv1beta1.VulnerabilityManifestSummary{}, f.defaultInformer) -} - -func (f *vulnerabilityManifestSummaryInformer) Lister() v1beta1.VulnerabilityManifestSummaryLister { - return v1beta1.NewVulnerabilityManifestSummaryLister(f.Informer().GetIndexer()) -} diff --git a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/vulnerabilitysummary.go b/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/vulnerabilitysummary.go deleted file mode 100644 index 3fa67c0ca..000000000 --- a/pkg/generated/informers/externalversions/softwarecomposition/v1beta1/vulnerabilitysummary.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by informer-gen. DO NOT EDIT. - -package v1beta1 - -import ( - "context" - time "time" - - softwarecompositionv1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - versioned "github.com/kubescape/storage/pkg/generated/clientset/versioned" - internalinterfaces "github.com/kubescape/storage/pkg/generated/informers/externalversions/internalinterfaces" - v1beta1 "github.com/kubescape/storage/pkg/generated/listers/softwarecomposition/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" - watch "k8s.io/apimachinery/pkg/watch" - cache "k8s.io/client-go/tools/cache" -) - -// VulnerabilitySummaryInformer provides access to a shared informer and lister for -// VulnerabilitySummaries. -type VulnerabilitySummaryInformer interface { - Informer() cache.SharedIndexInformer - Lister() v1beta1.VulnerabilitySummaryLister -} - -type vulnerabilitySummaryInformer struct { - factory internalinterfaces.SharedInformerFactory - tweakListOptions internalinterfaces.TweakListOptionsFunc - namespace string -} - -// NewVulnerabilitySummaryInformer constructs a new informer for VulnerabilitySummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewVulnerabilitySummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { - return NewFilteredVulnerabilitySummaryInformer(client, namespace, resyncPeriod, indexers, nil) -} - -// NewFilteredVulnerabilitySummaryInformer constructs a new informer for VulnerabilitySummary type. -// Always prefer using an informer factory to get a shared informer instead of getting an independent -// one. This reduces memory footprint and number of connections to the server. -func NewFilteredVulnerabilitySummaryInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { - return cache.NewSharedIndexInformer( - &cache.ListWatch{ - ListFunc: func(options v1.ListOptions) (runtime.Object, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().VulnerabilitySummaries(namespace).List(context.TODO(), options) - }, - WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { - if tweakListOptions != nil { - tweakListOptions(&options) - } - return client.SpdxV1beta1().VulnerabilitySummaries(namespace).Watch(context.TODO(), options) - }, - }, - &softwarecompositionv1beta1.VulnerabilitySummary{}, - resyncPeriod, - indexers, - ) -} - -func (f *vulnerabilitySummaryInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { - return NewFilteredVulnerabilitySummaryInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) -} - -func (f *vulnerabilitySummaryInformer) Informer() cache.SharedIndexInformer { - return f.factory.InformerFor(&softwarecompositionv1beta1.VulnerabilitySummary{}, f.defaultInformer) -} - -func (f *vulnerabilitySummaryInformer) Lister() v1beta1.VulnerabilitySummaryLister { - return v1beta1.NewVulnerabilitySummaryLister(f.Informer().GetIndexer()) -} diff --git a/pkg/generated/listers/softwarecomposition/v1beta1/applicationprofilesummary.go b/pkg/generated/listers/softwarecomposition/v1beta1/applicationprofilesummary.go deleted file mode 100644 index fe1717cdf..000000000 --- a/pkg/generated/listers/softwarecomposition/v1beta1/applicationprofilesummary.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by lister-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" -) - -// ApplicationProfileSummaryLister helps list ApplicationProfileSummaries. -// All objects returned here must be treated as read-only. -type ApplicationProfileSummaryLister interface { - // List lists all ApplicationProfileSummaries in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.ApplicationProfileSummary, err error) - // ApplicationProfileSummaries returns an object that can list and get ApplicationProfileSummaries. - ApplicationProfileSummaries(namespace string) ApplicationProfileSummaryNamespaceLister - ApplicationProfileSummaryListerExpansion -} - -// applicationProfileSummaryLister implements the ApplicationProfileSummaryLister interface. -type applicationProfileSummaryLister struct { - indexer cache.Indexer -} - -// NewApplicationProfileSummaryLister returns a new ApplicationProfileSummaryLister. -func NewApplicationProfileSummaryLister(indexer cache.Indexer) ApplicationProfileSummaryLister { - return &applicationProfileSummaryLister{indexer: indexer} -} - -// List lists all ApplicationProfileSummaries in the indexer. -func (s *applicationProfileSummaryLister) List(selector labels.Selector) (ret []*v1beta1.ApplicationProfileSummary, err error) { - err = cache.ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.ApplicationProfileSummary)) - }) - return ret, err -} - -// ApplicationProfileSummaries returns an object that can list and get ApplicationProfileSummaries. -func (s *applicationProfileSummaryLister) ApplicationProfileSummaries(namespace string) ApplicationProfileSummaryNamespaceLister { - return applicationProfileSummaryNamespaceLister{indexer: s.indexer, namespace: namespace} -} - -// ApplicationProfileSummaryNamespaceLister helps list and get ApplicationProfileSummaries. -// All objects returned here must be treated as read-only. -type ApplicationProfileSummaryNamespaceLister interface { - // List lists all ApplicationProfileSummaries in the indexer for a given namespace. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.ApplicationProfileSummary, err error) - // Get retrieves the ApplicationProfileSummary from the indexer for a given namespace and name. - // Objects returned here must be treated as read-only. - Get(name string) (*v1beta1.ApplicationProfileSummary, error) - ApplicationProfileSummaryNamespaceListerExpansion -} - -// applicationProfileSummaryNamespaceLister implements the ApplicationProfileSummaryNamespaceLister -// interface. -type applicationProfileSummaryNamespaceLister struct { - indexer cache.Indexer - namespace string -} - -// List lists all ApplicationProfileSummaries in the indexer for a given namespace. -func (s applicationProfileSummaryNamespaceLister) List(selector labels.Selector) (ret []*v1beta1.ApplicationProfileSummary, err error) { - err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.ApplicationProfileSummary)) - }) - return ret, err -} - -// Get retrieves the ApplicationProfileSummary from the indexer for a given namespace and name. -func (s applicationProfileSummaryNamespaceLister) Get(name string) (*v1beta1.ApplicationProfileSummary, error) { - obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(v1beta1.Resource("applicationprofilesummary"), name) - } - return obj.(*v1beta1.ApplicationProfileSummary), nil -} diff --git a/pkg/generated/listers/softwarecomposition/v1beta1/expansion_generated.go b/pkg/generated/listers/softwarecomposition/v1beta1/expansion_generated.go index 7c5ea9d02..67b618e30 100644 --- a/pkg/generated/listers/softwarecomposition/v1beta1/expansion_generated.go +++ b/pkg/generated/listers/softwarecomposition/v1beta1/expansion_generated.go @@ -34,14 +34,6 @@ type ApplicationProfileListerExpansion interface{} // ApplicationProfileNamespaceLister. type ApplicationProfileNamespaceListerExpansion interface{} -// ApplicationProfileSummaryListerExpansion allows custom methods to be added to -// ApplicationProfileSummaryLister. -type ApplicationProfileSummaryListerExpansion interface{} - -// ApplicationProfileSummaryNamespaceListerExpansion allows custom methods to be added to -// ApplicationProfileSummaryNamespaceLister. -type ApplicationProfileSummaryNamespaceListerExpansion interface{} - // ConfigurationScanSummaryListerExpansion allows custom methods to be added to // ConfigurationScanSummaryLister. type ConfigurationScanSummaryListerExpansion interface{} @@ -98,14 +90,6 @@ type SBOMSPDXv2p3FilteredListerExpansion interface{} // SBOMSPDXv2p3FilteredNamespaceLister. type SBOMSPDXv2p3FilteredNamespaceListerExpansion interface{} -// SBOMSummaryListerExpansion allows custom methods to be added to -// SBOMSummaryLister. -type SBOMSummaryListerExpansion interface{} - -// SBOMSummaryNamespaceListerExpansion allows custom methods to be added to -// SBOMSummaryNamespaceLister. -type SBOMSummaryNamespaceListerExpansion interface{} - // SBOMSyftListerExpansion allows custom methods to be added to // SBOMSyftLister. type SBOMSyftListerExpansion interface{} @@ -130,22 +114,6 @@ type VulnerabilityManifestListerExpansion interface{} // VulnerabilityManifestNamespaceLister. type VulnerabilityManifestNamespaceListerExpansion interface{} -// VulnerabilityManifestSummaryListerExpansion allows custom methods to be added to -// VulnerabilityManifestSummaryLister. -type VulnerabilityManifestSummaryListerExpansion interface{} - -// VulnerabilityManifestSummaryNamespaceListerExpansion allows custom methods to be added to -// VulnerabilityManifestSummaryNamespaceLister. -type VulnerabilityManifestSummaryNamespaceListerExpansion interface{} - -// VulnerabilitySummaryListerExpansion allows custom methods to be added to -// VulnerabilitySummaryLister. -type VulnerabilitySummaryListerExpansion interface{} - -// VulnerabilitySummaryNamespaceListerExpansion allows custom methods to be added to -// VulnerabilitySummaryNamespaceLister. -type VulnerabilitySummaryNamespaceListerExpansion interface{} - // WorkloadConfigurationScanListerExpansion allows custom methods to be added to // WorkloadConfigurationScanLister. type WorkloadConfigurationScanListerExpansion interface{} diff --git a/pkg/generated/listers/softwarecomposition/v1beta1/sbomsummary.go b/pkg/generated/listers/softwarecomposition/v1beta1/sbomsummary.go deleted file mode 100644 index 4d5f4511b..000000000 --- a/pkg/generated/listers/softwarecomposition/v1beta1/sbomsummary.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by lister-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" -) - -// SBOMSummaryLister helps list SBOMSummaries. -// All objects returned here must be treated as read-only. -type SBOMSummaryLister interface { - // List lists all SBOMSummaries in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.SBOMSummary, err error) - // SBOMSummaries returns an object that can list and get SBOMSummaries. - SBOMSummaries(namespace string) SBOMSummaryNamespaceLister - SBOMSummaryListerExpansion -} - -// sBOMSummaryLister implements the SBOMSummaryLister interface. -type sBOMSummaryLister struct { - indexer cache.Indexer -} - -// NewSBOMSummaryLister returns a new SBOMSummaryLister. -func NewSBOMSummaryLister(indexer cache.Indexer) SBOMSummaryLister { - return &sBOMSummaryLister{indexer: indexer} -} - -// List lists all SBOMSummaries in the indexer. -func (s *sBOMSummaryLister) List(selector labels.Selector) (ret []*v1beta1.SBOMSummary, err error) { - err = cache.ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.SBOMSummary)) - }) - return ret, err -} - -// SBOMSummaries returns an object that can list and get SBOMSummaries. -func (s *sBOMSummaryLister) SBOMSummaries(namespace string) SBOMSummaryNamespaceLister { - return sBOMSummaryNamespaceLister{indexer: s.indexer, namespace: namespace} -} - -// SBOMSummaryNamespaceLister helps list and get SBOMSummaries. -// All objects returned here must be treated as read-only. -type SBOMSummaryNamespaceLister interface { - // List lists all SBOMSummaries in the indexer for a given namespace. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.SBOMSummary, err error) - // Get retrieves the SBOMSummary from the indexer for a given namespace and name. - // Objects returned here must be treated as read-only. - Get(name string) (*v1beta1.SBOMSummary, error) - SBOMSummaryNamespaceListerExpansion -} - -// sBOMSummaryNamespaceLister implements the SBOMSummaryNamespaceLister -// interface. -type sBOMSummaryNamespaceLister struct { - indexer cache.Indexer - namespace string -} - -// List lists all SBOMSummaries in the indexer for a given namespace. -func (s sBOMSummaryNamespaceLister) List(selector labels.Selector) (ret []*v1beta1.SBOMSummary, err error) { - err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.SBOMSummary)) - }) - return ret, err -} - -// Get retrieves the SBOMSummary from the indexer for a given namespace and name. -func (s sBOMSummaryNamespaceLister) Get(name string) (*v1beta1.SBOMSummary, error) { - obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(v1beta1.Resource("sbomsummary"), name) - } - return obj.(*v1beta1.SBOMSummary), nil -} diff --git a/pkg/generated/listers/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go b/pkg/generated/listers/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go deleted file mode 100644 index 22a46cd71..000000000 --- a/pkg/generated/listers/softwarecomposition/v1beta1/vulnerabilitymanifestsummary.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by lister-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" -) - -// VulnerabilityManifestSummaryLister helps list VulnerabilityManifestSummaries. -// All objects returned here must be treated as read-only. -type VulnerabilityManifestSummaryLister interface { - // List lists all VulnerabilityManifestSummaries in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.VulnerabilityManifestSummary, err error) - // VulnerabilityManifestSummaries returns an object that can list and get VulnerabilityManifestSummaries. - VulnerabilityManifestSummaries(namespace string) VulnerabilityManifestSummaryNamespaceLister - VulnerabilityManifestSummaryListerExpansion -} - -// vulnerabilityManifestSummaryLister implements the VulnerabilityManifestSummaryLister interface. -type vulnerabilityManifestSummaryLister struct { - indexer cache.Indexer -} - -// NewVulnerabilityManifestSummaryLister returns a new VulnerabilityManifestSummaryLister. -func NewVulnerabilityManifestSummaryLister(indexer cache.Indexer) VulnerabilityManifestSummaryLister { - return &vulnerabilityManifestSummaryLister{indexer: indexer} -} - -// List lists all VulnerabilityManifestSummaries in the indexer. -func (s *vulnerabilityManifestSummaryLister) List(selector labels.Selector) (ret []*v1beta1.VulnerabilityManifestSummary, err error) { - err = cache.ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.VulnerabilityManifestSummary)) - }) - return ret, err -} - -// VulnerabilityManifestSummaries returns an object that can list and get VulnerabilityManifestSummaries. -func (s *vulnerabilityManifestSummaryLister) VulnerabilityManifestSummaries(namespace string) VulnerabilityManifestSummaryNamespaceLister { - return vulnerabilityManifestSummaryNamespaceLister{indexer: s.indexer, namespace: namespace} -} - -// VulnerabilityManifestSummaryNamespaceLister helps list and get VulnerabilityManifestSummaries. -// All objects returned here must be treated as read-only. -type VulnerabilityManifestSummaryNamespaceLister interface { - // List lists all VulnerabilityManifestSummaries in the indexer for a given namespace. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.VulnerabilityManifestSummary, err error) - // Get retrieves the VulnerabilityManifestSummary from the indexer for a given namespace and name. - // Objects returned here must be treated as read-only. - Get(name string) (*v1beta1.VulnerabilityManifestSummary, error) - VulnerabilityManifestSummaryNamespaceListerExpansion -} - -// vulnerabilityManifestSummaryNamespaceLister implements the VulnerabilityManifestSummaryNamespaceLister -// interface. -type vulnerabilityManifestSummaryNamespaceLister struct { - indexer cache.Indexer - namespace string -} - -// List lists all VulnerabilityManifestSummaries in the indexer for a given namespace. -func (s vulnerabilityManifestSummaryNamespaceLister) List(selector labels.Selector) (ret []*v1beta1.VulnerabilityManifestSummary, err error) { - err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.VulnerabilityManifestSummary)) - }) - return ret, err -} - -// Get retrieves the VulnerabilityManifestSummary from the indexer for a given namespace and name. -func (s vulnerabilityManifestSummaryNamespaceLister) Get(name string) (*v1beta1.VulnerabilityManifestSummary, error) { - obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(v1beta1.Resource("vulnerabilitymanifestsummary"), name) - } - return obj.(*v1beta1.VulnerabilityManifestSummary), nil -} diff --git a/pkg/generated/listers/softwarecomposition/v1beta1/vulnerabilitysummary.go b/pkg/generated/listers/softwarecomposition/v1beta1/vulnerabilitysummary.go deleted file mode 100644 index d0039e2c2..000000000 --- a/pkg/generated/listers/softwarecomposition/v1beta1/vulnerabilitysummary.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by lister-gen. DO NOT EDIT. - -package v1beta1 - -import ( - v1beta1 "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/tools/cache" -) - -// VulnerabilitySummaryLister helps list VulnerabilitySummaries. -// All objects returned here must be treated as read-only. -type VulnerabilitySummaryLister interface { - // List lists all VulnerabilitySummaries in the indexer. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.VulnerabilitySummary, err error) - // VulnerabilitySummaries returns an object that can list and get VulnerabilitySummaries. - VulnerabilitySummaries(namespace string) VulnerabilitySummaryNamespaceLister - VulnerabilitySummaryListerExpansion -} - -// vulnerabilitySummaryLister implements the VulnerabilitySummaryLister interface. -type vulnerabilitySummaryLister struct { - indexer cache.Indexer -} - -// NewVulnerabilitySummaryLister returns a new VulnerabilitySummaryLister. -func NewVulnerabilitySummaryLister(indexer cache.Indexer) VulnerabilitySummaryLister { - return &vulnerabilitySummaryLister{indexer: indexer} -} - -// List lists all VulnerabilitySummaries in the indexer. -func (s *vulnerabilitySummaryLister) List(selector labels.Selector) (ret []*v1beta1.VulnerabilitySummary, err error) { - err = cache.ListAll(s.indexer, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.VulnerabilitySummary)) - }) - return ret, err -} - -// VulnerabilitySummaries returns an object that can list and get VulnerabilitySummaries. -func (s *vulnerabilitySummaryLister) VulnerabilitySummaries(namespace string) VulnerabilitySummaryNamespaceLister { - return vulnerabilitySummaryNamespaceLister{indexer: s.indexer, namespace: namespace} -} - -// VulnerabilitySummaryNamespaceLister helps list and get VulnerabilitySummaries. -// All objects returned here must be treated as read-only. -type VulnerabilitySummaryNamespaceLister interface { - // List lists all VulnerabilitySummaries in the indexer for a given namespace. - // Objects returned here must be treated as read-only. - List(selector labels.Selector) (ret []*v1beta1.VulnerabilitySummary, err error) - // Get retrieves the VulnerabilitySummary from the indexer for a given namespace and name. - // Objects returned here must be treated as read-only. - Get(name string) (*v1beta1.VulnerabilitySummary, error) - VulnerabilitySummaryNamespaceListerExpansion -} - -// vulnerabilitySummaryNamespaceLister implements the VulnerabilitySummaryNamespaceLister -// interface. -type vulnerabilitySummaryNamespaceLister struct { - indexer cache.Indexer - namespace string -} - -// List lists all VulnerabilitySummaries in the indexer for a given namespace. -func (s vulnerabilitySummaryNamespaceLister) List(selector labels.Selector) (ret []*v1beta1.VulnerabilitySummary, err error) { - err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { - ret = append(ret, m.(*v1beta1.VulnerabilitySummary)) - }) - return ret, err -} - -// Get retrieves the VulnerabilitySummary from the indexer for a given namespace and name. -func (s vulnerabilitySummaryNamespaceLister) Get(name string) (*v1beta1.VulnerabilitySummary, error) { - obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) - if err != nil { - return nil, err - } - if !exists { - return nil, errors.NewNotFound(v1beta1.Resource("vulnerabilitysummary"), name) - } - return obj.(*v1beta1.VulnerabilitySummary), nil -} diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index 246469c41..b2085b282 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -43,8 +43,6 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ApplicationProfileList": schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileList(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ApplicationProfileSpec": schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileSpec(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ApplicationProfileStatus": schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileStatus(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ApplicationProfileSummary": schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileSummary(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ApplicationProfileSummaryList": schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileSummaryList(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ArtifactOfProject": schema_pkg_apis_softwarecomposition_v1beta1_ArtifactOfProject(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.Checksum": schema_pkg_apis_softwarecomposition_v1beta1_Checksum(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.Component": schema_pkg_apis_softwarecomposition_v1beta1_Component(ref), @@ -142,9 +140,6 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSPDXv2p3List": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSPDXv2p3List(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSPDXv2p3Spec": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSPDXv2p3Spec(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSPDXv2p3Status": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSPDXv2p3Status(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSummary": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSummary(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSummaryList": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSummaryList(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSummarySpec": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSummarySpec(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSyft": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSyft(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSyftFiltered": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSyftFiltered(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSyftFilteredList": schema_pkg_apis_softwarecomposition_v1beta1_SBOMSyftFilteredList(ref), @@ -187,15 +182,8 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestReportMeta": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestReportMeta(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSpec": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestSpec(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestStatus": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestStatus(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSummary": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestSummary(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSummaryList": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestSummaryList(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSummarySpec": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestSummarySpec(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestToolMeta": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestToolMeta(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityMetadata": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityMetadata(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummary": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummary(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummaryList": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummaryList(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummarySpec": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummarySpec(ref), - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummaryStatus": schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummaryStatus(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.WorkloadConfigurationScan": schema_pkg_apis_softwarecomposition_v1beta1_WorkloadConfigurationScan(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.WorkloadConfigurationScanList": schema_pkg_apis_softwarecomposition_v1beta1_WorkloadConfigurationScanList(ref), "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.WorkloadConfigurationScanSeveritiesSummary": schema_pkg_apis_softwarecomposition_v1beta1_WorkloadConfigurationScanSeveritiesSummary(ref), @@ -735,88 +723,6 @@ func schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileStatus(ref co } } -func schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileSummary(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_ApplicationProfileSummaryList(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), - }, - }, - "items": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ApplicationProfileSummary"), - }, - }, - }, - }, - }, - }, - Required: []string{"items"}, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.ApplicationProfileSummary", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, - } -} - func schema_pkg_apis_softwarecomposition_v1beta1_ArtifactOfProject(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -5505,113 +5411,6 @@ func schema_pkg_apis_softwarecomposition_v1beta1_SBOMSPDXv2p3Status(ref common.R } } -func schema_pkg_apis_softwarecomposition_v1beta1_SBOMSummary(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "SBOMSummary is a summary of an SBOM. It is not meant to be changed and only works as a lightweight facade for watching proper SBOMs.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSummarySpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSPDXv2p3Status"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSPDXv2p3Status", "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSummarySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_SBOMSummaryList(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "SBOMSummaryList is a list of SBOM summaries", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), - }, - }, - "items": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSummary"), - }, - }, - }, - }, - }, - }, - Required: []string{"items"}, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SBOMSummary", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_SBOMSummarySpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "SBOMSummarySpec is the spec for the SBOM summary\n\nSince the summary spec is supposed to hold no data, only used as a low footprint way to watch for heavy full-sized SBOMs, the spec is supposed to be empty on purpose.", - Type: []string{"object"}, - }, - }, - } -} - func schema_pkg_apis_softwarecomposition_v1beta1_SBOMSyft(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -7301,129 +7100,6 @@ func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestStatus(ref } } -func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestSummary(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "VulnerabilityManifestSummary is a summary of a VulnerabilityManifests.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSummarySpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestStatus", "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSummarySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestSummaryList(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "VulnerabilityManifestSummaryList is a list of VulnerabilityManifest summaries.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), - }, - }, - "items": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSummary"), - }, - }, - }, - }, - }, - }, - Required: []string{"items"}, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilityManifestSummary", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestSummarySpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "severities": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SeveritySummary"), - }, - }, - "vulnerabilitiesRef": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitiesComponents"), - }, - }, - }, - Required: []string{"severities", "vulnerabilitiesRef"}, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SeveritySummary", "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitiesComponents"}, - } -} - func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityManifestToolMeta(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -7533,146 +7209,6 @@ func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilityMetadata(ref commo } } -func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummary(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "VulnerabilitySummary is a summary of a vulnerabilities for a given scope.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummarySpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummaryStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummarySpec", "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummaryStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummaryList(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "VulnerabilitySummaryList is a list of VulnerabilitySummary.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), - }, - }, - "items": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummary"), - }, - }, - }, - }, - }, - }, - Required: []string{"items"}, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitySummary", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummarySpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "severities": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SeveritySummary"), - }, - }, - "vulnerabilitiesRef": { - SchemaProps: spec.SchemaProps{ - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitiesObjScope"), - }, - }, - }, - }, - }, - }, - Required: []string{"severities", "vulnerabilitiesRef"}, - }, - }, - Dependencies: []string{ - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.SeveritySummary", "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1.VulnerabilitiesObjScope"}, - } -} - -func schema_pkg_apis_softwarecomposition_v1beta1_VulnerabilitySummaryStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - }, - }, - } -} - func schema_pkg_apis_softwarecomposition_v1beta1_WorkloadConfigurationScan(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ diff --git a/pkg/registry/file/configurationscansummarystorage.go b/pkg/registry/file/configurationscansummarystorage.go deleted file mode 100644 index 9d506a671..000000000 --- a/pkg/registry/file/configurationscansummarystorage.go +++ /dev/null @@ -1,216 +0,0 @@ -package file - -import ( - "context" - "encoding/json" - - "github.com/kubescape/go-logger" - "github.com/kubescape/go-logger/helpers" - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/attribute" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/storage" -) - -const ( - configurationScanSummaryKind = "ConfigurationScanSummary" - operationNotSupportedMsg = "operation not supported" - workloadConfigurationScanSummariesResource = "workloadconfigurationscansummaries" -) - -// ConfigurationScanSummaryStorage offers a storage solution for ConfigurationScanSummary objects, implementing custom business logic for these objects and using the underlying default storage implementation. -type ConfigurationScanSummaryStorage struct { - realStore StorageQuerier - versioner storage.Versioner -} - -var _ storage.Interface = &ConfigurationScanSummaryStorage{} - -func NewConfigurationScanSummaryStorage(realStore *StorageQuerier) storage.Interface { - return &ConfigurationScanSummaryStorage{ - realStore: *realStore, - versioner: storage.APIObjectVersioner{}, - } -} - -// Versioner Returns Versioner associated with this interface. -func (s *ConfigurationScanSummaryStorage) Versioner() storage.Versioner { - return s.versioner -} - -// Create is not supported for ConfigurationScanSummary objects. Objects are generated on the fly and not stored. -func (s *ConfigurationScanSummaryStorage) Create(ctx context.Context, key string, obj, out runtime.Object, _ uint64) error { - return storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// Delete is not supported for ConfigurationScanSummary objects. Objects are generated on the fly and not stored. -func (s *ConfigurationScanSummaryStorage) Delete(ctx context.Context, key string, out runtime.Object, _ *storage.Preconditions, _ storage.ValidateObjectFunc, _ runtime.Object) error { - return storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// Watch is not supported for ConfigurationScanSummary objects. Objects are generated on the fly and not stored. -func (s *ConfigurationScanSummaryStorage) Watch(ctx context.Context, key string, _ storage.ListOptions) (watch.Interface, error) { - return nil, storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// Get generates and returns a single ConfigurationScanSummary object for a namespace -func (s *ConfigurationScanSummaryStorage) Get(ctx context.Context, key string, opts storage.GetOptions, objPtr runtime.Object) error { - ctx, span := otel.Tracer("").Start(ctx, "ConfigurationScanSummaryStorage.Get") - span.SetAttributes(attribute.String("key", key)) - defer span.End() - - workloadScanSummaryListObjPtr := &softwarecomposition.WorkloadConfigurationScanSummaryList{} - - namespace := getNamespaceFromKey(key) - - if err := s.realStore.GetByNamespace(ctx, v1beta1.GroupName, workloadConfigurationScanSummariesResource, namespace, workloadScanSummaryListObjPtr); err != nil { - return err - } - - if &workloadScanSummaryListObjPtr == nil { - return storage.NewInternalError("workload scan summary list is nil") - } - - if len(workloadScanSummaryListObjPtr.Items) == 0 { - return storage.NewKeyNotFoundError(key, 0) - } - - configurationScanSummaryObj := buildConfigurationScanSummary(*workloadScanSummaryListObjPtr, namespace) - - data, err := json.Marshal(configurationScanSummaryObj) - if err != nil { - logger.L().Ctx(ctx).Error("json marshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - if err = json.Unmarshal(data, objPtr); err != nil { - logger.L().Ctx(ctx).Error("json unmarshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - return nil -} - -// GetList generates and returns a list of ConfigurationScanSummary objects for the cluster -func (s *ConfigurationScanSummaryStorage) GetList(ctx context.Context, key string, _ storage.ListOptions, listObj runtime.Object) error { - ctx, span := otel.Tracer("").Start(ctx, "ConfigurationScanSummaryStorage.GetList") - span.SetAttributes(attribute.String("key", key)) - defer span.End() - - workloadScanSummaryListObjPtr := &softwarecomposition.WorkloadConfigurationScanSummaryList{} - - // ask for all workloadconfigurationscansummaries in the cluster - if err := s.realStore.GetByCluster(ctx, v1beta1.GroupName, workloadConfigurationScanSummariesResource, workloadScanSummaryListObjPtr); err != nil { - return err - } - - // generate a single configurationScanSummary for the cluster, with an configuration scan summary for each namespace - nsSummaries := buildConfigurationScanSummaryForCluster(*workloadScanSummaryListObjPtr) - - data, err := json.Marshal(nsSummaries) - if err != nil { - logger.L().Ctx(ctx).Error("json marshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - if err = json.Unmarshal(data, listObj); err != nil { - logger.L().Ctx(ctx).Error("json unmarshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - return nil -} - -// GuaranteedUpdate is not supported for ConfigurationScanSummary objects. Objects are generated on the fly and not stored. -func (s *ConfigurationScanSummaryStorage) GuaranteedUpdate( - ctx context.Context, key string, destination runtime.Object, ignoreNotFound bool, - preconditions *storage.Preconditions, tryUpdate storage.UpdateFunc, cachedExistingObject runtime.Object) error { - return storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// Count is not supported for ConfigurationScanSummary objects. Objects are generated on the fly and not stored. -func (s *ConfigurationScanSummaryStorage) Count(key string) (int64, error) { - return 0, storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// RequestWatchProgress fulfills the storage.Interface -// -// It’s function is only relevant to etcd. -func (s *ConfigurationScanSummaryStorage) RequestWatchProgress(context.Context) error { - return nil -} - -// buildConfigurationScanSummaryForCluster generates a configuration scan summary list for the cluster, where each item is a configuration scan summary for a namespace -func buildConfigurationScanSummaryForCluster(wlConfigurationScanSummaryList softwarecomposition.WorkloadConfigurationScanSummaryList) softwarecomposition.ConfigurationScanSummaryList { - - // build an map of namespace to workload configuration scan summaries - mapNamespaceToSummaries := make(map[string][]softwarecomposition.WorkloadConfigurationScanSummary) - - for _, wlSummary := range wlConfigurationScanSummaryList.Items { - if _, ok := mapNamespaceToSummaries[wlSummary.Namespace]; !ok { - mapNamespaceToSummaries[wlSummary.Namespace] = make([]softwarecomposition.WorkloadConfigurationScanSummary, 0) - } - mapNamespaceToSummaries[wlSummary.Namespace] = append(mapNamespaceToSummaries[wlSummary.Namespace], wlSummary) - } - - configurationScanSummaryList := softwarecomposition.ConfigurationScanSummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: configurationScanSummaryKind, - APIVersion: StorageV1Beta1ApiVersion, - }, - } - - // 1 - build a workload configuration scan summary list for each namespace - // 2 - generate a single configuration scan summary for the namespace - // 3 - add the configuration scan summary to the cluster summary list object - for namespace, wlSummaries := range mapNamespaceToSummaries { - // for each namespace, create a single workload configuration scan summary object - nsListObj := softwarecomposition.WorkloadConfigurationScanSummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: configurationScanSummaryKind, - APIVersion: StorageV1Beta1ApiVersion, - }, - Items: wlSummaries, - } - - configurationScanSummaryList.Items = append(configurationScanSummaryList.Items, buildConfigurationScanSummary(nsListObj, namespace)) - } - - return configurationScanSummaryList -} - -// buildConfigurationScanSummary generates a single configuration scan summary for the given namespace -func buildConfigurationScanSummary(wlConfigurationScanSummaryList softwarecomposition.WorkloadConfigurationScanSummaryList, namespace string) softwarecomposition.ConfigurationScanSummary { - configurationScanSummaryObj := softwarecomposition.ConfigurationScanSummary{ - TypeMeta: v1.TypeMeta{ - Kind: configurationScanSummaryKind, - APIVersion: StorageV1Beta1ApiVersion, - }, - ObjectMeta: v1.ObjectMeta{ - Name: namespace, - }, - } - - for i := range wlConfigurationScanSummaryList.Items { - configurationScanSummaryObj.Spec.Severities.Critical += wlConfigurationScanSummaryList.Items[i].Spec.Severities.Critical - configurationScanSummaryObj.Spec.Severities.High += wlConfigurationScanSummaryList.Items[i].Spec.Severities.High - configurationScanSummaryObj.Spec.Severities.Medium += wlConfigurationScanSummaryList.Items[i].Spec.Severities.Medium - configurationScanSummaryObj.Spec.Severities.Low += wlConfigurationScanSummaryList.Items[i].Spec.Severities.Low - configurationScanSummaryObj.Spec.Severities.Unknown += wlConfigurationScanSummaryList.Items[i].Spec.Severities.Unknown - - wlIdentifier := softwarecomposition.WorkloadConfigurationScanSummaryIdentifier{ - Namespace: wlConfigurationScanSummaryList.Items[i].Namespace, - Kind: "WorkloadConfigurationScanSummary", - Name: wlConfigurationScanSummaryList.Items[i].Name, - } - - configurationScanSummaryObj.Spec.WorkloadConfigurationScanSummaryIdentifiers = append(configurationScanSummaryObj.Spec.WorkloadConfigurationScanSummaryIdentifiers, wlIdentifier) - - } - - return configurationScanSummaryObj -} diff --git a/pkg/registry/file/configurationscansummarystorage_test.go b/pkg/registry/file/configurationscansummarystorage_test.go deleted file mode 100644 index 14f335576..000000000 --- a/pkg/registry/file/configurationscansummarystorage_test.go +++ /dev/null @@ -1,735 +0,0 @@ -package file - -import ( - "context" - "testing" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "github.com/spf13/afero" - "github.com/stretchr/testify/assert" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/storage" -) - -func TestConfigurationScanSummaryStorage_Count(t *testing.T) { - storageImpl := NewStorageImpl(afero.NewMemMapFs(), "") - configScanSummaryStorage := NewConfigurationScanSummaryStorage(&storageImpl) - - count, err := configScanSummaryStorage.Count("random") - - assert.Equal(t, int64(0), count) - - expectedError := storage.NewInvalidObjError("random", operationNotSupportedMsg) - - assert.EqualError(t, err, expectedError.Error()) -} - -func TestConfigurationScanSummaryStorage_Create(t *testing.T) { - storageImpl := NewStorageImpl(afero.NewMemMapFs(), "") - configScanSummaryStorage := NewConfigurationScanSummaryStorage(&storageImpl) - - err := configScanSummaryStorage.Create(context.TODO(), "", nil, nil, 0) - - expectedError := storage.NewInvalidObjError("", operationNotSupportedMsg) - - assert.EqualError(t, err, expectedError.Error()) -} - -func TestConfigurationScanSummaryStorage_Delete(t *testing.T) { - storageImpl := NewStorageImpl(afero.NewMemMapFs(), "") - configScanSummaryStorage := NewConfigurationScanSummaryStorage(&storageImpl) - - err := configScanSummaryStorage.Delete(context.TODO(), "", nil, nil, nil, nil) - - expectedError := storage.NewInvalidObjError("", operationNotSupportedMsg) - - assert.EqualError(t, err, expectedError.Error()) -} - -func TestConfigurationScanSummaryStorage_Watch(t *testing.T) { - storageImpl := NewStorageImpl(afero.NewMemMapFs(), "") - configScanSummaryStorage := NewConfigurationScanSummaryStorage(&storageImpl) - - _, err := configScanSummaryStorage.Watch(context.TODO(), "", storage.ListOptions{}) - - expectedError := storage.NewInvalidObjError("", operationNotSupportedMsg) - - assert.EqualError(t, err, expectedError.Error()) -} - -func TestConfigurationScanSummaryStorage_GuaranteedUpdate(t *testing.T) { - storageImpl := NewStorageImpl(afero.NewMemMapFs(), "") - configScanSummaryStorage := NewConfigurationScanSummaryStorage(&storageImpl) - - err := configScanSummaryStorage.GuaranteedUpdate(context.TODO(), "", nil, false, nil, nil, nil) - - expectedError := storage.NewInvalidObjError("", operationNotSupportedMsg) - - assert.EqualError(t, err, expectedError.Error()) -} - -func TestConfigurationScanSummaryStorage_Get(t *testing.T) { - type args struct { - key string - opts storage.GetOptions - objPtr runtime.Object - } - tests := []struct { - name string - args args - create bool - expectedError error - want runtime.Object - }{ - { - name: "no existing objects return empty list", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/configurationscansummaries/kubescape/toto", - }, - expectedError: storage.NewKeyNotFoundError("/spdx.softwarecomposition.kubescape.io/configurationscansummaries/kubescape/toto", 0), - }, - { - name: "existing object is returned", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/configurationscansummaries/kubescape", - objPtr: &v1beta1.ConfigurationScanSummary{}, - }, - expectedError: nil, - create: true, - want: &v1beta1.ConfigurationScanSummary{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - }, - }, - } - - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - configScanSummaryStorage := NewConfigurationScanSummaryStorage(&realStorage) - - if tt.create { - wlObj := &softwarecomposition.WorkloadConfigurationScanSummary{} - _ = realStorage.Create(context.TODO(), "/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/toto", wlObj, nil, 0) - } - - err := configScanSummaryStorage.Get(context.TODO(), tt.args.key, tt.args.opts, tt.args.objPtr) - - if tt.expectedError != nil { - assert.EqualError(t, err, tt.expectedError.Error()) - } - - assert.Equal(t, tt.want, tt.args.objPtr) - }) - } -} - -func TestConfigurationScanSummaryStorage_GetList(t *testing.T) { - type args struct { - key string - opts storage.ListOptions - objPtr runtime.Object - } - tests := []struct { - name string - args args - create bool - expectedError error - want runtime.Object - }{ - { - name: "no existing objects return empty list", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/configurationscansummaries", - }, - }, - { - name: "existing object is returned", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/configurationscansummaries", - objPtr: &v1beta1.ConfigurationScanSummaryList{}, - }, - expectedError: nil, - create: true, - want: &v1beta1.ConfigurationScanSummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - Items: []v1beta1.ConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - }, - }, - }, - }, - } - - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - configScanSummaryStorage := NewConfigurationScanSummaryStorage(&realStorage) - - if tt.create { - wlObj := &softwarecomposition.WorkloadConfigurationScanSummary{} - _ = realStorage.Create(context.TODO(), "/spdx.softwarecomposition.kubescape.io/workloadconfigurationscansummaries/kubescape/toto", wlObj, nil, 0) - } - - err := configScanSummaryStorage.GetList(context.TODO(), tt.args.key, tt.args.opts, tt.args.objPtr) - - if tt.expectedError != nil { - assert.EqualError(t, err, tt.expectedError.Error()) - } - - assert.Equal(t, tt.want, tt.args.objPtr) - }) - } -} - -func TestGenerateConfigurationScanSummary(t *testing.T) { - tests := []struct { - name string - wlConfigurationScanSummaryList softwarecomposition.WorkloadConfigurationScanSummaryList - want softwarecomposition.ConfigurationScanSummary - }{ - { - name: "no resources", - wlConfigurationScanSummaryList: softwarecomposition.WorkloadConfigurationScanSummaryList{}, - want: softwarecomposition.ConfigurationScanSummary{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "default", - }, - }, - }, - { - name: "one resource", - wlConfigurationScanSummaryList: softwarecomposition.WorkloadConfigurationScanSummaryList{ - Items: []softwarecomposition.WorkloadConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-1", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - }, - }, - }, - }, - want: softwarecomposition.ConfigurationScanSummary{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "default", - }, - Spec: softwarecomposition.ConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - WorkloadConfigurationScanSummaryIdentifiers: []softwarecomposition.WorkloadConfigurationScanSummaryIdentifier{ - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-1", - }, - }, - }, - }, - }, - { - name: "multiple resources", - wlConfigurationScanSummaryList: softwarecomposition.WorkloadConfigurationScanSummaryList{ - Items: []softwarecomposition.WorkloadConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-1", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-2", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 1, - High: 1, - Medium: 1, - Low: 1, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-3", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 1, - High: 1, - Low: 1, - }, - }, - }, - }, - }, - - want: softwarecomposition.ConfigurationScanSummary{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "default", - }, - Spec: softwarecomposition.ConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 2, - High: 3, - Medium: 2, - Low: 4, - }, - WorkloadConfigurationScanSummaryIdentifiers: []softwarecomposition.WorkloadConfigurationScanSummaryIdentifier{ - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-1", - }, - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-2", - }, - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-3", - }, - }, - }, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got := buildConfigurationScanSummary(tt.wlConfigurationScanSummaryList, "default") - - assert.Equal(t, got.APIVersion, tt.want.APIVersion) - assert.Equal(t, got.Kind, tt.want.Kind) - assert.Equal(t, got.Name, tt.want.Name) - - assert.Equal(t, got.Spec.Severities.Critical, tt.want.Spec.Severities.Critical) - assert.Equal(t, got.Spec.Severities.High, tt.want.Spec.Severities.High) - assert.Equal(t, got.Spec.Severities.Medium, tt.want.Spec.Severities.Medium) - assert.Equal(t, got.Spec.Severities.Low, tt.want.Spec.Severities.Low) - assert.Equal(t, got.Spec.Severities.Unknown, tt.want.Spec.Severities.Unknown) - - if len(got.Spec.WorkloadConfigurationScanSummaryIdentifiers) != len(tt.want.Spec.WorkloadConfigurationScanSummaryIdentifiers) { - t.Errorf("generateConfigurationScanSummary() = %v, want %v", len(got.Spec.WorkloadConfigurationScanSummaryIdentifiers), len(tt.want.Spec.WorkloadConfigurationScanSummaryIdentifiers)) - } - - for i := range got.Spec.WorkloadConfigurationScanSummaryIdentifiers { - found := false - for j := range tt.want.Spec.WorkloadConfigurationScanSummaryIdentifiers { - if got.Spec.WorkloadConfigurationScanSummaryIdentifiers[i].Name == tt.want.Spec.WorkloadConfigurationScanSummaryIdentifiers[j].Name { - found = true - } - } - assert.Equal(t, true, found) - } - }) - } -} - -func TestGenerateConfigurationScanSummaryForCluster(t *testing.T) { - test := []struct { - name string - wlConfigurationScanSummaryList softwarecomposition.WorkloadConfigurationScanSummaryList - expected softwarecomposition.ConfigurationScanSummaryList - }{ - { - name: "no resources", - wlConfigurationScanSummaryList: softwarecomposition.WorkloadConfigurationScanSummaryList{}, - expected: softwarecomposition.ConfigurationScanSummaryList{}, - }, - { - name: "one resource", - wlConfigurationScanSummaryList: softwarecomposition.WorkloadConfigurationScanSummaryList{ - Items: []softwarecomposition.WorkloadConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-1", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - }, - }, - }, - }, - expected: softwarecomposition.ConfigurationScanSummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummaryList", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - Items: []softwarecomposition.ConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "default", - }, - Spec: softwarecomposition.ConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - WorkloadConfigurationScanSummaryIdentifiers: []softwarecomposition.WorkloadConfigurationScanSummaryIdentifier{ - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-1", - }, - }, - }, - }, - }, - }, - }, - { - name: "two resources same namespace", - wlConfigurationScanSummaryList: softwarecomposition.WorkloadConfigurationScanSummaryList{ - Items: []softwarecomposition.WorkloadConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-1", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-2", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 1, - High: 2, - Medium: 3, - Low: 4, - }, - }, - }, - }, - }, - expected: softwarecomposition.ConfigurationScanSummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummaryList", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - Items: []softwarecomposition.ConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "default", - }, - Spec: softwarecomposition.ConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 1, - High: 3, - Medium: 4, - Low: 6, - }, - WorkloadConfigurationScanSummaryIdentifiers: []softwarecomposition.WorkloadConfigurationScanSummaryIdentifier{ - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-1", - }, - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-2", - }, - }, - }, - }, - }, - }, - }, - { - name: "multiple resources different namespaces", - wlConfigurationScanSummaryList: softwarecomposition.WorkloadConfigurationScanSummaryList{ - Items: []softwarecomposition.WorkloadConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-1", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-2", - Namespace: "default", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 1, - High: 2, - Medium: 3, - Low: 4, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-3", - Namespace: "wardle", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 0, - High: 1, - Medium: 1, - Low: 2, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "WorkloadConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "workload-4", - Namespace: "wardle", - }, - Spec: softwarecomposition.WorkloadConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 3, - High: 3, - Medium: 2, - Low: 2, - }, - }, - }, - }, - }, - expected: softwarecomposition.ConfigurationScanSummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummaryList", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - Items: []softwarecomposition.ConfigurationScanSummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "default", - }, - Spec: softwarecomposition.ConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 1, - High: 3, - Medium: 4, - Low: 6, - }, - WorkloadConfigurationScanSummaryIdentifiers: []softwarecomposition.WorkloadConfigurationScanSummaryIdentifier{ - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-1", - }, - { - Namespace: "default", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-2", - }, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "ConfigurationScanSummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "wardle", - }, - Spec: softwarecomposition.ConfigurationScanSummarySpec{ - Severities: softwarecomposition.WorkloadConfigurationScanSeveritiesSummary{ - Critical: 3, - High: 4, - Medium: 3, - Low: 4, - }, - WorkloadConfigurationScanSummaryIdentifiers: []softwarecomposition.WorkloadConfigurationScanSummaryIdentifier{ - { - Namespace: "wardle", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-3", - }, - { - Namespace: "wardle", - Kind: "WorkloadConfigurationScanSummary", - Name: "workload-4", - }, - }, - }, - }, - }, - }, - }, - } - - for _, tt := range test { - got := buildConfigurationScanSummaryForCluster(tt.wlConfigurationScanSummaryList) - - for _, item := range got.Items { - for _, expectedItem := range tt.expected.Items { - if item.Name == expectedItem.Name { - assert.Equal(t, item.APIVersion, expectedItem.APIVersion) - - assert.Equal(t, item.Spec.Severities.Critical, expectedItem.Spec.Severities.Critical) - assert.Equal(t, item.Spec.Severities.High, expectedItem.Spec.Severities.High) - assert.Equal(t, item.Spec.Severities.Medium, expectedItem.Spec.Severities.Medium) - assert.Equal(t, item.Spec.Severities.Low, expectedItem.Spec.Severities.Low) - assert.Equal(t, item.Spec.Severities.Unknown, expectedItem.Spec.Severities.Unknown) - } - } - } - } -} - -func TestGetNamespaceFromKey(t *testing.T) { - tests := []struct { - name string - key string - expected string - }{ - { - name: "namespace1", - key: "/spdx.softwarecomposition.kubescape.io/ConfigurationScanSummary/namespace1", - expected: "namespace1", - }, - { - name: "no namespace", - key: "/spdx.softwarecomposition.kubescape.io/ConfigurationScanSummary/", - expected: "", - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - actual := getNamespaceFromKey(test.key) - if actual != test.expected { - t.Errorf("Expected %s, got %s", test.expected, actual) - } - }) - } - -} diff --git a/pkg/registry/file/storage.go b/pkg/registry/file/storage.go index 639988bfd..da239ff22 100644 --- a/pkg/registry/file/storage.go +++ b/pkg/registry/file/storage.go @@ -28,6 +28,7 @@ const ( MetadataExt = ".m" DefaultStorageRoot = "/data" StorageV1Beta1ApiVersion = "spdx.softwarecomposition.kubescape.io/v1beta1" + operationNotSupportedMsg = "operation not supported" ) type objState struct { diff --git a/pkg/registry/file/vulnerabilitysummarystorage.go b/pkg/registry/file/vulnerabilitysummarystorage.go deleted file mode 100644 index 7a84c87d6..000000000 --- a/pkg/registry/file/vulnerabilitysummarystorage.go +++ /dev/null @@ -1,200 +0,0 @@ -package file - -import ( - "context" - "encoding/json" - - "github.com/kubescape/go-logger" - "github.com/kubescape/go-logger/helpers" - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "go.opentelemetry.io/otel" - "go.opentelemetry.io/otel/attribute" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/watch" - "k8s.io/apiserver/pkg/storage" -) - -const ( - vulnerabilitySummaryKind = "VulnerabilitySummary" - vulnerabilitySummariesResource = "vulnerabilitymanifestsummaries" -) - -// VulnerabilitySummaryStorage implements a storage for vulnerability summaries. -// -// It provides vulnerability summaries for scopes like namespace and cluster. To get these summaries, the storage fetches existing stored VulnerabilitySummary objects and aggregates them on the fly. -type VulnerabilitySummaryStorage struct { - realStore StorageQuerier - versioner storage.Versioner -} - -func NewVulnerabilitySummaryStorage(realStore *StorageQuerier) storage.Interface { - return &VulnerabilitySummaryStorage{ - realStore: *realStore, - versioner: storage.APIObjectVersioner{}, - } -} - -// Versioner Returns Versioner associated with this interface. -func (s *VulnerabilitySummaryStorage) Versioner() storage.Versioner { - return s.versioner -} - -// Create is not supported for VulnerabilitySummary objects. Objects are generated on the fly and not stored. -func (s *VulnerabilitySummaryStorage) Create(ctx context.Context, key string, obj, out runtime.Object, _ uint64) error { - return storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// Delete is not supported for VulnerabilitySummary objects. Objects are generated on the fly and not stored. -func (s *VulnerabilitySummaryStorage) Delete(ctx context.Context, key string, out runtime.Object, _ *storage.Preconditions, _ storage.ValidateObjectFunc, _ runtime.Object) error { - return storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// Watch is not supported for VulnerabilitySummary objects. Objects are generated on the fly and not stored. -func (s *VulnerabilitySummaryStorage) Watch(ctx context.Context, key string, _ storage.ListOptions) (watch.Interface, error) { - return nil, storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -func buildVulnerabilityScanSummary(vulnerabilityManifestSummaryList softwarecomposition.VulnerabilityManifestSummaryList, namespace string) softwarecomposition.VulnerabilitySummary { - vulnerabilityScanSummaryObj := softwarecomposition.VulnerabilitySummary{ - TypeMeta: v1.TypeMeta{ - Kind: vulnerabilitySummaryKind, - APIVersion: StorageV1Beta1ApiVersion, - }, - ObjectMeta: v1.ObjectMeta{ - Name: namespace, - CreationTimestamp: v1.Now(), - }, - } - - for i := range vulnerabilityManifestSummaryList.Items { - vulnerabilityScanSummaryObj.Merge(&vulnerabilityManifestSummaryList.Items[i]) - } - - return vulnerabilityScanSummaryObj -} - -// buildConfigurationScanSummaryForCluster generates a vulnerability summary list for the cluster, where each item is a vulnerability summary for a namespace -func buildVulnerabilitySummaryForCluster(vulnerabilityManifestSummaryList softwarecomposition.VulnerabilityManifestSummaryList) softwarecomposition.VulnerabilitySummaryList { - - // build an map of namespace to workload vulnerability summaries - mapNamespaceToSummaries := make(map[string][]softwarecomposition.VulnerabilityManifestSummary) - - for _, vlSummary := range vulnerabilityManifestSummaryList.Items { - if _, ok := mapNamespaceToSummaries[vlSummary.Namespace]; !ok { - mapNamespaceToSummaries[vlSummary.Namespace] = make([]softwarecomposition.VulnerabilityManifestSummary, 0) - } - mapNamespaceToSummaries[vlSummary.Namespace] = append(mapNamespaceToSummaries[vlSummary.Namespace], vlSummary) - } - - vulnerabilitySummaryList := softwarecomposition.VulnerabilitySummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: vulnerabilitySummaryKind, - APIVersion: StorageV1Beta1ApiVersion, - }, - } - - // 1 - build a workload vulnerability summary list for each namespace - // 2 - generate a single vulnerability summary for the namespace - // 3 - add the vulnerability summary to the cluster summary list object - for namespace, vlSummaries := range mapNamespaceToSummaries { - // for each namespace, create a single workload vulnerability summary object - nsListObj := softwarecomposition.VulnerabilityManifestSummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: vulnerabilitySummaryKind, - APIVersion: StorageV1Beta1ApiVersion, - }, - Items: vlSummaries, - } - - vulnerabilitySummaryList.Items = append(vulnerabilitySummaryList.Items, buildVulnerabilityScanSummary(nsListObj, namespace)) - } - - return vulnerabilitySummaryList -} - -func (s *VulnerabilitySummaryStorage) Get(ctx context.Context, key string, opts storage.GetOptions, objPtr runtime.Object) error { - ctx, span := otel.Tracer("").Start(ctx, "VulnerabilitySummaryStorage.Get") - span.SetAttributes(attribute.String("key", key)) - defer span.End() - - vulnerabilityManifestSummaryListObjPtr := &softwarecomposition.VulnerabilityManifestSummaryList{} - - namespace := getNamespaceFromKey(key) - - if err := s.realStore.GetByNamespace(ctx, v1beta1.GroupName, vulnerabilitySummariesResource, namespace, vulnerabilityManifestSummaryListObjPtr); err != nil { - return err - } - - if &vulnerabilityManifestSummaryListObjPtr == nil { - return storage.NewInternalError("workload scan summary list is nil") - } - - if len(vulnerabilityManifestSummaryListObjPtr.Items) == 0 { - return storage.NewKeyNotFoundError(key, 0) - } - - vulnerabilitySummaryObj := buildVulnerabilityScanSummary(*vulnerabilityManifestSummaryListObjPtr, namespace) - - data, err := json.Marshal(vulnerabilitySummaryObj) - if err != nil { - logger.L().Ctx(ctx).Error("json marshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - if err = json.Unmarshal(data, objPtr); err != nil { - logger.L().Ctx(ctx).Error("json unmarshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - return nil -} - -func (s *VulnerabilitySummaryStorage) GetList(ctx context.Context, key string, _ storage.ListOptions, listObj runtime.Object) error { - ctx, span := otel.Tracer("").Start(ctx, "VulnerabilitySummaryStorage.GetList") - span.SetAttributes(attribute.String("key", key)) - defer span.End() - - vulnerabilityManifestSummaryListObjPtr := &softwarecomposition.VulnerabilityManifestSummaryList{} - - // ask for all vulnerabilitySummaries in the cluster - if err := s.realStore.GetByCluster(ctx, v1beta1.GroupName, vulnerabilitySummariesResource, vulnerabilityManifestSummaryListObjPtr); err != nil { - return err - } - - // generate a single vulnerabilitySummary for the cluster, with an vulnerability summary for each namespace - nsSummaries := buildVulnerabilitySummaryForCluster(*vulnerabilityManifestSummaryListObjPtr) - - data, err := json.Marshal(nsSummaries) - if err != nil { - logger.L().Ctx(ctx).Error("json marshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - if err = json.Unmarshal(data, listObj); err != nil { - logger.L().Ctx(ctx).Error("json unmarshal failed", helpers.Error(err), helpers.String("key", key)) - return err - } - - return nil -} - -// GuaranteedUpdate is not supported for VulnerabilitySummary objects. Objects are generated on the fly and not stored. -func (s *VulnerabilitySummaryStorage) GuaranteedUpdate( - ctx context.Context, key string, destination runtime.Object, ignoreNotFound bool, - preconditions *storage.Preconditions, tryUpdate storage.UpdateFunc, cachedExistingObject runtime.Object) error { - return storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// Count is not supported for VulnerabilitySummary objects. Objects are generated on the fly and not stored. -func (s *VulnerabilitySummaryStorage) Count(key string) (int64, error) { - return 0, storage.NewInvalidObjError(key, operationNotSupportedMsg) -} - -// RequestWatchProgress fulfills the storage.Interface -// -// It’s function is only relevant to etcd. -func (s *VulnerabilitySummaryStorage) RequestWatchProgress(context.Context) error { - return nil -} diff --git a/pkg/registry/file/vulnerabilitysummarystorage_test.go b/pkg/registry/file/vulnerabilitysummarystorage_test.go deleted file mode 100644 index 4a1e98c5f..000000000 --- a/pkg/registry/file/vulnerabilitysummarystorage_test.go +++ /dev/null @@ -1,453 +0,0 @@ -package file - -import ( - "context" - "testing" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/apis/softwarecomposition/v1beta1" - "github.com/spf13/afero" - "github.com/stretchr/testify/assert" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/storage" -) - -func TestVulnSummaryStorageImpl_Create(t *testing.T) { - type args struct { - key string - obj runtime.Object - out runtime.Object - in4 uint64 - } - - tests := []struct { - name string - readonly bool - args args - wantErr bool - want runtime.Object - }{ - { - name: "not supported", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/kubescape/toto", - obj: &v1beta1.VulnerabilitySummary{}, - }, - wantErr: true, - }, - } - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - s := NewVulnerabilitySummaryStorage(&realStorage) - err := s.Create(context.TODO(), tt.args.key, tt.args.obj, tt.args.out, tt.args.in4) - if tt.wantErr { - assert.Error(t, err) - assert.Equal(t, err, storage.NewInvalidObjError(tt.args.key, operationNotSupportedMsg)) - - } - }) - } -} - -func TestVulnSummaryStorageImpl_Delete(t *testing.T) { - type args struct { - key string - obj runtime.Object - precondition *storage.Preconditions - validateDeletionFunc storage.ValidateObjectFunc - cachedObj runtime.Object - } - tests := []struct { - name string - args args - wantErr bool - }{ - { - name: "not supported", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/kubescape/toto", - }, - wantErr: true, - }, - } - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - s := NewVulnerabilitySummaryStorage(&realStorage) - err := s.Delete(context.TODO(), tt.args.key, tt.args.obj, tt.args.precondition, tt.args.validateDeletionFunc, tt.args.cachedObj) - if tt.wantErr { - assert.Error(t, err) - assert.Equal(t, err, storage.NewInvalidObjError(tt.args.key, operationNotSupportedMsg)) - - } - }) - } -} - -func TestVulnSummaryStorageImpl_Watch(t *testing.T) { - type args struct { - key string - } - tests := []struct { - name string - args args - wantErr bool - }{ - { - name: "not supported", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/kubescape/toto", - }, - wantErr: true, - }, - } - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - s := NewVulnerabilitySummaryStorage(&realStorage) - _, err := s.Watch(context.TODO(), tt.args.key, storage.ListOptions{}) - if tt.wantErr { - assert.Error(t, err) - assert.Equal(t, err, storage.NewInvalidObjError(tt.args.key, operationNotSupportedMsg)) - - } - }) - } -} - -func TestVulnSummaryStorageImpl_GetList(t *testing.T) { - type args struct { - keyExpectedObj string - expectedObj *softwarecomposition.VulnerabilitySummaryList - keyCreatedObj []string - createdObj []*softwarecomposition.VulnerabilityManifestSummary - } - tests := []struct { - name string - args args - createObj bool - wantErr bool - }{ - { - name: "get - from one created object", - args: args{ - keyExpectedObj: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/any", - expectedObj: &softwarecomposition.VulnerabilitySummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: "VulnerabilitySummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - Items: []softwarecomposition.VulnerabilitySummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "VulnerabilitySummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - Spec: softwarecomposition.VulnerabilitySummarySpec{ - WorkloadVulnerabilitiesObj: []softwarecomposition.VulnerabilitiesObjScope{ - { - Kind: "vulnerabilitymanifestsummary", - }, - }, - }, - }, - }, - }, - keyCreatedObj: []string{"/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/any/any"}, - createdObj: []*softwarecomposition.VulnerabilityManifestSummary{{}}, - }, - createObj: true, - wantErr: false, - }, - { - name: "get - from two created object", - args: args{ - keyExpectedObj: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/any", - expectedObj: &softwarecomposition.VulnerabilitySummaryList{ - TypeMeta: v1.TypeMeta{ - Kind: "VulnerabilitySummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - Items: []softwarecomposition.VulnerabilitySummary{ - { - TypeMeta: v1.TypeMeta{ - Kind: "VulnerabilitySummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "any", - }, - Spec: softwarecomposition.VulnerabilitySummarySpec{ - Severities: softwarecomposition.SeveritySummary{ - Negligible: softwarecomposition.VulnerabilityCounters{ - All: 1, - Relevant: 0, - }, - }, - WorkloadVulnerabilitiesObj: []softwarecomposition.VulnerabilitiesObjScope{ - { - Name: "any", - Namespace: "any", - Kind: "vulnerabilitymanifestsummary", - }, - }, - }, - }, - { - TypeMeta: v1.TypeMeta{ - Kind: "VulnerabilitySummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "many", - }, - Spec: softwarecomposition.VulnerabilitySummarySpec{ - Severities: softwarecomposition.SeveritySummary{ - Critical: softwarecomposition.VulnerabilityCounters{ - All: 1, - Relevant: 0, - }, - }, - WorkloadVulnerabilitiesObj: []softwarecomposition.VulnerabilitiesObjScope{ - { - Kind: "vulnerabilitymanifestsummary", - Name: "any", - Namespace: "many", - }, - }, - }, - }, - }, - }, - keyCreatedObj: []string{"/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/any/any", "/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/many/any"}, - createdObj: []*softwarecomposition.VulnerabilityManifestSummary{ - { - ObjectMeta: v1.ObjectMeta{ - Name: "any", - Namespace: "any", - }, - Spec: softwarecomposition.VulnerabilityManifestSummarySpec{ - Severities: softwarecomposition.SeveritySummary{ - Negligible: softwarecomposition.VulnerabilityCounters{ - All: 1, - Relevant: 0, - }, - }, - }, - }, - { - ObjectMeta: v1.ObjectMeta{ - Name: "any", - Namespace: "many", - }, - Spec: softwarecomposition.VulnerabilityManifestSummarySpec{ - Severities: softwarecomposition.SeveritySummary{ - Critical: softwarecomposition.VulnerabilityCounters{ - All: 1, - Relevant: 0, - }, - }, - }, - }, - }, - }, - createObj: true, wantErr: false, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - t.Logf("expected scope on entry: %v", tt.args.expectedObj.Items) - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - if tt.createObj { - for i, obj := range tt.args.createdObj { - err := realStorage.Create(context.TODO(), tt.args.keyCreatedObj[i], obj, nil, 0) - assert.NoError(t, err) - } - } - s := NewVulnerabilitySummaryStorage(&realStorage) - o := &softwarecomposition.VulnerabilitySummaryList{} - err := s.GetList(context.TODO(), tt.args.keyExpectedObj, storage.ListOptions{}, o) - if tt.wantErr { - assert.Error(t, err) - assert.Equal(t, err, storage.NewKeyNotFoundError(tt.name, 0)) - } else { - assert.NoError(t, err) - for i := range o.Items { - // copy the timestamp since it is created when generated, so it can be known at the test begin - o.Items[i].CreationTimestamp = tt.args.createdObj[i].CreationTimestamp - } - assert.Equal(t, tt.args.expectedObj.TypeMeta, o.TypeMeta) - assert.Equal(t, tt.args.expectedObj.ListMeta, o.ListMeta) - assert.ElementsMatch(t, tt.args.expectedObj.Items, o.Items) - } - }) - } -} - -func TestVulnSummaryStorageImpl_GuaranteedUpdate(t *testing.T) { - type args struct { - key string - obj runtime.Object - preconditions *storage.Preconditions - tryUpdate storage.UpdateFunc - cachedExistingObject runtime.Object - } - tests := []struct { - name string - args args - wantErr bool - }{ - { - name: "not supported", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/kubescape/toto", - }, - wantErr: true, - }, - } - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - s := NewVulnerabilitySummaryStorage(&realStorage) - err := s.GuaranteedUpdate(context.TODO(), tt.args.key, tt.args.obj, true, tt.args.preconditions, tt.args.tryUpdate, tt.args.cachedExistingObject) - if tt.wantErr { - assert.Error(t, err) - assert.Equal(t, err, storage.NewInvalidObjError(tt.args.key, operationNotSupportedMsg)) - - } - }) - } -} - -func TestVulnSummaryStorageImpl_Count(t *testing.T) { - type args struct { - key string - } - tests := []struct { - name string - args args - wantErr bool - }{ - { - name: "not supported", - args: args{ - key: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/kubescape/toto", - }, - wantErr: true, - }, - } - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - s := NewVulnerabilitySummaryStorage(&realStorage) - _, err := s.Count(tt.args.key) - if tt.wantErr { - assert.Error(t, err) - assert.Equal(t, err, storage.NewInvalidObjError(tt.args.key, operationNotSupportedMsg)) - - } - }) - } -} - -func TestVulnSummaryStorageImpl_Get(t *testing.T) { - type args struct { - keyExpectedObj string - expectedObj *softwarecomposition.VulnerabilitySummary - keyCreatedObj []string - createdObj []*softwarecomposition.VulnerabilityManifestSummary - } - tests := []struct { - name string - args args - createObj bool - wantErr bool - }{ - { - name: "get - from one created object", - args: args{ - keyExpectedObj: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/any", - expectedObj: &softwarecomposition.VulnerabilitySummary{ - TypeMeta: v1.TypeMeta{ - Kind: "VulnerabilitySummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "any", - }, - Spec: softwarecomposition.VulnerabilitySummarySpec{ - WorkloadVulnerabilitiesObj: []softwarecomposition.VulnerabilitiesObjScope{ - { - Kind: "vulnerabilitymanifestsummary", - }, - }, - }, - }, - keyCreatedObj: []string{"/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/any/any"}, - createdObj: []*softwarecomposition.VulnerabilityManifestSummary{{}}, - }, - createObj: true, wantErr: false, - }, - { - name: "get - from two created object", - args: args{ - keyExpectedObj: "/spdx.softwarecomposition.kubescape.io/vulnerabilitysummaries/any", - expectedObj: &softwarecomposition.VulnerabilitySummary{ - TypeMeta: v1.TypeMeta{ - Kind: "VulnerabilitySummary", - APIVersion: "spdx.softwarecomposition.kubescape.io/v1beta1", - }, - ObjectMeta: v1.ObjectMeta{ - Name: "any", - }, - Spec: softwarecomposition.VulnerabilitySummarySpec{ - WorkloadVulnerabilitiesObj: []softwarecomposition.VulnerabilitiesObjScope{ - { - Kind: "vulnerabilitymanifestsummary", - }, - { - Kind: "vulnerabilitymanifestsummary", - }, - }, - }, - }, - keyCreatedObj: []string{"/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/any/any", "/spdx.softwarecomposition.kubescape.io/vulnerabilitymanifestsummaries/any/many"}, - createdObj: []*softwarecomposition.VulnerabilityManifestSummary{{}, {}}, - }, - createObj: true, wantErr: false, - }, - } - realStorage := NewStorageImpl(afero.NewMemMapFs(), "/") - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if tt.createObj { - for i := range tt.args.keyCreatedObj { - err := realStorage.Create(context.TODO(), tt.args.keyCreatedObj[i], tt.args.createdObj[i], nil, 0) - assert.NoError(t, err) - } - } - s := NewVulnerabilitySummaryStorage(&realStorage) - o := &softwarecomposition.VulnerabilitySummary{} - err := s.Get(context.TODO(), tt.args.keyExpectedObj, storage.GetOptions{}, o) - if tt.wantErr { - assert.Error(t, err) - assert.Equal(t, err, storage.NewKeyNotFoundError(tt.name, 0)) - - } else { - assert.NoError(t, err) - // copy the timestamp since it is created when generated, so it can be known at the test begin - tt.args.expectedObj.CreationTimestamp = o.CreationTimestamp - assert.Equal(t, tt.args.expectedObj, o) - } - }) - } -} diff --git a/pkg/registry/softwarecomposition/applicationprofilesummary/etcd.go b/pkg/registry/softwarecomposition/applicationprofilesummary/etcd.go deleted file mode 100644 index 0311b3834..000000000 --- a/pkg/registry/softwarecomposition/applicationprofilesummary/etcd.go +++ /dev/null @@ -1,56 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package applicationprofilesummary - -import ( - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/registry" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/registry/generic" - genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" -) - -// NewREST returns a RESTStorage object that will work against API services. -func NewREST(scheme *runtime.Scheme, storageImpl storage.Interface, optsGetter generic.RESTOptionsGetter) (*registry.REST, error) { - strategy := NewStrategy(scheme) - - dryRunnableStorage := genericregistry.DryRunnableStorage{Codec: nil, Storage: storageImpl} - - store := &genericregistry.Store{ - NewFunc: func() runtime.Object { return &softwarecomposition.ApplicationProfileSummary{} }, - NewListFunc: func() runtime.Object { return &softwarecomposition.ApplicationProfileSummaryList{} }, - PredicateFunc: MatchApplicationProfileSummary, - DefaultQualifiedResource: softwarecomposition.Resource("applicationprofilesummaries"), - SingularQualifiedResource: softwarecomposition.Resource("applicationprofilesummary"), - - Storage: dryRunnableStorage, - - CreateStrategy: strategy, - UpdateStrategy: strategy, - DeleteStrategy: strategy, - - // TODO: define table converter that exposes more than name/creation timestamp - TableConvertor: rest.NewDefaultTableConvertor(softwarecomposition.Resource("applicationprofilesummaries")), - } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} - if err := store.CompleteWithOptions(options); err != nil { - return nil, err - } - return ®istry.REST{Store: store}, nil -} diff --git a/pkg/registry/softwarecomposition/applicationprofilesummary/strategy.go b/pkg/registry/softwarecomposition/applicationprofilesummary/strategy.go deleted file mode 100644 index 0cf193596..000000000 --- a/pkg/registry/softwarecomposition/applicationprofilesummary/strategy.go +++ /dev/null @@ -1,89 +0,0 @@ -package applicationprofilesummary - -import ( - "context" - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" - "k8s.io/apiserver/pkg/storage/names" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" -) - -// NewStrategy creates and returns a applicationProfileStrategy instance -func NewStrategy(typer runtime.ObjectTyper) applicationProfileStrategy { - return applicationProfileStrategy{typer, names.SimpleNameGenerator} -} - -// GetAttrs returns labels.Set, fields.Set, and error in case the given runtime.Object is not a Flunder -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { - apiserver, ok := obj.(*softwarecomposition.ApplicationProfileSummary) - if !ok { - return nil, nil, fmt.Errorf("given object is not a Flunder") - } - return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil -} - -// MatchApplicationProfileSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchApplicationProfileSummary(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that represents the object. -func SelectableFields(obj *softwarecomposition.ApplicationProfileSummary) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) -} - -type applicationProfileStrategy struct { - runtime.ObjectTyper - names.NameGenerator -} - -func (applicationProfileStrategy) NamespaceScoped() bool { - return true -} - -func (applicationProfileStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { -} - -func (applicationProfileStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { -} - -func (applicationProfileStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnCreate returns warnings for the creation of the given object. -func (applicationProfileStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string { - return nil -} - -func (applicationProfileStrategy) AllowCreateOnUpdate() bool { - return false -} - -func (applicationProfileStrategy) AllowUnconditionalUpdate() bool { - return false -} - -func (applicationProfileStrategy) Canonicalize(obj runtime.Object) { -} - -func (applicationProfileStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnUpdate returns warnings for the given update. -func (applicationProfileStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string { - return nil -} diff --git a/pkg/registry/softwarecomposition/configurationscansummary/rest.go b/pkg/registry/softwarecomposition/configurationscansummary/rest.go deleted file mode 100644 index 39c1b4b7f..000000000 --- a/pkg/registry/softwarecomposition/configurationscansummary/rest.go +++ /dev/null @@ -1,40 +0,0 @@ -package configurationscansummary - -import ( - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/registry" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/registry/generic" - genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" -) - -// NewREST returns a RESTStorage object that will work against API services. -func NewREST(scheme *runtime.Scheme, storageImpl storage.Interface, optsGetter generic.RESTOptionsGetter) (*registry.REST, error) { - strategy := NewStrategy(scheme) - - dryRunnableStorage := genericregistry.DryRunnableStorage{Codec: nil, Storage: storageImpl} - - store := &genericregistry.Store{ - NewFunc: func() runtime.Object { return &softwarecomposition.ConfigurationScanSummary{} }, - NewListFunc: func() runtime.Object { return &softwarecomposition.ConfigurationScanSummaryList{} }, - PredicateFunc: MatchConfigurationScanSummary, - DefaultQualifiedResource: softwarecomposition.Resource("configurationscansummaries"), - SingularQualifiedResource: softwarecomposition.Resource("configurationscansummary"), - - Storage: dryRunnableStorage, - - CreateStrategy: strategy, - UpdateStrategy: strategy, - DeleteStrategy: strategy, - - // TODO: define table converter that exposes more than name/creation timestamp - TableConvertor: rest.NewDefaultTableConvertor(softwarecomposition.Resource("configurationscansummaries")), - } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} - if err := store.CompleteWithOptions(options); err != nil { - return nil, err - } - return ®istry.REST{Store: store}, nil -} diff --git a/pkg/registry/softwarecomposition/configurationscansummary/strategy.go b/pkg/registry/softwarecomposition/configurationscansummary/strategy.go deleted file mode 100644 index be84a1b01..000000000 --- a/pkg/registry/softwarecomposition/configurationscansummary/strategy.go +++ /dev/null @@ -1,89 +0,0 @@ -package configurationscansummary - -import ( - "context" - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" - "k8s.io/apiserver/pkg/storage/names" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" -) - -// NewStrategy creates and returns a configurationScanStrategy instance -func NewStrategy(typer runtime.ObjectTyper) configurationScanStrategy { - return configurationScanStrategy{typer, names.SimpleNameGenerator} -} - -// GetAttrs returns labels.Set, fields.Set, and error in case the given runtime.Object is not a Flunder -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { - apiserver, ok := obj.(*softwarecomposition.ConfigurationScanSummary) - if !ok { - return nil, nil, fmt.Errorf("given object is not a ConfigurationScanSummary") - } - return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil -} - -// ConfigurationScanSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchConfigurationScanSummary(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that represents the object. -func SelectableFields(obj *softwarecomposition.ConfigurationScanSummary) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) -} - -type configurationScanStrategy struct { - runtime.ObjectTyper - names.NameGenerator -} - -func (configurationScanStrategy) NamespaceScoped() bool { - return false -} - -func (configurationScanStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { -} - -func (configurationScanStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { -} - -func (configurationScanStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnCreate returns warnings for the creation of the given object. -func (configurationScanStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string { - return nil -} - -func (configurationScanStrategy) AllowCreateOnUpdate() bool { - return false -} - -func (configurationScanStrategy) AllowUnconditionalUpdate() bool { - return false -} - -func (configurationScanStrategy) Canonicalize(obj runtime.Object) { -} - -func (configurationScanStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnUpdate returns warnings for the given update. -func (configurationScanStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string { - return nil -} diff --git a/pkg/registry/softwarecomposition/generatednetworkpolicy/strategy.go b/pkg/registry/softwarecomposition/generatednetworkpolicy/strategy.go index d8efc1f90..1f5167553 100644 --- a/pkg/registry/softwarecomposition/generatednetworkpolicy/strategy.go +++ b/pkg/registry/softwarecomposition/generatednetworkpolicy/strategy.go @@ -28,8 +28,6 @@ func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil } -// MatchApplicationProfileSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. func MatchGeneratedNetworkPolicy(label labels.Selector, field fields.Selector) storage.SelectionPredicate { return storage.SelectionPredicate{ Label: label, diff --git a/pkg/registry/softwarecomposition/knownservers/strategy.go b/pkg/registry/softwarecomposition/knownservers/strategy.go index ad764aeef..27ea99405 100644 --- a/pkg/registry/softwarecomposition/knownservers/strategy.go +++ b/pkg/registry/softwarecomposition/knownservers/strategy.go @@ -28,8 +28,6 @@ func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil } -// MatchApplicationProfileSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. func MatchKnownServer(label labels.Selector, field fields.Selector) storage.SelectionPredicate { return storage.SelectionPredicate{ Label: label, diff --git a/pkg/registry/softwarecomposition/networkneighbors/strategy.go b/pkg/registry/softwarecomposition/networkneighbors/strategy.go index 51c923de5..a44073153 100644 --- a/pkg/registry/softwarecomposition/networkneighbors/strategy.go +++ b/pkg/registry/softwarecomposition/networkneighbors/strategy.go @@ -28,8 +28,6 @@ func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil } -// MatchApplicationProfileSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. func MatchNetworkNeighbor(label labels.Selector, field fields.Selector) storage.SelectionPredicate { return storage.SelectionPredicate{ Label: label, diff --git a/pkg/registry/softwarecomposition/sbomsummary/etcd.go b/pkg/registry/softwarecomposition/sbomsummary/etcd.go deleted file mode 100644 index 69216f751..000000000 --- a/pkg/registry/softwarecomposition/sbomsummary/etcd.go +++ /dev/null @@ -1,40 +0,0 @@ -package sbomsummary - -import ( - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/registry" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/registry/generic" - genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" -) - -// NewREST returns a RESTStorage object that will work against API services. -func NewREST(scheme *runtime.Scheme, storageImpl storage.Interface, optsGetter generic.RESTOptionsGetter) (*registry.REST, error) { - strategy := NewStrategy(scheme) - - dryRunnableStorage := genericregistry.DryRunnableStorage{Codec: nil, Storage: storageImpl} - - store := &genericregistry.Store{ - NewFunc: func() runtime.Object { return &softwarecomposition.SBOMSummary{} }, - NewListFunc: func() runtime.Object { return &softwarecomposition.SBOMSummaryList{} }, - PredicateFunc: MatchSBOMSummary, - DefaultQualifiedResource: softwarecomposition.Resource("sbomsummaries"), - SingularQualifiedResource: softwarecomposition.Resource("sbomsummary"), - - Storage: dryRunnableStorage, - - CreateStrategy: strategy, - UpdateStrategy: strategy, - DeleteStrategy: strategy, - - // TODO: define table converter that exposes more than name/creation timestamp - TableConvertor: rest.NewDefaultTableConvertor(softwarecomposition.Resource("sbomsummaries")), - } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} - if err := store.CompleteWithOptions(options); err != nil { - return nil, err - } - return ®istry.REST{Store: store}, nil -} diff --git a/pkg/registry/softwarecomposition/sbomsummary/strategy.go b/pkg/registry/softwarecomposition/sbomsummary/strategy.go deleted file mode 100644 index 9a289d5aa..000000000 --- a/pkg/registry/softwarecomposition/sbomsummary/strategy.go +++ /dev/null @@ -1,89 +0,0 @@ -package sbomsummary - -import ( - "context" - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" - "k8s.io/apiserver/pkg/storage/names" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" -) - -// NewStrategy creates and returns a sbomSummaryStrategy instance -func NewStrategy(typer runtime.ObjectTyper) sbomSummaryStrategy { - return sbomSummaryStrategy{typer, names.SimpleNameGenerator} -} - -// GetAttrs returns labels.Set, fields.Set, and error in case the given runtime.Object is not a Flunder -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { - apiserver, ok := obj.(*softwarecomposition.SBOMSummary) - if !ok { - return nil, nil, fmt.Errorf("given object is not an SBOMSummary") - } - return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil -} - -// MatchSBOMSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchSBOMSummary(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that represents the object. -func SelectableFields(obj *softwarecomposition.SBOMSummary) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) -} - -type sbomSummaryStrategy struct { - runtime.ObjectTyper - names.NameGenerator -} - -func (sbomSummaryStrategy) NamespaceScoped() bool { - return true -} - -func (sbomSummaryStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { -} - -func (sbomSummaryStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { -} - -func (sbomSummaryStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnCreate returns warnings for the creation of the given object. -func (sbomSummaryStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string { - return nil -} - -func (sbomSummaryStrategy) AllowCreateOnUpdate() bool { - return false -} - -func (sbomSummaryStrategy) AllowUnconditionalUpdate() bool { - return false -} - -func (sbomSummaryStrategy) Canonicalize(obj runtime.Object) { -} - -func (sbomSummaryStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnUpdate returns warnings for the given update. -func (sbomSummaryStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string { - return nil -} diff --git a/pkg/registry/softwarecomposition/vulnerabilitymanifestsummary/etcd.go b/pkg/registry/softwarecomposition/vulnerabilitymanifestsummary/etcd.go deleted file mode 100644 index d617c8ede..000000000 --- a/pkg/registry/softwarecomposition/vulnerabilitymanifestsummary/etcd.go +++ /dev/null @@ -1,40 +0,0 @@ -package vulnerabilitymanifestsummary - -import ( - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/registry" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/registry/generic" - genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" -) - -// NewREST returns a RESTStorage object that will work against API services. -func NewREST(scheme *runtime.Scheme, storageImpl storage.Interface, optsGetter generic.RESTOptionsGetter) (*registry.REST, error) { - strategy := NewStrategy(scheme) - - dryRunnableStorage := genericregistry.DryRunnableStorage{Codec: nil, Storage: storageImpl} - - store := &genericregistry.Store{ - NewFunc: func() runtime.Object { return &softwarecomposition.VulnerabilityManifestSummary{} }, - NewListFunc: func() runtime.Object { return &softwarecomposition.VulnerabilityManifestSummaryList{} }, - PredicateFunc: MatchVulnerabilityManifestSummary, - DefaultQualifiedResource: softwarecomposition.Resource("vulnerabilitymanifestsummaries"), - SingularQualifiedResource: softwarecomposition.Resource("vulnerabilitymanifestsummary"), - - Storage: dryRunnableStorage, - - CreateStrategy: strategy, - UpdateStrategy: strategy, - DeleteStrategy: strategy, - - // TODO: define table converter that exposes more than name/creation timestamp - TableConvertor: rest.NewDefaultTableConvertor(softwarecomposition.Resource("vulnerabilitymanifestsummaries")), - } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} - if err := store.CompleteWithOptions(options); err != nil { - return nil, err - } - return ®istry.REST{Store: store}, nil -} diff --git a/pkg/registry/softwarecomposition/vulnerabilitymanifestsummary/strategy.go b/pkg/registry/softwarecomposition/vulnerabilitymanifestsummary/strategy.go deleted file mode 100644 index 695f95908..000000000 --- a/pkg/registry/softwarecomposition/vulnerabilitymanifestsummary/strategy.go +++ /dev/null @@ -1,89 +0,0 @@ -package vulnerabilitymanifestsummary - -import ( - "context" - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" - "k8s.io/apiserver/pkg/storage/names" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" -) - -// NewStrategy creates and returns a vulnerabilityManifestSummaryStrategy instance -func NewStrategy(typer runtime.ObjectTyper) vulnerabilityManifestSummaryStrategy { - return vulnerabilityManifestSummaryStrategy{typer, names.SimpleNameGenerator} -} - -// GetAttrs returns labels.Set, fields.Set, and error in case the given runtime.Object is not a Flunder -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { - apiserver, ok := obj.(*softwarecomposition.VulnerabilityManifestSummary) - if !ok { - return nil, nil, fmt.Errorf("given object is not a VulnerabilityManifestSummary") - } - return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil -} - -// MatchVulnerabilityManifestSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchVulnerabilityManifestSummary(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that represents the object. -func SelectableFields(obj *softwarecomposition.VulnerabilityManifestSummary) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) -} - -type vulnerabilityManifestSummaryStrategy struct { - runtime.ObjectTyper - names.NameGenerator -} - -func (vulnerabilityManifestSummaryStrategy) NamespaceScoped() bool { - return true -} - -func (vulnerabilityManifestSummaryStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnCreate returns warnings for the creation of the given object. -func (vulnerabilityManifestSummaryStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string { - return nil -} - -func (vulnerabilityManifestSummaryStrategy) AllowCreateOnUpdate() bool { - return false -} - -func (vulnerabilityManifestSummaryStrategy) AllowUnconditionalUpdate() bool { - return false -} - -func (vulnerabilityManifestSummaryStrategy) Canonicalize(obj runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnUpdate returns warnings for the given update. -func (vulnerabilityManifestSummaryStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string { - return nil -} diff --git a/pkg/registry/softwarecomposition/vulnerabilitysummary/etcd.go b/pkg/registry/softwarecomposition/vulnerabilitysummary/etcd.go deleted file mode 100644 index 8d15fe3f4..000000000 --- a/pkg/registry/softwarecomposition/vulnerabilitysummary/etcd.go +++ /dev/null @@ -1,40 +0,0 @@ -package workloadconfigurationscansummary - -import ( - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/registry" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/registry/generic" - genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" -) - -// NewREST returns a RESTStorage object that will work against API services. -func NewREST(scheme *runtime.Scheme, storageImpl storage.Interface, optsGetter generic.RESTOptionsGetter) (*registry.REST, error) { - strategy := NewStrategy(scheme) - - dryRunnableStorage := genericregistry.DryRunnableStorage{Codec: nil, Storage: storageImpl} - - store := &genericregistry.Store{ - NewFunc: func() runtime.Object { return &softwarecomposition.VulnerabilitySummary{} }, - NewListFunc: func() runtime.Object { return &softwarecomposition.VulnerabilitySummaryList{} }, - PredicateFunc: MatchVulnerabilitySummary, - DefaultQualifiedResource: softwarecomposition.Resource("vulnerabilitysummaries"), - SingularQualifiedResource: softwarecomposition.Resource("vulnerabilitysummary"), - - Storage: dryRunnableStorage, - - CreateStrategy: strategy, - UpdateStrategy: strategy, - DeleteStrategy: strategy, - - // TODO: define table converter that exposes more than name/creation timestamp - TableConvertor: rest.NewDefaultTableConvertor(softwarecomposition.Resource("vulnerabilitysummaries")), - } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} - if err := store.CompleteWithOptions(options); err != nil { - return nil, err - } - return ®istry.REST{Store: store}, nil -} diff --git a/pkg/registry/softwarecomposition/vulnerabilitysummary/strategy.go b/pkg/registry/softwarecomposition/vulnerabilitysummary/strategy.go deleted file mode 100644 index 3c403fbd3..000000000 --- a/pkg/registry/softwarecomposition/vulnerabilitysummary/strategy.go +++ /dev/null @@ -1,89 +0,0 @@ -package workloadconfigurationscansummary - -import ( - "context" - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" - "k8s.io/apiserver/pkg/storage/names" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" -) - -// NewStrategy creates and returns a vulnerabilityManifestSummaryStrategy instance -func NewStrategy(typer runtime.ObjectTyper) vulnerabilityManifestSummaryStrategy { - return vulnerabilityManifestSummaryStrategy{typer, names.SimpleNameGenerator} -} - -// GetAttrs returns labels.Set, fields.Set, and error in case the given runtime.Object is not a Flunder -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { - apiserver, ok := obj.(*softwarecomposition.VulnerabilitySummary) - if !ok { - return nil, nil, fmt.Errorf("given object is not a VulnerabilitySummary") - } - return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil -} - -// MatchVulnerabilitySummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchVulnerabilitySummary(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that represents the object. -func SelectableFields(obj *softwarecomposition.VulnerabilitySummary) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) -} - -type vulnerabilityManifestSummaryStrategy struct { - runtime.ObjectTyper - names.NameGenerator -} - -func (vulnerabilityManifestSummaryStrategy) NamespaceScoped() bool { - return false -} - -func (vulnerabilityManifestSummaryStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnCreate returns warnings for the creation of the given object. -func (vulnerabilityManifestSummaryStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string { - return nil -} - -func (vulnerabilityManifestSummaryStrategy) AllowCreateOnUpdate() bool { - return false -} - -func (vulnerabilityManifestSummaryStrategy) AllowUnconditionalUpdate() bool { - return false -} - -func (vulnerabilityManifestSummaryStrategy) Canonicalize(obj runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnUpdate returns warnings for the given update. -func (vulnerabilityManifestSummaryStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string { - return nil -} diff --git a/pkg/registry/softwarecomposition/workloadconfigurationscansummary/etcd.go b/pkg/registry/softwarecomposition/workloadconfigurationscansummary/etcd.go deleted file mode 100644 index a5d316e38..000000000 --- a/pkg/registry/softwarecomposition/workloadconfigurationscansummary/etcd.go +++ /dev/null @@ -1,40 +0,0 @@ -package workloadconfigurationscansummary - -import ( - "github.com/kubescape/storage/pkg/apis/softwarecomposition" - "github.com/kubescape/storage/pkg/registry" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apiserver/pkg/registry/generic" - genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" - "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" -) - -// NewREST returns a RESTStorage object that will work against API services. -func NewREST(scheme *runtime.Scheme, storageImpl storage.Interface, optsGetter generic.RESTOptionsGetter) (*registry.REST, error) { - strategy := NewStrategy(scheme) - - dryRunnableStorage := genericregistry.DryRunnableStorage{Codec: nil, Storage: storageImpl} - - store := &genericregistry.Store{ - NewFunc: func() runtime.Object { return &softwarecomposition.WorkloadConfigurationScanSummary{} }, - NewListFunc: func() runtime.Object { return &softwarecomposition.WorkloadConfigurationScanSummaryList{} }, - PredicateFunc: MatchWorkloadConfigurationScanSummary, - DefaultQualifiedResource: softwarecomposition.Resource("workloadconfigurationscansummaries"), - SingularQualifiedResource: softwarecomposition.Resource("workloadconfigurationscansummary"), - - Storage: dryRunnableStorage, - - CreateStrategy: strategy, - UpdateStrategy: strategy, - DeleteStrategy: strategy, - - // TODO: define table converter that exposes more than name/creation timestamp - TableConvertor: rest.NewDefaultTableConvertor(softwarecomposition.Resource("workloadconfigurationscansummaries")), - } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} - if err := store.CompleteWithOptions(options); err != nil { - return nil, err - } - return ®istry.REST{Store: store}, nil -} diff --git a/pkg/registry/softwarecomposition/workloadconfigurationscansummary/strategy.go b/pkg/registry/softwarecomposition/workloadconfigurationscansummary/strategy.go deleted file mode 100644 index e1f9775fe..000000000 --- a/pkg/registry/softwarecomposition/workloadconfigurationscansummary/strategy.go +++ /dev/null @@ -1,89 +0,0 @@ -package workloadconfigurationscansummary - -import ( - "context" - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" - "k8s.io/apiserver/pkg/storage/names" - - "github.com/kubescape/storage/pkg/apis/softwarecomposition" -) - -// NewStrategy creates and returns a vulnerabilityManifestSummaryStrategy instance -func NewStrategy(typer runtime.ObjectTyper) vulnerabilityManifestSummaryStrategy { - return vulnerabilityManifestSummaryStrategy{typer, names.SimpleNameGenerator} -} - -// GetAttrs returns labels.Set, fields.Set, and error in case the given runtime.Object is not a Flunder -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { - apiserver, ok := obj.(*softwarecomposition.WorkloadConfigurationScanSummary) - if !ok { - return nil, nil, fmt.Errorf("given object is not a WorkloadConfigurationScanSummary") - } - return labels.Set(apiserver.ObjectMeta.Labels), SelectableFields(apiserver), nil -} - -// MatchWorkloadConfigurationScanSummary is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchWorkloadConfigurationScanSummary(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that represents the object. -func SelectableFields(obj *softwarecomposition.WorkloadConfigurationScanSummary) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) -} - -type vulnerabilityManifestSummaryStrategy struct { - runtime.ObjectTyper - names.NameGenerator -} - -func (vulnerabilityManifestSummaryStrategy) NamespaceScoped() bool { - return true -} - -func (vulnerabilityManifestSummaryStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnCreate returns warnings for the creation of the given object. -func (vulnerabilityManifestSummaryStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string { - return nil -} - -func (vulnerabilityManifestSummaryStrategy) AllowCreateOnUpdate() bool { - return false -} - -func (vulnerabilityManifestSummaryStrategy) AllowUnconditionalUpdate() bool { - return false -} - -func (vulnerabilityManifestSummaryStrategy) Canonicalize(obj runtime.Object) { -} - -func (vulnerabilityManifestSummaryStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { - return field.ErrorList{} -} - -// WarningsOnUpdate returns warnings for the given update. -func (vulnerabilityManifestSummaryStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string { - return nil -}