diff --git a/go.mod b/go.mod index 9f9f4010..d5db2412 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( k8s.io/apimachinery v0.25.0 k8s.io/client-go v0.25.0 k8s.io/metrics v0.25.0 - sigs.k8s.io/controller-runtime v0.12.3 + sigs.k8s.io/controller-runtime v0.13.0 sigs.k8s.io/yaml v1.3.0 ) @@ -89,7 +89,7 @@ require ( github.com/go-ini/ini v1.66.4 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-logr/zapr v1.2.0 // indirect + github.com/go-logr/zapr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect github.com/go-openapi/swag v0.19.15 // indirect @@ -159,7 +159,7 @@ require ( golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10 // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect + golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03 // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/go.sum b/go.sum index 8cced323..7eb459fa 100644 --- a/go.sum +++ b/go.sum @@ -245,8 +245,8 @@ github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= +github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= +github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= @@ -921,8 +921,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1189,8 +1189,8 @@ k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/controller-runtime v0.12.3 h1:FCM8xeY/FI8hoAfh/V4XbbYMY20gElh9yh+A98usMio= -sigs.k8s.io/controller-runtime v0.12.3/go.mod h1:qKsk4WE6zW2Hfj0G4v10EnNB2jMG1C+NTb8h+DwCoU0= +sigs.k8s.io/controller-runtime v0.13.0 h1:iqa5RNciy7ADWnIc8QxCbOX5FEKVR3uxVxKHRMc2WIQ= +sigs.k8s.io/controller-runtime v0.13.0/go.mod h1:Zbz+el8Yg31jubvAEyglRZGdLAjplZl+PgtYNI6WNTI= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= diff --git a/pkg/generated/clientset/versioned/clientset.go b/pkg/generated/clientset/versioned/clientset.go index fbfe41b4..afdb2d94 100644 --- a/pkg/generated/clientset/versioned/clientset.go +++ b/pkg/generated/clientset/versioned/clientset.go @@ -20,6 +20,7 @@ package versioned import ( "fmt" + "net/http" corev1 "github.com/fission/fission/pkg/generated/clientset/versioned/typed/core/v1" discovery "k8s.io/client-go/discovery" @@ -55,22 +56,45 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { // NewForConfig creates a new Clientset for the given config. // If config's RateLimiter is not set and QPS and Burst are acceptable, // NewForConfig will generate a rate-limiter in configShallowCopy. +// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), +// where httpClient was generated with rest.HTTPClientFor(c). func NewForConfig(c *rest.Config) (*Clientset, error) { configShallowCopy := *c + + if configShallowCopy.UserAgent == "" { + configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent() + } + + // share the transport between all clients + httpClient, err := rest.HTTPClientFor(&configShallowCopy) + if err != nil { + return nil, err + } + + return NewForConfigAndClient(&configShallowCopy, httpClient) +} + +// NewForConfigAndClient creates a new Clientset for the given config and http client. +// Note the http client provided takes precedence over the configured transport values. +// If config's RateLimiter is not set and QPS and Burst are acceptable, +// NewForConfigAndClient will generate a rate-limiter in configShallowCopy. +func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*Clientset, error) { + configShallowCopy := *c if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { if configShallowCopy.Burst <= 0 { return nil, fmt.Errorf("burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0") } configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) } + var cs Clientset var err error - cs.coreV1, err = corev1.NewForConfig(&configShallowCopy) + cs.coreV1, err = corev1.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } - cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } @@ -80,11 +104,11 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { // 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.coreV1 = corev1.NewForConfigOrDie(c) - - cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) - return &cs + cs, err := NewForConfig(c) + if err != nil { + panic(err) + } + return cs } // New creates a new Clientset for the given RESTClient. diff --git a/pkg/generated/clientset/versioned/fake/clientset_generated.go b/pkg/generated/clientset/versioned/fake/clientset_generated.go index effdda69..1ed1b913 100644 --- a/pkg/generated/clientset/versioned/fake/clientset_generated.go +++ b/pkg/generated/clientset/versioned/fake/clientset_generated.go @@ -74,7 +74,10 @@ func (c *Clientset) Tracker() testing.ObjectTracker { return c.tracker } -var _ clientset.Interface = &Clientset{} +var ( + _ clientset.Interface = &Clientset{} + _ testing.FakeClient = &Clientset{} +) // CoreV1 retrieves the CoreV1Client func (c *Clientset) CoreV1() corev1.CoreV1Interface { diff --git a/pkg/generated/clientset/versioned/typed/core/v1/core_client.go b/pkg/generated/clientset/versioned/typed/core/v1/core_client.go index 69d4fa2d..3d84e6a0 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/core_client.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/core_client.go @@ -19,6 +19,8 @@ limitations under the License. package v1 import ( + "net/http" + v1 "github.com/fission/fission/pkg/apis/core/v1" "github.com/fission/fission/pkg/generated/clientset/versioned/scheme" rest "k8s.io/client-go/rest" @@ -74,12 +76,28 @@ func (c *CoreV1Client) TimeTriggers(namespace string) TimeTriggerInterface { } // NewForConfig creates a new CoreV1Client for the given config. +// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), +// where httpClient was generated with rest.HTTPClientFor(c). func NewForConfig(c *rest.Config) (*CoreV1Client, error) { config := *c if err := setConfigDefaults(&config); err != nil { return nil, err } - client, err := rest.RESTClientFor(&config) + httpClient, err := rest.HTTPClientFor(&config) + if err != nil { + return nil, err + } + return NewForConfigAndClient(&config, httpClient) +} + +// NewForConfigAndClient creates a new CoreV1Client for the given config and http client. +// Note the http client provided takes precedence over the configured transport values. +func NewForConfigAndClient(c *rest.Config, h *http.Client) (*CoreV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientForConfigAndClient(&config, h) if err != nil { return nil, err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_canaryconfig.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_canaryconfig.go index f875603e..fca40955 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_canaryconfig.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_canaryconfig.go @@ -117,7 +117,7 @@ func (c *FakeCanaryConfigs) UpdateStatus(ctx context.Context, _canaryConfig *cor // Delete takes name of the _canaryConfig and deletes it. Returns an error if one occurs. func (c *FakeCanaryConfigs) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(canaryconfigsResource, c.ns, name), &corev1.CanaryConfig{}) + Invokes(testing.NewDeleteActionWithOptions(canaryconfigsResource, c.ns, name, opts), &corev1.CanaryConfig{}) return err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_environment.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_environment.go index 8670933f..a410f153 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_environment.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_environment.go @@ -105,7 +105,7 @@ func (c *FakeEnvironments) Update(ctx context.Context, _environment *corev1.Envi // Delete takes name of the _environment and deletes it. Returns an error if one occurs. func (c *FakeEnvironments) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(environmentsResource, c.ns, name), &corev1.Environment{}) + Invokes(testing.NewDeleteActionWithOptions(environmentsResource, c.ns, name, opts), &corev1.Environment{}) return err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_function.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_function.go index ce22f919..c1b7c167 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_function.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_function.go @@ -105,7 +105,7 @@ func (c *FakeFunctions) Update(ctx context.Context, _function *corev1.Function, // Delete takes name of the _function and deletes it. Returns an error if one occurs. func (c *FakeFunctions) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(functionsResource, c.ns, name), &corev1.Function{}) + Invokes(testing.NewDeleteActionWithOptions(functionsResource, c.ns, name, opts), &corev1.Function{}) return err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_httptrigger.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_httptrigger.go index 716a690e..87b7452a 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_httptrigger.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_httptrigger.go @@ -105,7 +105,7 @@ func (c *FakeHTTPTriggers) Update(ctx context.Context, _hTTPTrigger *corev1.HTTP // Delete takes name of the _hTTPTrigger and deletes it. Returns an error if one occurs. func (c *FakeHTTPTriggers) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(httptriggersResource, c.ns, name), &corev1.HTTPTrigger{}) + Invokes(testing.NewDeleteActionWithOptions(httptriggersResource, c.ns, name, opts), &corev1.HTTPTrigger{}) return err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_kuberneteswatchtrigger.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_kuberneteswatchtrigger.go index de9a4ba6..6d67fc2f 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_kuberneteswatchtrigger.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_kuberneteswatchtrigger.go @@ -105,7 +105,7 @@ func (c *FakeKubernetesWatchTriggers) Update(ctx context.Context, _kubernetesWat // Delete takes name of the _kubernetesWatchTrigger and deletes it. Returns an error if one occurs. func (c *FakeKubernetesWatchTriggers) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(kuberneteswatchtriggersResource, c.ns, name), &corev1.KubernetesWatchTrigger{}) + Invokes(testing.NewDeleteActionWithOptions(kuberneteswatchtriggersResource, c.ns, name, opts), &corev1.KubernetesWatchTrigger{}) return err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_messagequeuetrigger.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_messagequeuetrigger.go index dd745036..aa1c68df 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_messagequeuetrigger.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_messagequeuetrigger.go @@ -105,7 +105,7 @@ func (c *FakeMessageQueueTriggers) Update(ctx context.Context, _messageQueueTrig // Delete takes name of the _messageQueueTrigger and deletes it. Returns an error if one occurs. func (c *FakeMessageQueueTriggers) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(messagequeuetriggersResource, c.ns, name), &corev1.MessageQueueTrigger{}) + Invokes(testing.NewDeleteActionWithOptions(messagequeuetriggersResource, c.ns, name, opts), &corev1.MessageQueueTrigger{}) return err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_package.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_package.go index fa038238..29195bb5 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_package.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_package.go @@ -117,7 +117,7 @@ func (c *FakePackages) UpdateStatus(ctx context.Context, _package *corev1.Packag // Delete takes name of the _package and deletes it. Returns an error if one occurs. func (c *FakePackages) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(packagesResource, c.ns, name), &corev1.Package{}) + Invokes(testing.NewDeleteActionWithOptions(packagesResource, c.ns, name, opts), &corev1.Package{}) return err } diff --git a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_timetrigger.go b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_timetrigger.go index 50c9ada7..2a8e144e 100644 --- a/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_timetrigger.go +++ b/pkg/generated/clientset/versioned/typed/core/v1/fake/fake_timetrigger.go @@ -105,7 +105,7 @@ func (c *FakeTimeTriggers) Update(ctx context.Context, _timeTrigger *corev1.Time // Delete takes name of the _timeTrigger and deletes it. Returns an error if one occurs. func (c *FakeTimeTriggers) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(timetriggersResource, c.ns, name), &corev1.TimeTrigger{}) + Invokes(testing.NewDeleteActionWithOptions(timetriggersResource, c.ns, name, opts), &corev1.TimeTrigger{}) return err }