This is an automated email from the ASF dual-hosted git repository.

nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git


The following commit(s) were added to refs/heads/master by this push:
     new ccf1c27  Fix #1791: auto-generate v1alpha1 resources
ccf1c27 is described below

commit ccf1c2755f2a1a511b5463c6347e159734099c96
Author: nicolaferraro <[email protected]>
AuthorDate: Wed Oct 28 16:15:38 2020 +0100

    Fix #1791: auto-generate v1alpha1 resources
---
 pkg/client/camel/clientset/versioned/clientset.go  |  16 +-
 .../versioned/fake/clientset_generated.go          |   7 +
 .../camel/clientset/versioned/fake/register.go     |   2 +
 .../camel/clientset/versioned/scheme/register.go   |   2 +
 .../versioned/typed/camel/v1alpha1/camel_client.go |  95 ++++++++++
 .../versioned/typed/camel/v1alpha1/doc.go          |  21 +++
 .../versioned/typed/camel/v1alpha1/fake/doc.go     |  21 +++
 .../typed/camel/v1alpha1/fake/fake_camel_client.go |  45 +++++
 .../typed/camel/v1alpha1/fake/fake_kamelet.go      | 143 +++++++++++++++
 .../camel/v1alpha1/fake/fake_kameletbinding.go     | 143 +++++++++++++++
 .../typed/camel/v1alpha1/generated_expansion.go    |  24 +++
 .../versioned/typed/camel/v1alpha1/kamelet.go      | 196 +++++++++++++++++++++
 .../typed/camel/v1alpha1/kameletbinding.go         | 196 +++++++++++++++++++++
 .../informers/externalversions/camel/interface.go  |   8 +
 .../camel/{ => v1alpha1}/interface.go              |  26 +--
 .../externalversions/camel/v1alpha1/kamelet.go     |  91 ++++++++++
 .../camel/v1alpha1/kameletbinding.go               |  91 ++++++++++
 .../camel/informers/externalversions/generic.go    |   7 +
 .../listers/camel/v1alpha1/expansion_generated.go  |  36 ++++
 pkg/client/camel/listers/camel/v1alpha1/kamelet.go |  95 ++++++++++
 .../camel/listers/camel/v1alpha1/kameletbinding.go |  95 ++++++++++
 script/gen_client.sh                               |   6 +-
 22 files changed, 1352 insertions(+), 14 deletions(-)

