1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-13 19:28:55 +00:00

refactor: client gen code (#3695)

Signed-off-by: Charles-Edouard Brétéché <charled.breteche@gmail.com>
This commit is contained in:
Charles-Edouard Brétéché 2022-04-27 14:30:43 +02:00 committed by GitHub
parent d72ecd4853
commit f34a542587
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
74 changed files with 280 additions and 251 deletions

View file

@ -70,7 +70,3 @@ type ClusterReportChangeRequestList struct {
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterReportChangeRequest `json:"items"`
}
func init() {
SchemeBuilder.Register(&ClusterReportChangeRequest{}, &ClusterReportChangeRequestList{})
}

View file

@ -20,23 +20,14 @@ limitations under the License.
package v1alpha2
import (
"github.com/kyverno/kyverno/api/kyverno"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)
// Package v1alpha2 contains API Schema definitions for the policy v1alpha2 API group
// +kubebuilder:object:generate=true
// +groupName=kyverno.io
var (
// SchemeGroupVersion is group version used to register these objects
SchemeGroupVersion = schema.GroupVersion{Group: "kyverno.io", Version: "v1alpha2"}
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
// AddToScheme adds the types in this group-version to the given scheme.
AddToScheme = SchemeBuilder.AddToScheme
)
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: kyverno.GroupName, Version: "v1alpha2"}
// Kind takes an unqualified kind and returns back a Group qualified GroupKind
func Kind(kind string) schema.GroupKind {
@ -47,3 +38,23 @@ func Kind(kind string) schema.GroupKind {
func Resource(resource string) schema.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
var (
// SchemeBuilder builds the scheme
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
// AddToScheme adds all types of this clientset into the given scheme
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&ReportChangeRequest{},
&ReportChangeRequestList{},
&ClusterReportChangeRequest{},
&ClusterReportChangeRequestList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

View file

@ -69,7 +69,3 @@ type ReportChangeRequestList struct {
metav1.ListMeta `json:"metadata,omitempty"`
Items []ReportChangeRequest `json:"items"`
}
func init() {
SchemeBuilder.Register(&ReportChangeRequest{}, &ReportChangeRequestList{})
}

View file

@ -23,7 +23,7 @@ import (
policyreportv1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

View file

@ -20,27 +20,39 @@ limitations under the License.
package v1beta1
import (
"github.com/kyverno/kyverno/api/kyverno"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)
var (
// GroupVersion is group version used to register these objects
GroupVersion = schema.GroupVersion{Group: "kyverno.io", Version: "v1beta1"}
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
// AddToScheme adds the types in this group-version to the given scheme.
AddToScheme = SchemeBuilder.AddToScheme
)
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: kyverno.GroupName, Version: "v1beta1"}
// Kind takes an unqualified kind and returns back a Group qualified GroupKind
func Kind(kind string) schema.GroupKind {
return GroupVersion.WithKind(kind).GroupKind()
return SchemeGroupVersion.WithKind(kind).GroupKind()
}
// Resource takes an unqualified resource and returns a Group qualified GroupResource
func Resource(resource string) schema.GroupResource {
return GroupVersion.WithResource(resource).GroupResource()
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
var (
// SchemeBuilder builds the scheme
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
// AddToScheme adds all types of this clientset into the given scheme
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&UpdateRequest{},
&UpdateRequestList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

View file

@ -147,10 +147,6 @@ type UpdateRequestList struct {
Items []UpdateRequest `json:"items"`
}
func init() {
SchemeBuilder.Register(&UpdateRequest{}, &UpdateRequestList{})
}
func (s *UpdateRequestSpec) GetRequestType() RequestType {
return s.Type
}

View file

@ -21,7 +21,7 @@ package v1beta1
import (
"github.com/kyverno/kyverno/api/kyverno/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

6
api/policyreport/register.go Executable file
View file

@ -0,0 +1,6 @@
package policyreport
const (
// GroupName must be the same as specified in Policy CRD
GroupName = "wgpolicyk8s.io"
)

View file

@ -70,7 +70,3 @@ type ClusterPolicyReportList struct {
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterPolicyReport `json:"items"`
}
func init() {
SchemeBuilder.Register(&ClusterPolicyReport{}, &ClusterPolicyReportList{})
}

View file

@ -181,7 +181,3 @@ type PolicyReportList struct {
metav1.ListMeta `json:"metadata,omitempty"`
Items []PolicyReport `json:"items"`
}
func init() {
SchemeBuilder.Register(&PolicyReport{}, &PolicyReportList{})
}

View file

@ -20,23 +20,14 @@ limitations under the License.
package v1alpha2
import (
"github.com/kyverno/kyverno/api/policyreport"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/scheme"
)
// Package v1alpha2 contains API Schema definitions for the policy v1alpha2 API group
// +kubebuilder:object:generate=true
// +groupName=wgpolicyk8s.io
var (
// SchemeGroupVersion is group version used to register these objects
SchemeGroupVersion = schema.GroupVersion{Group: "wgpolicyk8s.io", Version: "v1alpha2"}
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
// AddToScheme adds the types in this group-version to the given scheme.
AddToScheme = SchemeBuilder.AddToScheme
)
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: policyreport.GroupName, Version: "v1alpha2"}
// Kind takes an unqualified kind and returns back a Group qualified GroupKind
func Kind(kind string) schema.GroupKind {
@ -47,3 +38,23 @@ func Kind(kind string) schema.GroupKind {
func Resource(resource string) schema.GroupResource {
return SchemeGroupVersion.WithResource(resource).GroupResource()
}
var (
// SchemeBuilder builds the scheme
SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
// AddToScheme adds all types of this clientset into the given scheme
AddToScheme = SchemeBuilder.AddToScheme
)
// Adds the list of known types to Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&ClusterPolicyReport{},
&ClusterPolicyReportList{},
&PolicyReport{},
&PolicyReportList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

View file

@ -22,7 +22,7 @@ package v1alpha2
import (
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
)
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

25
pkg/client/clientset/versioned/clientset.go Executable file → Normal file
View file

@ -112,3 +112,28 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
}
return &cs, nil
}
// NewForConfigOrDie creates a new Clientset for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *Clientset {
var cs Clientset
cs.kyvernoV1 = kyvernov1.NewForConfigOrDie(c)
cs.kyvernoV1beta1 = kyvernov1beta1.NewForConfigOrDie(c)
cs.kyvernoV1alpha2 = kyvernov1alpha2.NewForConfigOrDie(c)
cs.wgpolicyk8sV1alpha2 = wgpolicyk8sv1alpha2.NewForConfigOrDie(c)
cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
return &cs
}
// New creates a new Clientset for the given RESTClient.
func New(c rest.Interface) *Clientset {
var cs Clientset
cs.kyvernoV1 = kyvernov1.New(c)
cs.kyvernoV1beta1 = kyvernov1beta1.New(c)
cs.kyvernoV1alpha2 = kyvernov1alpha2.New(c)
cs.wgpolicyk8sV1alpha2 = wgpolicyk8sv1alpha2.New(c)
cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
return &cs
}

0
pkg/client/clientset/versioned/doc.go Executable file → Normal file
View file

View file

0
pkg/client/clientset/versioned/fake/doc.go Executable file → Normal file
View file

0
pkg/client/clientset/versioned/fake/register.go Executable file → Normal file
View file

0
pkg/client/clientset/versioned/scheme/doc.go Executable file → Normal file
View file

0
pkg/client/clientset/versioned/scheme/register.go Executable file → Normal file
View file

View file

0
pkg/client/clientset/versioned/typed/kyverno/v1/doc.go Executable file → Normal file
View file

View file

View file

View file

View file

View file

View file

View file

@ -22,7 +22,7 @@ import (
"context"
"time"
"github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
scheme "github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"

View file

@ -21,7 +21,7 @@ package fake
import (
"context"
"github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View file

@ -21,7 +21,7 @@ package fake
import (
"context"
"github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View file

@ -19,7 +19,7 @@ limitations under the License.
package v1alpha2
import (
"github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
"github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
rest "k8s.io/client-go/rest"
)

View file

@ -22,7 +22,7 @@ import (
"context"
"time"
"github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
scheme "github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"

View file

@ -20,7 +20,7 @@ package v1beta1
import (
v1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1"
scheme "github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
"github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
rest "k8s.io/client-go/rest"
)
@ -51,8 +51,23 @@ func NewForConfig(c *rest.Config) (*KyvernoV1beta1Client, error) {
return &KyvernoV1beta1Client{client}, nil
}
// NewForConfigOrDie creates a new KyvernoV1beta1Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *KyvernoV1beta1Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new KyvernoV1beta1Client for the given RESTClient.
func New(c rest.Interface) *KyvernoV1beta1Client {
return &KyvernoV1beta1Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v1beta1.GroupVersion
gv := v1beta1.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()

View file

@ -22,7 +22,7 @@ import (
"context"
"time"
"github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
scheme "github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"

View file

View file

View file

@ -21,7 +21,7 @@ package fake
import (
"context"
"github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View file

@ -21,7 +21,7 @@ package fake
import (
"context"
"github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View file

@ -22,7 +22,7 @@ import (
"context"
"time"
"github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
scheme "github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"

View file

@ -19,7 +19,7 @@ limitations under the License.
package v1alpha2
import (
"github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
"github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
rest "k8s.io/client-go/rest"
)

0
pkg/client/informers/externalversions/factory.go Executable file → Normal file
View file

9
pkg/client/informers/externalversions/generic.go Executable file → Normal file
View file

@ -22,7 +22,7 @@ import (
"fmt"
v1 "github.com/kyverno/kyverno/api/kyverno/v1"
"github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1"
policyreportv1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
schema "k8s.io/apimachinery/pkg/runtime/schema"
@ -63,15 +63,16 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource
case v1.SchemeGroupVersion.WithResource("policies"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Kyverno().V1().Policies().Informer()}, nil
case v1beta1.GroupVersion.WithResource("updaterequests"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Kyverno().V1beta1().UpdateRequests().Informer()}, nil
// Group=kyverno.io, Version=v1alpha2
case v1alpha2.SchemeGroupVersion.WithResource("clusterreportchangerequests"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Kyverno().V1alpha2().ClusterReportChangeRequests().Informer()}, nil
case v1alpha2.SchemeGroupVersion.WithResource("reportchangerequests"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Kyverno().V1alpha2().ReportChangeRequests().Informer()}, nil
// Group=kyverno.io, Version=v1beta1
case v1beta1.SchemeGroupVersion.WithResource("updaterequests"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Kyverno().V1beta1().UpdateRequests().Informer()}, nil
// Group=wgpolicyk8s.io, Version=v1alpha2
case policyreportv1alpha2.SchemeGroupVersion.WithResource("clusterpolicyreports"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Wgpolicyk8s().V1alpha2().ClusterPolicyReports().Informer()}, nil

View file

View file

View file

View file

View file

View file

16
pkg/client/listers/kyverno/v1/clusterpolicy.go Executable file → Normal file
View file

@ -19,7 +19,7 @@ limitations under the License.
package v1
import (
v12 "github.com/kyverno/kyverno/api/kyverno/v1"
v1 "github.com/kyverno/kyverno/api/kyverno/v1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
@ -30,10 +30,10 @@ import (
type ClusterPolicyLister interface {
// List lists all ClusterPolicies in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v12.ClusterPolicy, err error)
List(selector labels.Selector) (ret []*v1.ClusterPolicy, err error)
// Get retrieves the ClusterPolicy from the index for a given name.
// Objects returned here must be treated as read-only.
Get(name string) (*v12.ClusterPolicy, error)
Get(name string) (*v1.ClusterPolicy, error)
ClusterPolicyListerExpansion
}
@ -48,21 +48,21 @@ func NewClusterPolicyLister(indexer cache.Indexer) ClusterPolicyLister {
}
// List lists all ClusterPolicies in the indexer.
func (s *clusterPolicyLister) List(selector labels.Selector) (ret []*v12.ClusterPolicy, err error) {
func (s *clusterPolicyLister) List(selector labels.Selector) (ret []*v1.ClusterPolicy, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v12.ClusterPolicy))
ret = append(ret, m.(*v1.ClusterPolicy))
})
return ret, err
}
// Get retrieves the ClusterPolicy from the index for a given name.
func (s *clusterPolicyLister) Get(name string) (*v12.ClusterPolicy, error) {
func (s *clusterPolicyLister) Get(name string) (*v1.ClusterPolicy, error) {
obj, exists, err := s.indexer.GetByKey(name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v12.Resource("clusterpolicy"), name)
return nil, errors.NewNotFound(v1.Resource("clusterpolicy"), name)
}
return obj.(*v12.ClusterPolicy), nil
return obj.(*v1.ClusterPolicy), nil
}

View file

@ -0,0 +1,18 @@
package v1
import (
v1 "github.com/kyverno/kyverno/api/kyverno/v1"
"k8s.io/apimachinery/pkg/labels"
)
type ClusterPolicyListerExpansion interface{}
//ListResources is a wrapper to List and adds the resource kind information
// as the lister is specific to a gvk we can harcode the values here
func (pl *clusterPolicyLister) ListResources(selector labels.Selector) (ret []*v1.ClusterPolicy, err error) {
policies, err := pl.List(selector)
for index := range policies {
policies[index].SetGroupVersionKind(v1.SchemeGroupVersion.WithKind("ClusterPolicy"))
}
return policies, err
}

View file

@ -1,65 +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 v1
import (
v1 "github.com/kyverno/kyverno/api/kyverno/v1"
"k8s.io/apimachinery/pkg/labels"
)
//ListResources is a wrapper to List and adds the resource kind information
// as the lister is specific to a gvk we can harcode the values here
func (pl *clusterPolicyLister) ListResources(selector labels.Selector) (ret []*v1.ClusterPolicy, err error) {
policies, err := pl.List(selector)
for index := range policies {
policies[index].SetGroupVersionKind(v1.SchemeGroupVersion.WithKind("ClusterPolicy"))
}
return policies, err
}
func (s generateRequestNamespaceLister) GetGenerateRequestsForResource(kind, namespace, name string) ([]*v1.GenerateRequest, error) {
var list []*v1.GenerateRequest
grs, err := s.List(labels.NewSelector())
if err != nil {
return nil, err
}
for idx, gr := range grs {
if gr.Spec.Resource.Kind == kind &&
gr.Spec.Resource.Namespace == namespace &&
gr.Spec.Resource.Name == name {
list = append(list, grs[idx])
}
}
return list, err
}
func (s generateRequestNamespaceLister) GetGenerateRequestsForClusterPolicy(policy string) ([]*v1.GenerateRequest, error) {
var list []*v1.GenerateRequest
grs, err := s.List(labels.NewSelector())
if err != nil {
return nil, err
}
for idx, gr := range grs {
if gr.Spec.Policy == policy {
list = append(list, grs[idx])
}
}
return list, err
}

View file

@ -1,10 +0,0 @@
package v1
import (
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
)
type GenerateRequestNamespaceListerExpansion interface {
GetGenerateRequestsForClusterPolicy(policy string) ([]*kyvernov1.GenerateRequest, error)
GetGenerateRequestsForResource(kind, namespace, name string) ([]*kyvernov1.GenerateRequest, error)
}

8
pkg/client/listers/kyverno/v1/expansion_generated.go Executable file → Normal file
View file

@ -18,14 +18,6 @@ limitations under the License.
package v1
// ClusterPolicyListerExpansion allows custom methods to be added to
// ClusterPolicyLister.
type ClusterPolicyListerExpansion interface{}
// GenerateRequestListerExpansion allows custom methods to be added to
// GenerateRequestLister.
type GenerateRequestListerExpansion interface{}
// PolicyListerExpansion allows custom methods to be added to
// PolicyLister.
type PolicyListerExpansion interface{}

22
pkg/client/listers/kyverno/v1/generaterequest.go Executable file → Normal file
View file

@ -19,7 +19,7 @@ limitations under the License.
package v1
import (
v12 "github.com/kyverno/kyverno/api/kyverno/v1"
v1 "github.com/kyverno/kyverno/api/kyverno/v1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
@ -30,7 +30,7 @@ import (
type GenerateRequestLister interface {
// List lists all GenerateRequests in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v12.GenerateRequest, err error)
List(selector labels.Selector) (ret []*v1.GenerateRequest, err error)
// GenerateRequests returns an object that can list and get GenerateRequests.
GenerateRequests(namespace string) GenerateRequestNamespaceLister
GenerateRequestListerExpansion
@ -47,9 +47,9 @@ func NewGenerateRequestLister(indexer cache.Indexer) GenerateRequestLister {
}
// List lists all GenerateRequests in the indexer.
func (s *generateRequestLister) List(selector labels.Selector) (ret []*v12.GenerateRequest, err error) {
func (s *generateRequestLister) List(selector labels.Selector) (ret []*v1.GenerateRequest, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v12.GenerateRequest))
ret = append(ret, m.(*v1.GenerateRequest))
})
return ret, err
}
@ -64,10 +64,10 @@ func (s *generateRequestLister) GenerateRequests(namespace string) GenerateReque
type GenerateRequestNamespaceLister interface {
// List lists all GenerateRequests in the indexer for a given namespace.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v12.GenerateRequest, err error)
List(selector labels.Selector) (ret []*v1.GenerateRequest, err error)
// Get retrieves the GenerateRequest from the indexer for a given namespace and name.
// Objects returned here must be treated as read-only.
Get(name string) (*v12.GenerateRequest, error)
Get(name string) (*v1.GenerateRequest, error)
GenerateRequestNamespaceListerExpansion
}
@ -79,21 +79,21 @@ type generateRequestNamespaceLister struct {
}
// List lists all GenerateRequests in the indexer for a given namespace.
func (s generateRequestNamespaceLister) List(selector labels.Selector) (ret []*v12.GenerateRequest, err error) {
func (s generateRequestNamespaceLister) List(selector labels.Selector) (ret []*v1.GenerateRequest, err error) {
err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
ret = append(ret, m.(*v12.GenerateRequest))
ret = append(ret, m.(*v1.GenerateRequest))
})
return ret, err
}
// Get retrieves the GenerateRequest from the indexer for a given namespace and name.
func (s generateRequestNamespaceLister) Get(name string) (*v12.GenerateRequest, error) {
func (s generateRequestNamespaceLister) Get(name string) (*v1.GenerateRequest, error) {
obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v12.Resource("generaterequest"), name)
return nil, errors.NewNotFound(v1.Resource("generaterequest"), name)
}
return obj.(*v12.GenerateRequest), nil
return obj.(*v1.GenerateRequest), nil
}

View file

@ -0,0 +1,44 @@
package v1
import (
v1 "github.com/kyverno/kyverno/api/kyverno/v1"
"k8s.io/apimachinery/pkg/labels"
)
type GenerateRequestListerExpansion interface{}
type GenerateRequestNamespaceListerExpansion interface {
GetGenerateRequestsForClusterPolicy(policy string) ([]*v1.GenerateRequest, error)
GetGenerateRequestsForResource(kind, namespace, name string) ([]*v1.GenerateRequest, error)
}
func (s generateRequestNamespaceLister) GetGenerateRequestsForResource(kind, namespace, name string) ([]*v1.GenerateRequest, error) {
var list []*v1.GenerateRequest
grs, err := s.List(labels.NewSelector())
if err != nil {
return nil, err
}
for idx, gr := range grs {
if gr.Spec.Resource.Kind == kind &&
gr.Spec.Resource.Namespace == namespace &&
gr.Spec.Resource.Name == name {
list = append(list, grs[idx])
}
}
return list, err
}
func (s generateRequestNamespaceLister) GetGenerateRequestsForClusterPolicy(policy string) ([]*v1.GenerateRequest, error) {
var list []*v1.GenerateRequest
grs, err := s.List(labels.NewSelector())
if err != nil {
return nil, err
}
for idx, gr := range grs {
if gr.Spec.Policy == policy {
list = append(list, grs[idx])
}
}
return list, err
}

22
pkg/client/listers/kyverno/v1/policy.go Executable file → Normal file
View file

@ -19,7 +19,7 @@ limitations under the License.
package v1
import (
v12 "github.com/kyverno/kyverno/api/kyverno/v1"
v1 "github.com/kyverno/kyverno/api/kyverno/v1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
@ -30,7 +30,7 @@ import (
type PolicyLister interface {
// List lists all Policies in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v12.Policy, err error)
List(selector labels.Selector) (ret []*v1.Policy, err error)
// Policies returns an object that can list and get Policies.
Policies(namespace string) PolicyNamespaceLister
PolicyListerExpansion
@ -47,9 +47,9 @@ func NewPolicyLister(indexer cache.Indexer) PolicyLister {
}
// List lists all Policies in the indexer.
func (s *policyLister) List(selector labels.Selector) (ret []*v12.Policy, err error) {
func (s *policyLister) List(selector labels.Selector) (ret []*v1.Policy, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v12.Policy))
ret = append(ret, m.(*v1.Policy))
})
return ret, err
}
@ -64,10 +64,10 @@ func (s *policyLister) Policies(namespace string) PolicyNamespaceLister {
type PolicyNamespaceLister interface {
// List lists all Policies in the indexer for a given namespace.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v12.Policy, err error)
List(selector labels.Selector) (ret []*v1.Policy, err error)
// Get retrieves the Policy from the indexer for a given namespace and name.
// Objects returned here must be treated as read-only.
Get(name string) (*v12.Policy, error)
Get(name string) (*v1.Policy, error)
PolicyNamespaceListerExpansion
}
@ -79,21 +79,21 @@ type policyNamespaceLister struct {
}
// List lists all Policies in the indexer for a given namespace.
func (s policyNamespaceLister) List(selector labels.Selector) (ret []*v12.Policy, err error) {
func (s policyNamespaceLister) List(selector labels.Selector) (ret []*v1.Policy, err error) {
err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
ret = append(ret, m.(*v12.Policy))
ret = append(ret, m.(*v1.Policy))
})
return ret, err
}
// Get retrieves the Policy from the indexer for a given namespace and name.
func (s policyNamespaceLister) Get(name string) (*v12.Policy, error) {
func (s policyNamespaceLister) Get(name string) (*v1.Policy, error) {
obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v12.Resource("policy"), name)
return nil, errors.NewNotFound(v1.Resource("policy"), name)
}
return obj.(*v12.Policy), nil
return obj.(*v1.Policy), nil
}

View file

@ -19,7 +19,7 @@ limitations under the License.
package v1alpha2
import (
v1alpha22 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
@ -30,10 +30,10 @@ import (
type ClusterReportChangeRequestLister interface {
// List lists all ClusterReportChangeRequests in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v1alpha22.ClusterReportChangeRequest, err error)
List(selector labels.Selector) (ret []*v1alpha2.ClusterReportChangeRequest, err error)
// Get retrieves the ClusterReportChangeRequest from the index for a given name.
// Objects returned here must be treated as read-only.
Get(name string) (*v1alpha22.ClusterReportChangeRequest, error)
Get(name string) (*v1alpha2.ClusterReportChangeRequest, error)
ClusterReportChangeRequestListerExpansion
}
@ -48,21 +48,21 @@ func NewClusterReportChangeRequestLister(indexer cache.Indexer) ClusterReportCha
}
// List lists all ClusterReportChangeRequests in the indexer.
func (s *clusterReportChangeRequestLister) List(selector labels.Selector) (ret []*v1alpha22.ClusterReportChangeRequest, err error) {
func (s *clusterReportChangeRequestLister) List(selector labels.Selector) (ret []*v1alpha2.ClusterReportChangeRequest, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v1alpha22.ClusterReportChangeRequest))
ret = append(ret, m.(*v1alpha2.ClusterReportChangeRequest))
})
return ret, err
}
// Get retrieves the ClusterReportChangeRequest from the index for a given name.
func (s *clusterReportChangeRequestLister) Get(name string) (*v1alpha22.ClusterReportChangeRequest, error) {
func (s *clusterReportChangeRequestLister) Get(name string) (*v1alpha2.ClusterReportChangeRequest, error) {
obj, exists, err := s.indexer.GetByKey(name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v1alpha22.Resource("clusterreportchangerequest"), name)
return nil, errors.NewNotFound(v1alpha2.Resource("clusterreportchangerequest"), name)
}
return obj.(*v1alpha22.ClusterReportChangeRequest), nil
return obj.(*v1alpha2.ClusterReportChangeRequest), nil
}

View file

@ -19,7 +19,7 @@ limitations under the License.
package v1alpha2
import (
v1alpha22 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
@ -30,7 +30,7 @@ import (
type ReportChangeRequestLister interface {
// List lists all ReportChangeRequests in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v1alpha22.ReportChangeRequest, err error)
List(selector labels.Selector) (ret []*v1alpha2.ReportChangeRequest, err error)
// ReportChangeRequests returns an object that can list and get ReportChangeRequests.
ReportChangeRequests(namespace string) ReportChangeRequestNamespaceLister
ReportChangeRequestListerExpansion
@ -47,9 +47,9 @@ func NewReportChangeRequestLister(indexer cache.Indexer) ReportChangeRequestList
}
// List lists all ReportChangeRequests in the indexer.
func (s *reportChangeRequestLister) List(selector labels.Selector) (ret []*v1alpha22.ReportChangeRequest, err error) {
func (s *reportChangeRequestLister) List(selector labels.Selector) (ret []*v1alpha2.ReportChangeRequest, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v1alpha22.ReportChangeRequest))
ret = append(ret, m.(*v1alpha2.ReportChangeRequest))
})
return ret, err
}
@ -64,10 +64,10 @@ func (s *reportChangeRequestLister) ReportChangeRequests(namespace string) Repor
type ReportChangeRequestNamespaceLister interface {
// List lists all ReportChangeRequests in the indexer for a given namespace.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v1alpha22.ReportChangeRequest, err error)
List(selector labels.Selector) (ret []*v1alpha2.ReportChangeRequest, err error)
// Get retrieves the ReportChangeRequest from the indexer for a given namespace and name.
// Objects returned here must be treated as read-only.
Get(name string) (*v1alpha22.ReportChangeRequest, error)
Get(name string) (*v1alpha2.ReportChangeRequest, error)
ReportChangeRequestNamespaceListerExpansion
}
@ -79,21 +79,21 @@ type reportChangeRequestNamespaceLister struct {
}
// List lists all ReportChangeRequests in the indexer for a given namespace.
func (s reportChangeRequestNamespaceLister) List(selector labels.Selector) (ret []*v1alpha22.ReportChangeRequest, err error) {
func (s reportChangeRequestNamespaceLister) List(selector labels.Selector) (ret []*v1alpha2.ReportChangeRequest, err error) {
err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
ret = append(ret, m.(*v1alpha22.ReportChangeRequest))
ret = append(ret, m.(*v1alpha2.ReportChangeRequest))
})
return ret, err
}
// Get retrieves the ReportChangeRequest from the indexer for a given namespace and name.
func (s reportChangeRequestNamespaceLister) Get(name string) (*v1alpha22.ReportChangeRequest, error) {
func (s reportChangeRequestNamespaceLister) Get(name string) (*v1alpha2.ReportChangeRequest, error) {
obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v1alpha22.Resource("reportchangerequest"), name)
return nil, errors.NewNotFound(v1alpha2.Resource("reportchangerequest"), name)
}
return obj.(*v1alpha22.ReportChangeRequest), nil
return obj.(*v1alpha2.ReportChangeRequest), nil
}

View file

@ -17,17 +17,3 @@ limitations under the License.
// Code generated by lister-gen. DO NOT EDIT.
package v1beta1
import (
v1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1"
)
// UpdateRequestListerExpansion allows custom methods to be added to
// UpdateRequestLister.
type UpdateRequestListerExpansion interface{}
// UpdateRequestNamespaceListerExpansion allows custom methods to be added to
// UpdateRequestNamespaceLister.
type UpdateRequestNamespaceListerExpansion interface {
GetUpdateRequestsForClusterPolicy(policy string) ([]*v1beta1.UpdateRequest, error)
}

View file

@ -1,12 +1,9 @@
/*
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.
@ -23,6 +20,12 @@ import (
"k8s.io/apimachinery/pkg/labels"
)
type UpdateRequestListerExpansion interface{}
type UpdateRequestNamespaceListerExpansion interface {
GetUpdateRequestsForClusterPolicy(policy string) ([]*v1beta1.UpdateRequest, error)
}
func (s updateRequestNamespaceLister) GetUpdateRequestsForClusterPolicy(policy string) ([]*v1beta1.UpdateRequest, error) {
var list []*v1beta1.UpdateRequest
urs, err := s.List(labels.NewSelector())

View file

@ -19,7 +19,7 @@ limitations under the License.
package v1alpha2
import (
v1alpha22 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
@ -30,10 +30,10 @@ import (
type ClusterPolicyReportLister interface {
// List lists all ClusterPolicyReports in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v1alpha22.ClusterPolicyReport, err error)
List(selector labels.Selector) (ret []*v1alpha2.ClusterPolicyReport, err error)
// Get retrieves the ClusterPolicyReport from the index for a given name.
// Objects returned here must be treated as read-only.
Get(name string) (*v1alpha22.ClusterPolicyReport, error)
Get(name string) (*v1alpha2.ClusterPolicyReport, error)
ClusterPolicyReportListerExpansion
}
@ -48,21 +48,21 @@ func NewClusterPolicyReportLister(indexer cache.Indexer) ClusterPolicyReportList
}
// List lists all ClusterPolicyReports in the indexer.
func (s *clusterPolicyReportLister) List(selector labels.Selector) (ret []*v1alpha22.ClusterPolicyReport, err error) {
func (s *clusterPolicyReportLister) List(selector labels.Selector) (ret []*v1alpha2.ClusterPolicyReport, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v1alpha22.ClusterPolicyReport))
ret = append(ret, m.(*v1alpha2.ClusterPolicyReport))
})
return ret, err
}
// Get retrieves the ClusterPolicyReport from the index for a given name.
func (s *clusterPolicyReportLister) Get(name string) (*v1alpha22.ClusterPolicyReport, error) {
func (s *clusterPolicyReportLister) Get(name string) (*v1alpha2.ClusterPolicyReport, error) {
obj, exists, err := s.indexer.GetByKey(name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v1alpha22.Resource("clusterpolicyreport"), name)
return nil, errors.NewNotFound(v1alpha2.Resource("clusterpolicyreport"), name)
}
return obj.(*v1alpha22.ClusterPolicyReport), nil
return obj.(*v1alpha2.ClusterPolicyReport), nil
}

View file

View file

@ -19,7 +19,7 @@ limitations under the License.
package v1alpha2
import (
v1alpha22 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
@ -30,7 +30,7 @@ import (
type PolicyReportLister interface {
// List lists all PolicyReports in the indexer.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v1alpha22.PolicyReport, err error)
List(selector labels.Selector) (ret []*v1alpha2.PolicyReport, err error)
// PolicyReports returns an object that can list and get PolicyReports.
PolicyReports(namespace string) PolicyReportNamespaceLister
PolicyReportListerExpansion
@ -47,9 +47,9 @@ func NewPolicyReportLister(indexer cache.Indexer) PolicyReportLister {
}
// List lists all PolicyReports in the indexer.
func (s *policyReportLister) List(selector labels.Selector) (ret []*v1alpha22.PolicyReport, err error) {
func (s *policyReportLister) List(selector labels.Selector) (ret []*v1alpha2.PolicyReport, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v1alpha22.PolicyReport))
ret = append(ret, m.(*v1alpha2.PolicyReport))
})
return ret, err
}
@ -64,10 +64,10 @@ func (s *policyReportLister) PolicyReports(namespace string) PolicyReportNamespa
type PolicyReportNamespaceLister interface {
// List lists all PolicyReports in the indexer for a given namespace.
// Objects returned here must be treated as read-only.
List(selector labels.Selector) (ret []*v1alpha22.PolicyReport, err error)
List(selector labels.Selector) (ret []*v1alpha2.PolicyReport, err error)
// Get retrieves the PolicyReport from the indexer for a given namespace and name.
// Objects returned here must be treated as read-only.
Get(name string) (*v1alpha22.PolicyReport, error)
Get(name string) (*v1alpha2.PolicyReport, error)
PolicyReportNamespaceListerExpansion
}
@ -79,21 +79,21 @@ type policyReportNamespaceLister struct {
}
// List lists all PolicyReports in the indexer for a given namespace.
func (s policyReportNamespaceLister) List(selector labels.Selector) (ret []*v1alpha22.PolicyReport, err error) {
func (s policyReportNamespaceLister) List(selector labels.Selector) (ret []*v1alpha2.PolicyReport, err error) {
err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
ret = append(ret, m.(*v1alpha22.PolicyReport))
ret = append(ret, m.(*v1alpha2.PolicyReport))
})
return ret, err
}
// Get retrieves the PolicyReport from the indexer for a given namespace and name.
func (s policyReportNamespaceLister) Get(name string) (*v1alpha22.PolicyReport, error) {
func (s policyReportNamespaceLister) Get(name string) (*v1alpha2.PolicyReport, error) {
obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v1alpha22.Resource("policyreport"), name)
return nil, errors.NewNotFound(v1alpha2.Resource("policyreport"), name)
}
return obj.(*v1alpha22.PolicyReport), nil
return obj.(*v1alpha2.PolicyReport), nil
}

View file

@ -10,4 +10,4 @@ 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.
*/
*/

View file

@ -23,7 +23,7 @@ NIRMATA_PKG=${NIRMATA_ROOT#"${GOPATH}/src/"}
# perform code generation
${CODEGEN_PKG}/generate-groups.sh \
"deepcopy,client,informer,lister" \
"client,informer,lister" \
${NIRMATA_PKG}/pkg/client \
${NIRMATA_PKG}/pkg/api \
${NIRMATA_PKG}/api \
"kyverno:v1 kyverno:v1beta1 kyverno:v1alpha2 policyreport:v1alpha2"