diff --git a/pkg/client/camel/clientset/versioned/clientset.go 
b/pkg/client/camel/clientset/versioned/clientset.go
index 1ec5a41..50e90d0 100644
--- a/pkg/client/camel/clientset/versioned/clientset.go
+++ b/pkg/client/camel/clientset/versioned/clientset.go
@@ -23,6 +23,7 @@ import (
        "fmt"
 
        camelv1 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1"
+       camelv1alpha1 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1"
        discovery "k8s.io/client-go/discovery"
        rest "k8s.io/client-go/rest"
        flowcontrol "k8s.io/client-go/util/flowcontrol"
@@ -31,13 +32,15 @@ import (
 type Interface interface {
        Discovery() discovery.DiscoveryInterface
        CamelV1() camelv1.CamelV1Interface
+       CamelV1alpha1() camelv1alpha1.CamelV1alpha1Interface
 }
 
 // Clientset contains the clients for groups. Each group has exactly one
 // version included in a Clientset.
 type Clientset struct {
        *discovery.DiscoveryClient
-       camelV1 *camelv1.CamelV1Client
+       camelV1       *camelv1.CamelV1Client
+       camelV1alpha1 *camelv1alpha1.CamelV1alpha1Client
 }
 
 // CamelV1 retrieves the CamelV1Client
@@ -45,6 +48,11 @@ func (c *Clientset) CamelV1() camelv1.CamelV1Interface {
        return c.camelV1
 }
 
+// CamelV1alpha1 retrieves the CamelV1alpha1Client
+func (c *Clientset) CamelV1alpha1() camelv1alpha1.CamelV1alpha1Interface {
+       return c.camelV1alpha1
+}
+
 // Discovery retrieves the DiscoveryClient
 func (c *Clientset) Discovery() discovery.DiscoveryInterface {
        if c == nil {
@@ -70,6 +78,10 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
        if err != nil {
                return nil, err
        }
+       cs.camelV1alpha1, err = camelv1alpha1.NewForConfig(&configShallowCopy)
+       if err != nil {
+               return nil, err
+       }
 
        cs.DiscoveryClient, err = 
discovery.NewDiscoveryClientForConfig(&configShallowCopy)
        if err != nil {
@@ -83,6 +95,7 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
 func NewForConfigOrDie(c *rest.Config) *Clientset {
        var cs Clientset
        cs.camelV1 = camelv1.NewForConfigOrDie(c)
+       cs.camelV1alpha1 = camelv1alpha1.NewForConfigOrDie(c)
 
        cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c)
        return &cs
@@ -92,6 +105,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset {
 func New(c rest.Interface) *Clientset {
        var cs Clientset
        cs.camelV1 = camelv1.New(c)
+       cs.camelV1alpha1 = camelv1alpha1.New(c)
 
        cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
        return &cs
diff --git a/pkg/client/camel/clientset/versioned/fake/clientset_generated.go 
b/pkg/client/camel/clientset/versioned/fake/clientset_generated.go
index 093a8d8..27b3873 100644
--- a/pkg/client/camel/clientset/versioned/fake/clientset_generated.go
+++ b/pkg/client/camel/clientset/versioned/fake/clientset_generated.go
@@ -23,6 +23,8 @@ import (
        clientset 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned"
        camelv1 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1"
        fakecamelv1 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1/fake"
+       camelv1alpha1 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1"
+       fakecamelv1alpha1 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake"
        "k8s.io/apimachinery/pkg/runtime"
        "k8s.io/apimachinery/pkg/watch"
        "k8s.io/client-go/discovery"
@@ -81,3 +83,8 @@ var _ clientset.Interface = &Clientset{}
 func (c *Clientset) CamelV1() camelv1.CamelV1Interface {
        return &fakecamelv1.FakeCamelV1{Fake: &c.Fake}
 }
+
+// CamelV1alpha1 retrieves the CamelV1alpha1Client
+func (c *Clientset) CamelV1alpha1() camelv1alpha1.CamelV1alpha1Interface {
+       return &fakecamelv1alpha1.FakeCamelV1alpha1{Fake: &c.Fake}
+}
diff --git a/pkg/client/camel/clientset/versioned/fake/register.go 
b/pkg/client/camel/clientset/versioned/fake/register.go
index cea6d0a..3c650ca 100644
--- a/pkg/client/camel/clientset/versioned/fake/register.go
+++ b/pkg/client/camel/clientset/versioned/fake/register.go
@@ -21,6 +21,7 @@ package fake
 
 import (
        camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+       camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
        v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        runtime "k8s.io/apimachinery/pkg/runtime"
        schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -33,6 +34,7 @@ var codecs = serializer.NewCodecFactory(scheme)
 var parameterCodec = runtime.NewParameterCodec(scheme)
 var localSchemeBuilder = runtime.SchemeBuilder{
        camelv1.AddToScheme,
+       camelv1alpha1.AddToScheme,
 }
 
 // AddToScheme adds all types of this clientset into the given scheme. This 
allows composition
diff --git a/pkg/client/camel/clientset/versioned/scheme/register.go 
b/pkg/client/camel/clientset/versioned/scheme/register.go
index dca9dcf..6c34433 100644
--- a/pkg/client/camel/clientset/versioned/scheme/register.go
+++ b/pkg/client/camel/clientset/versioned/scheme/register.go
@@ -21,6 +21,7 @@ package scheme
 
 import (
        camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+       camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
        v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        runtime "k8s.io/apimachinery/pkg/runtime"
        schema "k8s.io/apimachinery/pkg/runtime/schema"
@@ -33,6 +34,7 @@ var Codecs = serializer.NewCodecFactory(Scheme)
 var ParameterCodec = runtime.NewParameterCodec(Scheme)
 var localSchemeBuilder = runtime.SchemeBuilder{
        camelv1.AddToScheme,
+       camelv1alpha1.AddToScheme,
 }
 
 // AddToScheme adds all types of this clientset into the given scheme. This 
allows composition
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/camel_client.go 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/camel_client.go
new file mode 100644
index 0000000..e78e1b6
--- /dev/null
+++ b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/camel_client.go
@@ -0,0 +1,95 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+import (
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       "github.com/apache/camel-k/pkg/client/camel/clientset/versioned/scheme"
+       rest "k8s.io/client-go/rest"
+)
+
+type CamelV1alpha1Interface interface {
+       RESTClient() rest.Interface
+       KameletsGetter
+       KameletBindingsGetter
+}
+
+// CamelV1alpha1Client is used to interact with features provided by the 
camel.apache.org group.
+type CamelV1alpha1Client struct {
+       restClient rest.Interface
+}
+
+func (c *CamelV1alpha1Client) Kamelets(namespace string) KameletInterface {
+       return newKamelets(c, namespace)
+}
+
+func (c *CamelV1alpha1Client) KameletBindings(namespace string) 
KameletBindingInterface {
+       return newKameletBindings(c, namespace)
+}
+
+// NewForConfig creates a new CamelV1alpha1Client for the given config.
+func NewForConfig(c *rest.Config) (*CamelV1alpha1Client, error) {
+       config := *c
+       if err := setConfigDefaults(&config); err != nil {
+               return nil, err
+       }
+       client, err := rest.RESTClientFor(&config)
+       if err != nil {
+               return nil, err
+       }
+       return &CamelV1alpha1Client{client}, nil
+}
+
+// NewForConfigOrDie creates a new CamelV1alpha1Client for the given config and
+// panics if there is an error in the config.
+func NewForConfigOrDie(c *rest.Config) *CamelV1alpha1Client {
+       client, err := NewForConfig(c)
+       if err != nil {
+               panic(err)
+       }
+       return client
+}
+
+// New creates a new CamelV1alpha1Client for the given RESTClient.
+func New(c rest.Interface) *CamelV1alpha1Client {
+       return &CamelV1alpha1Client{c}
+}
+
+func setConfigDefaults(config *rest.Config) error {
+       gv := v1alpha1.SchemeGroupVersion
+       config.GroupVersion = &gv
+       config.APIPath = "/apis"
+       config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
+
+       if config.UserAgent == "" {
+               config.UserAgent = rest.DefaultKubernetesUserAgent()
+       }
+
+       return nil
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *CamelV1alpha1Client) RESTClient() rest.Interface {
+       if c == nil {
+               return nil
+       }
+       return c.restClient
+}
diff --git a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/doc.go 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/doc.go
new file mode 100644
index 0000000..9f77d24
--- /dev/null
+++ b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/doc.go
@@ -0,0 +1,21 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+
+// This package has the automatically generated typed clients.
+package v1alpha1
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/doc.go 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/doc.go
new file mode 100644
index 0000000..5d1c76c
--- /dev/null
+++ b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/doc.go
@@ -0,0 +1,21 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 has the automatically generated clients.
+package fake
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_camel_client.go
 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_camel_client.go
new file mode 100644
index 0000000..8fa4d9a
--- /dev/null
+++ 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_camel_client.go
@@ -0,0 +1,45 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 (
+       v1alpha1 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1"
+       rest "k8s.io/client-go/rest"
+       testing "k8s.io/client-go/testing"
+)
+
+type FakeCamelV1alpha1 struct {
+       *testing.Fake
+}
+
+func (c *FakeCamelV1alpha1) Kamelets(namespace string) 
v1alpha1.KameletInterface {
+       return &FakeKamelets{c, namespace}
+}
+
+func (c *FakeCamelV1alpha1) KameletBindings(namespace string) 
v1alpha1.KameletBindingInterface {
+       return &FakeKameletBindings{c, namespace}
+}
+
+// RESTClient returns a RESTClient that is used to communicate
+// with API server by this client implementation.
+func (c *FakeCamelV1alpha1) RESTClient() rest.Interface {
+       var ret *rest.RESTClient
+       return ret
+}
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kamelet.go
 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kamelet.go
new file mode 100644
index 0000000..ad2ac98
--- /dev/null
+++ 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kamelet.go
@@ -0,0 +1,143 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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"
+
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+       labels "k8s.io/apimachinery/pkg/labels"
+       schema "k8s.io/apimachinery/pkg/runtime/schema"
+       types "k8s.io/apimachinery/pkg/types"
+       watch "k8s.io/apimachinery/pkg/watch"
+       testing "k8s.io/client-go/testing"
+)
+
+// FakeKamelets implements KameletInterface
+type FakeKamelets struct {
+       Fake *FakeCamelV1alpha1
+       ns   string
+}
+
+var kameletsResource = schema.GroupVersionResource{Group: "camel.apache.org", 
Version: "v1alpha1", Resource: "kamelets"}
+
+var kameletsKind = schema.GroupVersionKind{Group: "camel.apache.org", Version: 
"v1alpha1", Kind: "Kamelet"}
+
+// Get takes name of the kamelet, and returns the corresponding kamelet 
object, and an error if there is any.
+func (c *FakeKamelets) Get(ctx context.Context, name string, options 
v1.GetOptions) (result *v1alpha1.Kamelet, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewGetAction(kameletsResource, c.ns, name), 
&v1alpha1.Kamelet{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Kamelet), err
+}
+
+// List takes label and field selectors, and returns the list of Kamelets that 
match those selectors.
+func (c *FakeKamelets) List(ctx context.Context, opts v1.ListOptions) (result 
*v1alpha1.KameletList, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewListAction(kameletsResource, kameletsKind, 
c.ns, opts), &v1alpha1.KameletList{})
+
+       if obj == nil {
+               return nil, err
+       }
+
+       label, _, _ := testing.ExtractFromListOptions(opts)
+       if label == nil {
+               label = labels.Everything()
+       }
+       list := &v1alpha1.KameletList{ListMeta: 
obj.(*v1alpha1.KameletList).ListMeta}
+       for _, item := range obj.(*v1alpha1.KameletList).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 kamelets.
+func (c *FakeKamelets) Watch(ctx context.Context, opts v1.ListOptions) 
(watch.Interface, error) {
+       return c.Fake.
+               InvokesWatch(testing.NewWatchAction(kameletsResource, c.ns, 
opts))
+
+}
+
+// Create takes the representation of a kamelet and creates it.  Returns the 
server's representation of the kamelet, and an error, if there is any.
+func (c *FakeKamelets) Create(ctx context.Context, kamelet *v1alpha1.Kamelet, 
opts v1.CreateOptions) (result *v1alpha1.Kamelet, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewCreateAction(kameletsResource, c.ns, 
kamelet), &v1alpha1.Kamelet{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Kamelet), err
+}
+
+// Update takes the representation of a kamelet and updates it. Returns the 
server's representation of the kamelet, and an error, if there is any.
+func (c *FakeKamelets) Update(ctx context.Context, kamelet *v1alpha1.Kamelet, 
opts v1.UpdateOptions) (result *v1alpha1.Kamelet, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewUpdateAction(kameletsResource, c.ns, 
kamelet), &v1alpha1.Kamelet{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Kamelet), 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 *FakeKamelets) UpdateStatus(ctx context.Context, kamelet 
*v1alpha1.Kamelet, opts v1.UpdateOptions) (*v1alpha1.Kamelet, error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewUpdateSubresourceAction(kameletsResource, 
"status", c.ns, kamelet), &v1alpha1.Kamelet{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Kamelet), err
+}
+
+// Delete takes name of the kamelet and deletes it. Returns an error if one 
occurs.
+func (c *FakeKamelets) Delete(ctx context.Context, name string, opts 
v1.DeleteOptions) error {
+       _, err := c.Fake.
+               Invokes(testing.NewDeleteAction(kameletsResource, c.ns, name), 
&v1alpha1.Kamelet{})
+
+       return err
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *FakeKamelets) DeleteCollection(ctx context.Context, opts 
v1.DeleteOptions, listOpts v1.ListOptions) error {
+       action := testing.NewDeleteCollectionAction(kameletsResource, c.ns, 
listOpts)
+
+       _, err := c.Fake.Invokes(action, &v1alpha1.KameletList{})
+       return err
+}
+
+// Patch applies the patch and returns the patched kamelet.
+func (c *FakeKamelets) Patch(ctx context.Context, name string, pt 
types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) 
(result *v1alpha1.Kamelet, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewPatchSubresourceAction(kameletsResource, 
c.ns, name, pt, data, subresources...), &v1alpha1.Kamelet{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.Kamelet), err
+}
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kameletbinding.go
 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kameletbinding.go
new file mode 100644
index 0000000..723a646
--- /dev/null
+++ 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/fake/fake_kameletbinding.go
@@ -0,0 +1,143 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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"
+
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+       labels "k8s.io/apimachinery/pkg/labels"
+       schema "k8s.io/apimachinery/pkg/runtime/schema"
+       types "k8s.io/apimachinery/pkg/types"
+       watch "k8s.io/apimachinery/pkg/watch"
+       testing "k8s.io/client-go/testing"
+)
+
+// FakeKameletBindings implements KameletBindingInterface
+type FakeKameletBindings struct {
+       Fake *FakeCamelV1alpha1
+       ns   string
+}
+
+var kameletbindingsResource = schema.GroupVersionResource{Group: 
"camel.apache.org", Version: "v1alpha1", Resource: "kameletbindings"}
+
+var kameletbindingsKind = schema.GroupVersionKind{Group: "camel.apache.org", 
Version: "v1alpha1", Kind: "KameletBinding"}
+
+// Get takes name of the kameletBinding, and returns the corresponding 
kameletBinding object, and an error if there is any.
+func (c *FakeKameletBindings) Get(ctx context.Context, name string, options 
v1.GetOptions) (result *v1alpha1.KameletBinding, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewGetAction(kameletbindingsResource, c.ns, 
name), &v1alpha1.KameletBinding{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.KameletBinding), err
+}
+
+// List takes label and field selectors, and returns the list of 
KameletBindings that match those selectors.
+func (c *FakeKameletBindings) List(ctx context.Context, opts v1.ListOptions) 
(result *v1alpha1.KameletBindingList, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewListAction(kameletbindingsResource, 
kameletbindingsKind, c.ns, opts), &v1alpha1.KameletBindingList{})
+
+       if obj == nil {
+               return nil, err
+       }
+
+       label, _, _ := testing.ExtractFromListOptions(opts)
+       if label == nil {
+               label = labels.Everything()
+       }
+       list := &v1alpha1.KameletBindingList{ListMeta: 
obj.(*v1alpha1.KameletBindingList).ListMeta}
+       for _, item := range obj.(*v1alpha1.KameletBindingList).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 kameletBindings.
+func (c *FakeKameletBindings) Watch(ctx context.Context, opts v1.ListOptions) 
(watch.Interface, error) {
+       return c.Fake.
+               InvokesWatch(testing.NewWatchAction(kameletbindingsResource, 
c.ns, opts))
+
+}
+
+// Create takes the representation of a kameletBinding and creates it.  
Returns the server's representation of the kameletBinding, and an error, if 
there is any.
+func (c *FakeKameletBindings) Create(ctx context.Context, kameletBinding 
*v1alpha1.KameletBinding, opts v1.CreateOptions) (result 
*v1alpha1.KameletBinding, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewCreateAction(kameletbindingsResource, c.ns, 
kameletBinding), &v1alpha1.KameletBinding{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.KameletBinding), err
+}
+
+// Update takes the representation of a kameletBinding and updates it. Returns 
the server's representation of the kameletBinding, and an error, if there is 
any.
+func (c *FakeKameletBindings) Update(ctx context.Context, kameletBinding 
*v1alpha1.KameletBinding, opts v1.UpdateOptions) (result 
*v1alpha1.KameletBinding, err error) {
+       obj, err := c.Fake.
+               Invokes(testing.NewUpdateAction(kameletbindingsResource, c.ns, 
kameletBinding), &v1alpha1.KameletBinding{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.KameletBinding), 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 *FakeKameletBindings) UpdateStatus(ctx context.Context, kameletBinding 
*v1alpha1.KameletBinding, opts v1.UpdateOptions) (*v1alpha1.KameletBinding, 
error) {
+       obj, err := c.Fake.
+               
Invokes(testing.NewUpdateSubresourceAction(kameletbindingsResource, "status", 
c.ns, kameletBinding), &v1alpha1.KameletBinding{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.KameletBinding), err
+}
+
+// Delete takes name of the kameletBinding and deletes it. Returns an error if 
one occurs.
+func (c *FakeKameletBindings) Delete(ctx context.Context, name string, opts 
v1.DeleteOptions) error {
+       _, err := c.Fake.
+               Invokes(testing.NewDeleteAction(kameletbindingsResource, c.ns, 
name), &v1alpha1.KameletBinding{})
+
+       return err
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *FakeKameletBindings) DeleteCollection(ctx context.Context, opts 
v1.DeleteOptions, listOpts v1.ListOptions) error {
+       action := testing.NewDeleteCollectionAction(kameletbindingsResource, 
c.ns, listOpts)
+
+       _, err := c.Fake.Invokes(action, &v1alpha1.KameletBindingList{})
+       return err
+}
+
+// Patch applies the patch and returns the patched kameletBinding.
+func (c *FakeKameletBindings) Patch(ctx context.Context, name string, pt 
types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) 
(result *v1alpha1.KameletBinding, err error) {
+       obj, err := c.Fake.
+               
Invokes(testing.NewPatchSubresourceAction(kameletbindingsResource, c.ns, name, 
pt, data, subresources...), &v1alpha1.KameletBinding{})
+
+       if obj == nil {
+               return nil, err
+       }
+       return obj.(*v1alpha1.KameletBinding), err
+}
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/generated_expansion.go
 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/generated_expansion.go
new file mode 100644
index 0000000..b53910b
--- /dev/null
+++ 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/generated_expansion.go
@@ -0,0 +1,24 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+type KameletExpansion interface{}
+
+type KameletBindingExpansion interface{}
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kamelet.go 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kamelet.go
new file mode 100644
index 0000000..4de1e1a
--- /dev/null
+++ b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kamelet.go
@@ -0,0 +1,196 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+import (
+       "context"
+       "time"
+
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       scheme 
"github.com/apache/camel-k/pkg/client/camel/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"
+)
+
+// KameletsGetter has a method to return a KameletInterface.
+// A group's client should implement this interface.
+type KameletsGetter interface {
+       Kamelets(namespace string) KameletInterface
+}
+
+// KameletInterface has methods to work with Kamelet resources.
+type KameletInterface interface {
+       Create(ctx context.Context, kamelet *v1alpha1.Kamelet, opts 
v1.CreateOptions) (*v1alpha1.Kamelet, error)
+       Update(ctx context.Context, kamelet *v1alpha1.Kamelet, opts 
v1.UpdateOptions) (*v1alpha1.Kamelet, error)
+       UpdateStatus(ctx context.Context, kamelet *v1alpha1.Kamelet, opts 
v1.UpdateOptions) (*v1alpha1.Kamelet, 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) 
(*v1alpha1.Kamelet, error)
+       List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.KameletList, 
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 
*v1alpha1.Kamelet, err error)
+       KameletExpansion
+}
+
+// kamelets implements KameletInterface
+type kamelets struct {
+       client rest.Interface
+       ns     string
+}
+
+// newKamelets returns a Kamelets
+func newKamelets(c *CamelV1alpha1Client, namespace string) *kamelets {
+       return &kamelets{
+               client: c.RESTClient(),
+               ns:     namespace,
+       }
+}
+
+// Get takes name of the kamelet, and returns the corresponding kamelet 
object, and an error if there is any.
+func (c *kamelets) Get(ctx context.Context, name string, options 
v1.GetOptions) (result *v1alpha1.Kamelet, err error) {
+       result = &v1alpha1.Kamelet{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("kamelets").
+               Name(name).
+               VersionedParams(&options, scheme.ParameterCodec).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// List takes label and field selectors, and returns the list of Kamelets that 
match those selectors.
+func (c *kamelets) List(ctx context.Context, opts v1.ListOptions) (result 
*v1alpha1.KameletList, err error) {
+       var timeout time.Duration
+       if opts.TimeoutSeconds != nil {
+               timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+       }
+       result = &v1alpha1.KameletList{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("kamelets").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// Watch returns a watch.Interface that watches the requested kamelets.
+func (c *kamelets) 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("kamelets").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Watch(ctx)
+}
+
+// Create takes the representation of a kamelet and creates it.  Returns the 
server's representation of the kamelet, and an error, if there is any.
+func (c *kamelets) Create(ctx context.Context, kamelet *v1alpha1.Kamelet, opts 
v1.CreateOptions) (result *v1alpha1.Kamelet, err error) {
+       result = &v1alpha1.Kamelet{}
+       err = c.client.Post().
+               Namespace(c.ns).
+               Resource("kamelets").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(kamelet).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// Update takes the representation of a kamelet and updates it. Returns the 
server's representation of the kamelet, and an error, if there is any.
+func (c *kamelets) Update(ctx context.Context, kamelet *v1alpha1.Kamelet, opts 
v1.UpdateOptions) (result *v1alpha1.Kamelet, err error) {
+       result = &v1alpha1.Kamelet{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("kamelets").
+               Name(kamelet.Name).
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(kamelet).
+               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 *kamelets) UpdateStatus(ctx context.Context, kamelet 
*v1alpha1.Kamelet, opts v1.UpdateOptions) (result *v1alpha1.Kamelet, err error) 
{
+       result = &v1alpha1.Kamelet{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("kamelets").
+               Name(kamelet.Name).
+               SubResource("status").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(kamelet).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// Delete takes name of the kamelet and deletes it. Returns an error if one 
occurs.
+func (c *kamelets) Delete(ctx context.Context, name string, opts 
v1.DeleteOptions) error {
+       return c.client.Delete().
+               Namespace(c.ns).
+               Resource("kamelets").
+               Name(name).
+               Body(&opts).
+               Do(ctx).
+               Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *kamelets) 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("kamelets").
+               VersionedParams(&listOpts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Body(&opts).
+               Do(ctx).
+               Error()
+}
+
+// Patch applies the patch and returns the patched kamelet.
+func (c *kamelets) Patch(ctx context.Context, name string, pt types.PatchType, 
data []byte, opts v1.PatchOptions, subresources ...string) (result 
*v1alpha1.Kamelet, err error) {
+       result = &v1alpha1.Kamelet{}
+       err = c.client.Patch(pt).
+               Namespace(c.ns).
+               Resource("kamelets").
+               Name(name).
+               SubResource(subresources...).
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(data).
+               Do(ctx).
+               Into(result)
+       return
+}
diff --git 
a/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kameletbinding.go 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kameletbinding.go
new file mode 100644
index 0000000..c0a8ae3
--- /dev/null
+++ 
b/pkg/client/camel/clientset/versioned/typed/camel/v1alpha1/kameletbinding.go
@@ -0,0 +1,196 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+import (
+       "context"
+       "time"
+
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       scheme 
"github.com/apache/camel-k/pkg/client/camel/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"
+)
+
+// KameletBindingsGetter has a method to return a KameletBindingInterface.
+// A group's client should implement this interface.
+type KameletBindingsGetter interface {
+       KameletBindings(namespace string) KameletBindingInterface
+}
+
+// KameletBindingInterface has methods to work with KameletBinding resources.
+type KameletBindingInterface interface {
+       Create(ctx context.Context, kameletBinding *v1alpha1.KameletBinding, 
opts v1.CreateOptions) (*v1alpha1.KameletBinding, error)
+       Update(ctx context.Context, kameletBinding *v1alpha1.KameletBinding, 
opts v1.UpdateOptions) (*v1alpha1.KameletBinding, error)
+       UpdateStatus(ctx context.Context, kameletBinding 
*v1alpha1.KameletBinding, opts v1.UpdateOptions) (*v1alpha1.KameletBinding, 
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) 
(*v1alpha1.KameletBinding, error)
+       List(ctx context.Context, opts v1.ListOptions) 
(*v1alpha1.KameletBindingList, 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 
*v1alpha1.KameletBinding, err error)
+       KameletBindingExpansion
+}
+
+// kameletBindings implements KameletBindingInterface
+type kameletBindings struct {
+       client rest.Interface
+       ns     string
+}
+
+// newKameletBindings returns a KameletBindings
+func newKameletBindings(c *CamelV1alpha1Client, namespace string) 
*kameletBindings {
+       return &kameletBindings{
+               client: c.RESTClient(),
+               ns:     namespace,
+       }
+}
+
+// Get takes name of the kameletBinding, and returns the corresponding 
kameletBinding object, and an error if there is any.
+func (c *kameletBindings) Get(ctx context.Context, name string, options 
v1.GetOptions) (result *v1alpha1.KameletBinding, err error) {
+       result = &v1alpha1.KameletBinding{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("kameletbindings").
+               Name(name).
+               VersionedParams(&options, scheme.ParameterCodec).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// List takes label and field selectors, and returns the list of 
KameletBindings that match those selectors.
+func (c *kameletBindings) List(ctx context.Context, opts v1.ListOptions) 
(result *v1alpha1.KameletBindingList, err error) {
+       var timeout time.Duration
+       if opts.TimeoutSeconds != nil {
+               timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
+       }
+       result = &v1alpha1.KameletBindingList{}
+       err = c.client.Get().
+               Namespace(c.ns).
+               Resource("kameletbindings").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// Watch returns a watch.Interface that watches the requested kameletBindings.
+func (c *kameletBindings) 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("kameletbindings").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Watch(ctx)
+}
+
+// Create takes the representation of a kameletBinding and creates it.  
Returns the server's representation of the kameletBinding, and an error, if 
there is any.
+func (c *kameletBindings) Create(ctx context.Context, kameletBinding 
*v1alpha1.KameletBinding, opts v1.CreateOptions) (result 
*v1alpha1.KameletBinding, err error) {
+       result = &v1alpha1.KameletBinding{}
+       err = c.client.Post().
+               Namespace(c.ns).
+               Resource("kameletbindings").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(kameletBinding).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// Update takes the representation of a kameletBinding and updates it. Returns 
the server's representation of the kameletBinding, and an error, if there is 
any.
+func (c *kameletBindings) Update(ctx context.Context, kameletBinding 
*v1alpha1.KameletBinding, opts v1.UpdateOptions) (result 
*v1alpha1.KameletBinding, err error) {
+       result = &v1alpha1.KameletBinding{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("kameletbindings").
+               Name(kameletBinding.Name).
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(kameletBinding).
+               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 *kameletBindings) UpdateStatus(ctx context.Context, kameletBinding 
*v1alpha1.KameletBinding, opts v1.UpdateOptions) (result 
*v1alpha1.KameletBinding, err error) {
+       result = &v1alpha1.KameletBinding{}
+       err = c.client.Put().
+               Namespace(c.ns).
+               Resource("kameletbindings").
+               Name(kameletBinding.Name).
+               SubResource("status").
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(kameletBinding).
+               Do(ctx).
+               Into(result)
+       return
+}
+
+// Delete takes name of the kameletBinding and deletes it. Returns an error if 
one occurs.
+func (c *kameletBindings) Delete(ctx context.Context, name string, opts 
v1.DeleteOptions) error {
+       return c.client.Delete().
+               Namespace(c.ns).
+               Resource("kameletbindings").
+               Name(name).
+               Body(&opts).
+               Do(ctx).
+               Error()
+}
+
+// DeleteCollection deletes a collection of objects.
+func (c *kameletBindings) 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("kameletbindings").
+               VersionedParams(&listOpts, scheme.ParameterCodec).
+               Timeout(timeout).
+               Body(&opts).
+               Do(ctx).
+               Error()
+}
+
+// Patch applies the patch and returns the patched kameletBinding.
+func (c *kameletBindings) Patch(ctx context.Context, name string, pt 
types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) 
(result *v1alpha1.KameletBinding, err error) {
+       result = &v1alpha1.KameletBinding{}
+       err = c.client.Patch(pt).
+               Namespace(c.ns).
+               Resource("kameletbindings").
+               Name(name).
+               SubResource(subresources...).
+               VersionedParams(&opts, scheme.ParameterCodec).
+               Body(data).
+               Do(ctx).
+               Into(result)
+       return
+}
diff --git a/pkg/client/camel/informers/externalversions/camel/interface.go 
b/pkg/client/camel/informers/externalversions/camel/interface.go
index b30940e..3cf36b9 100644
--- a/pkg/client/camel/informers/externalversions/camel/interface.go
+++ b/pkg/client/camel/informers/externalversions/camel/interface.go
@@ -21,6 +21,7 @@ package camel
 
 import (
        v1 
"github.com/apache/camel-k/pkg/client/camel/informers/externalversions/camel/v1"
+       v1alpha1 
"github.com/apache/camel-k/pkg/client/camel/informers/externalversions/camel/v1alpha1"
        internalinterfaces 
"github.com/apache/camel-k/pkg/client/camel/informers/externalversions/internalinterfaces"
 )
 
@@ -28,6 +29,8 @@ import (
 type Interface interface {
        // V1 provides access to shared informers for resources in V1.
        V1() v1.Interface
+       // V1alpha1 provides access to shared informers for resources in 
V1alpha1.
+       V1alpha1() v1alpha1.Interface
 }
 
 type group struct {
@@ -45,3 +48,8 @@ func New(f internalinterfaces.SharedInformerFactory, 
namespace string, tweakList
 func (g *group) V1() v1.Interface {
        return v1.New(g.factory, g.namespace, g.tweakListOptions)
 }
+
+// V1alpha1 returns a new v1alpha1.Interface.
+func (g *group) V1alpha1() v1alpha1.Interface {
+       return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions)
+}
diff --git a/pkg/client/camel/informers/externalversions/camel/interface.go 
b/pkg/client/camel/informers/externalversions/camel/v1alpha1/interface.go
similarity index 62%
copy from pkg/client/camel/informers/externalversions/camel/interface.go
copy to pkg/client/camel/informers/externalversions/camel/v1alpha1/interface.go
index b30940e..25358d9 100644
--- a/pkg/client/camel/informers/externalversions/camel/interface.go
+++ b/pkg/client/camel/informers/externalversions/camel/v1alpha1/interface.go
@@ -17,20 +17,21 @@ limitations under the License.
 
 // Code generated by informer-gen. DO NOT EDIT.
 
-package camel
+package v1alpha1
 
 import (
-       v1 
"github.com/apache/camel-k/pkg/client/camel/informers/externalversions/camel/v1"
        internalinterfaces 
"github.com/apache/camel-k/pkg/client/camel/informers/externalversions/internalinterfaces"
 )
 
-// Interface provides access to each of this group's versions.
+// Interface provides access to all the informers in this group version.
 type Interface interface {
-       // V1 provides access to shared informers for resources in V1.
-       V1() v1.Interface
+       // Kamelets returns a KameletInformer.
+       Kamelets() KameletInformer
+       // KameletBindings returns a KameletBindingInformer.
+       KameletBindings() KameletBindingInformer
 }
 
-type group struct {
+type version struct {
        factory          internalinterfaces.SharedInformerFactory
        namespace        string
        tweakListOptions internalinterfaces.TweakListOptionsFunc
@@ -38,10 +39,15 @@ type group struct {
 
 // New returns a new Interface.
 func New(f internalinterfaces.SharedInformerFactory, namespace string, 
tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
-       return &group{factory: f, namespace: namespace, tweakListOptions: 
tweakListOptions}
+       return &version{factory: f, namespace: namespace, tweakListOptions: 
tweakListOptions}
 }
 
-// V1 returns a new v1.Interface.
-func (g *group) V1() v1.Interface {
-       return v1.New(g.factory, g.namespace, g.tweakListOptions)
+// Kamelets returns a KameletInformer.
+func (v *version) Kamelets() KameletInformer {
+       return &kameletInformer{factory: v.factory, namespace: v.namespace, 
tweakListOptions: v.tweakListOptions}
+}
+
+// KameletBindings returns a KameletBindingInformer.
+func (v *version) KameletBindings() KameletBindingInformer {
+       return &kameletBindingInformer{factory: v.factory, namespace: 
v.namespace, tweakListOptions: v.tweakListOptions}
 }
diff --git 
a/pkg/client/camel/informers/externalversions/camel/v1alpha1/kamelet.go 
b/pkg/client/camel/informers/externalversions/camel/v1alpha1/kamelet.go
new file mode 100644
index 0000000..8e07e0a
--- /dev/null
+++ b/pkg/client/camel/informers/externalversions/camel/v1alpha1/kamelet.go
@@ -0,0 +1,91 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+import (
+       "context"
+       time "time"
+
+       camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       versioned 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned"
+       internalinterfaces 
"github.com/apache/camel-k/pkg/client/camel/informers/externalversions/internalinterfaces"
+       v1alpha1 
"github.com/apache/camel-k/pkg/client/camel/listers/camel/v1alpha1"
+       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"
+)
+
+// KameletInformer provides access to a shared informer and lister for
+// Kamelets.
+type KameletInformer interface {
+       Informer() cache.SharedIndexInformer
+       Lister() v1alpha1.KameletLister
+}
+
+type kameletInformer struct {
+       factory          internalinterfaces.SharedInformerFactory
+       tweakListOptions internalinterfaces.TweakListOptionsFunc
+       namespace        string
+}
+
+// NewKameletInformer constructs a new informer for Kamelet 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 NewKameletInformer(client versioned.Interface, namespace string, 
resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+       return NewFilteredKameletInformer(client, namespace, resyncPeriod, 
indexers, nil)
+}
+
+// NewFilteredKameletInformer constructs a new informer for Kamelet 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 NewFilteredKameletInformer(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.CamelV1alpha1().Kamelets(namespace).List(context.TODO(), options)
+                       },
+                       WatchFunc: func(options v1.ListOptions) 
(watch.Interface, error) {
+                               if tweakListOptions != nil {
+                                       tweakListOptions(&options)
+                               }
+                               return 
client.CamelV1alpha1().Kamelets(namespace).Watch(context.TODO(), options)
+                       },
+               },
+               &camelv1alpha1.Kamelet{},
+               resyncPeriod,
+               indexers,
+       )
+}
+
+func (f *kameletInformer) defaultInformer(client versioned.Interface, 
resyncPeriod time.Duration) cache.SharedIndexInformer {
+       return NewFilteredKameletInformer(client, f.namespace, resyncPeriod, 
cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, 
f.tweakListOptions)
+}
+
+func (f *kameletInformer) Informer() cache.SharedIndexInformer {
+       return f.factory.InformerFor(&camelv1alpha1.Kamelet{}, 
f.defaultInformer)
+}
+
+func (f *kameletInformer) Lister() v1alpha1.KameletLister {
+       return v1alpha1.NewKameletLister(f.Informer().GetIndexer())
+}
diff --git 
a/pkg/client/camel/informers/externalversions/camel/v1alpha1/kameletbinding.go 
b/pkg/client/camel/informers/externalversions/camel/v1alpha1/kameletbinding.go
new file mode 100644
index 0000000..e8dcd97
--- /dev/null
+++ 
b/pkg/client/camel/informers/externalversions/camel/v1alpha1/kameletbinding.go
@@ -0,0 +1,91 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+import (
+       "context"
+       time "time"
+
+       camelv1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       versioned 
"github.com/apache/camel-k/pkg/client/camel/clientset/versioned"
+       internalinterfaces 
"github.com/apache/camel-k/pkg/client/camel/informers/externalversions/internalinterfaces"
+       v1alpha1 
"github.com/apache/camel-k/pkg/client/camel/listers/camel/v1alpha1"
+       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"
+)
+
+// KameletBindingInformer provides access to a shared informer and lister for
+// KameletBindings.
+type KameletBindingInformer interface {
+       Informer() cache.SharedIndexInformer
+       Lister() v1alpha1.KameletBindingLister
+}
+
+type kameletBindingInformer struct {
+       factory          internalinterfaces.SharedInformerFactory
+       tweakListOptions internalinterfaces.TweakListOptionsFunc
+       namespace        string
+}
+
+// NewKameletBindingInformer constructs a new informer for KameletBinding 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 NewKameletBindingInformer(client versioned.Interface, namespace string, 
resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
+       return NewFilteredKameletBindingInformer(client, namespace, 
resyncPeriod, indexers, nil)
+}
+
+// NewFilteredKameletBindingInformer constructs a new informer for 
KameletBinding 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 NewFilteredKameletBindingInformer(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.CamelV1alpha1().KameletBindings(namespace).List(context.TODO(), options)
+                       },
+                       WatchFunc: func(options v1.ListOptions) 
(watch.Interface, error) {
+                               if tweakListOptions != nil {
+                                       tweakListOptions(&options)
+                               }
+                               return 
client.CamelV1alpha1().KameletBindings(namespace).Watch(context.TODO(), options)
+                       },
+               },
+               &camelv1alpha1.KameletBinding{},
+               resyncPeriod,
+               indexers,
+       )
+}
+
+func (f *kameletBindingInformer) defaultInformer(client versioned.Interface, 
resyncPeriod time.Duration) cache.SharedIndexInformer {
+       return NewFilteredKameletBindingInformer(client, f.namespace, 
resyncPeriod, cache.Indexers{cache.NamespaceIndex: 
cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
+}
+
+func (f *kameletBindingInformer) Informer() cache.SharedIndexInformer {
+       return f.factory.InformerFor(&camelv1alpha1.KameletBinding{}, 
f.defaultInformer)
+}
+
+func (f *kameletBindingInformer) Lister() v1alpha1.KameletBindingLister {
+       return v1alpha1.NewKameletBindingLister(f.Informer().GetIndexer())
+}
diff --git a/pkg/client/camel/informers/externalversions/generic.go 
b/pkg/client/camel/informers/externalversions/generic.go
index 2e00c8d..1d914da 100644
--- a/pkg/client/camel/informers/externalversions/generic.go
+++ b/pkg/client/camel/informers/externalversions/generic.go
@@ -23,6 +23,7 @@ import (
        "fmt"
 
        v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
        schema "k8s.io/apimachinery/pkg/runtime/schema"
        cache "k8s.io/client-go/tools/cache"
 )
@@ -65,6 +66,12 @@ func (f *sharedInformerFactory) ForResource(resource 
schema.GroupVersionResource
        case v1.SchemeGroupVersion.WithResource("integrationplatforms"):
                return &genericInformer{resource: resource.GroupResource(), 
informer: f.Camel().V1().IntegrationPlatforms().Informer()}, nil
 
+               // Group=camel.apache.org, Version=v1alpha1
+       case v1alpha1.SchemeGroupVersion.WithResource("kamelets"):
+               return &genericInformer{resource: resource.GroupResource(), 
informer: f.Camel().V1alpha1().Kamelets().Informer()}, nil
+       case v1alpha1.SchemeGroupVersion.WithResource("kameletbindings"):
+               return &genericInformer{resource: resource.GroupResource(), 
informer: f.Camel().V1alpha1().KameletBindings().Informer()}, nil
+
        }
 
        return nil, fmt.Errorf("no informer found for %v", resource)
diff --git a/pkg/client/camel/listers/camel/v1alpha1/expansion_generated.go 
b/pkg/client/camel/listers/camel/v1alpha1/expansion_generated.go
new file mode 100644
index 0000000..df951a5
--- /dev/null
+++ b/pkg/client/camel/listers/camel/v1alpha1/expansion_generated.go
@@ -0,0 +1,36 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+// KameletListerExpansion allows custom methods to be added to
+// KameletLister.
+type KameletListerExpansion interface{}
+
+// KameletNamespaceListerExpansion allows custom methods to be added to
+// KameletNamespaceLister.
+type KameletNamespaceListerExpansion interface{}
+
+// KameletBindingListerExpansion allows custom methods to be added to
+// KameletBindingLister.
+type KameletBindingListerExpansion interface{}
+
+// KameletBindingNamespaceListerExpansion allows custom methods to be added to
+// KameletBindingNamespaceLister.
+type KameletBindingNamespaceListerExpansion interface{}
diff --git a/pkg/client/camel/listers/camel/v1alpha1/kamelet.go 
b/pkg/client/camel/listers/camel/v1alpha1/kamelet.go
new file mode 100644
index 0000000..5dfbae8
--- /dev/null
+++ b/pkg/client/camel/listers/camel/v1alpha1/kamelet.go
@@ -0,0 +1,95 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+import (
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       "k8s.io/apimachinery/pkg/api/errors"
+       "k8s.io/apimachinery/pkg/labels"
+       "k8s.io/client-go/tools/cache"
+)
+
+// KameletLister helps list Kamelets.
+type KameletLister interface {
+       // List lists all Kamelets in the indexer.
+       List(selector labels.Selector) (ret []*v1alpha1.Kamelet, err error)
+       // Kamelets returns an object that can list and get Kamelets.
+       Kamelets(namespace string) KameletNamespaceLister
+       KameletListerExpansion
+}
+
+// kameletLister implements the KameletLister interface.
+type kameletLister struct {
+       indexer cache.Indexer
+}
+
+// NewKameletLister returns a new KameletLister.
+func NewKameletLister(indexer cache.Indexer) KameletLister {
+       return &kameletLister{indexer: indexer}
+}
+
+// List lists all Kamelets in the indexer.
+func (s *kameletLister) List(selector labels.Selector) (ret 
[]*v1alpha1.Kamelet, err error) {
+       err = cache.ListAll(s.indexer, selector, func(m interface{}) {
+               ret = append(ret, m.(*v1alpha1.Kamelet))
+       })
+       return ret, err
+}
+
+// Kamelets returns an object that can list and get Kamelets.
+func (s *kameletLister) Kamelets(namespace string) KameletNamespaceLister {
+       return kameletNamespaceLister{indexer: s.indexer, namespace: namespace}
+}
+
+// KameletNamespaceLister helps list and get Kamelets.
+type KameletNamespaceLister interface {
+       // List lists all Kamelets in the indexer for a given namespace.
+       List(selector labels.Selector) (ret []*v1alpha1.Kamelet, err error)
+       // Get retrieves the Kamelet from the indexer for a given namespace and 
name.
+       Get(name string) (*v1alpha1.Kamelet, error)
+       KameletNamespaceListerExpansion
+}
+
+// kameletNamespaceLister implements the KameletNamespaceLister
+// interface.
+type kameletNamespaceLister struct {
+       indexer   cache.Indexer
+       namespace string
+}
+
+// List lists all Kamelets in the indexer for a given namespace.
+func (s kameletNamespaceLister) List(selector labels.Selector) (ret 
[]*v1alpha1.Kamelet, err error) {
+       err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m 
interface{}) {
+               ret = append(ret, m.(*v1alpha1.Kamelet))
+       })
+       return ret, err
+}
+
+// Get retrieves the Kamelet from the indexer for a given namespace and name.
+func (s kameletNamespaceLister) Get(name string) (*v1alpha1.Kamelet, error) {
+       obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
+       if err != nil {
+               return nil, err
+       }
+       if !exists {
+               return nil, errors.NewNotFound(v1alpha1.Resource("kamelet"), 
name)
+       }
+       return obj.(*v1alpha1.Kamelet), nil
+}
diff --git a/pkg/client/camel/listers/camel/v1alpha1/kameletbinding.go 
b/pkg/client/camel/listers/camel/v1alpha1/kameletbinding.go
new file mode 100644
index 0000000..d76bdaf
--- /dev/null
+++ b/pkg/client/camel/listers/camel/v1alpha1/kameletbinding.go
@@ -0,0 +1,95 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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 v1alpha1
+
+import (
+       v1alpha1 "github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
+       "k8s.io/apimachinery/pkg/api/errors"
+       "k8s.io/apimachinery/pkg/labels"
+       "k8s.io/client-go/tools/cache"
+)
+
+// KameletBindingLister helps list KameletBindings.
+type KameletBindingLister interface {
+       // List lists all KameletBindings in the indexer.
+       List(selector labels.Selector) (ret []*v1alpha1.KameletBinding, err 
error)
+       // KameletBindings returns an object that can list and get 
KameletBindings.
+       KameletBindings(namespace string) KameletBindingNamespaceLister
+       KameletBindingListerExpansion
+}
+
+// kameletBindingLister implements the KameletBindingLister interface.
+type kameletBindingLister struct {
+       indexer cache.Indexer
+}
+
+// NewKameletBindingLister returns a new KameletBindingLister.
+func NewKameletBindingLister(indexer cache.Indexer) KameletBindingLister {
+       return &kameletBindingLister{indexer: indexer}
+}
+
+// List lists all KameletBindings in the indexer.
+func (s *kameletBindingLister) List(selector labels.Selector) (ret 
[]*v1alpha1.KameletBinding, err error) {
+       err = cache.ListAll(s.indexer, selector, func(m interface{}) {
+               ret = append(ret, m.(*v1alpha1.KameletBinding))
+       })
+       return ret, err
+}
+
+// KameletBindings returns an object that can list and get KameletBindings.
+func (s *kameletBindingLister) KameletBindings(namespace string) 
KameletBindingNamespaceLister {
+       return kameletBindingNamespaceLister{indexer: s.indexer, namespace: 
namespace}
+}
+
+// KameletBindingNamespaceLister helps list and get KameletBindings.
+type KameletBindingNamespaceLister interface {
+       // List lists all KameletBindings in the indexer for a given namespace.
+       List(selector labels.Selector) (ret []*v1alpha1.KameletBinding, err 
error)
+       // Get retrieves the KameletBinding from the indexer for a given 
namespace and name.
+       Get(name string) (*v1alpha1.KameletBinding, error)
+       KameletBindingNamespaceListerExpansion
+}
+
+// kameletBindingNamespaceLister implements the KameletBindingNamespaceLister
+// interface.
+type kameletBindingNamespaceLister struct {
+       indexer   cache.Indexer
+       namespace string
+}
+
+// List lists all KameletBindings in the indexer for a given namespace.
+func (s kameletBindingNamespaceLister) List(selector labels.Selector) (ret 
[]*v1alpha1.KameletBinding, err error) {
+       err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m 
interface{}) {
+               ret = append(ret, m.(*v1alpha1.KameletBinding))
+       })
+       return ret, err
+}
+
+// Get retrieves the KameletBinding from the indexer for a given namespace and 
name.
+func (s kameletBindingNamespaceLister) Get(name string) 
(*v1alpha1.KameletBinding, error) {
+       obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
+       if err != nil {
+               return nil, err
+       }
+       if !exists {
+               return nil, 
errors.NewNotFound(v1alpha1.Resource("kameletbinding"), name)
+       }
+       return obj.(*v1alpha1.KameletBinding), nil
+}
diff --git a/script/gen_client.sh b/script/gen_client.sh
index 2205931..bb28d9f 100755
--- a/script/gen_client.sh
+++ b/script/gen_client.sh
@@ -26,7 +26,7 @@ cd $location/../pkg/client/camel
 echo "Generating Go client code..."
 
 go run k8s.io/code-generator/cmd/client-gen \
-       --input=camel/v1 \
+       --input=camel/v1,camel/v1alpha1 \
        --go-header-file=../../../script/headers/default.txt \
        --clientset-name "versioned"  \
        --input-base=github.com/apache/camel-k/pkg/apis \
@@ -35,7 +35,7 @@ go run k8s.io/code-generator/cmd/client-gen \
 
 
 go run k8s.io/code-generator/cmd/lister-gen \
-       --input-dirs=github.com/apache/camel-k/pkg/apis/camel/v1 \
+       
--input-dirs=github.com/apache/camel-k/pkg/apis/camel/v1,github.com/apache/camel-k/pkg/apis/camel/v1alpha1
 \
        --go-header-file=../../../script/headers/default.txt \
        --output-base=. \
        --output-package=github.com/apache/camel-k/pkg/client/camel/listers
@@ -43,7 +43,7 @@ go run k8s.io/code-generator/cmd/lister-gen \
 go run k8s.io/code-generator/cmd/informer-gen \
     
--versioned-clientset-package=github.com/apache/camel-k/pkg/client/camel/clientset/versioned
 \
        --listers-package=github.com/apache/camel-k/pkg/client/camel/listers \
-       --input-dirs=github.com/apache/camel-k/pkg/apis/camel/v1 \
+       
--input-dirs=github.com/apache/camel-k/pkg/apis/camel/v1,github.com/apache/camel-k/pkg/apis/camel/v1alpha1
 \
        --go-header-file=../../../script/headers/default.txt \
        --output-base=. \
        --output-package=github.com/apache/camel-k/pkg/client/camel/informers

Reply via email to