You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by as...@apache.org on 2021/02/08 08:27:21 UTC

[camel-k] 02/04: Feature #1820: Refactor resources to make config / operator-sdk basis for CSV

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

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

commit ea5a30b0a21c676916784d10a776ab9381043b6c
Author: phantomjinx <p....@phantomjinx.co.uk>
AuthorDate: Wed Dec 2 23:46:58 2020 +0000

    Feature #1820: Refactor resources to make config / operator-sdk basis for CSV
    
    * deploy resources duplicated in config now removed
    
    * multidir
     * Provides a vfs-gen virtual resource generator that generates from separate
       directories but doesn't reference those directories
    
    * config/manifest/...clusterserviceversion.yaml
     * Adds in extra metadata
    
    * deploy/olm-catalog/...
     * The creation of the CSV is retained for older OLM installations with
       bundle generation for newer ones.
     * Since operator-sdk is now used for csv generation, the metadata and
       naming has changed in minor ways:
       * camel-k-dev.package.yaml
       * renaming of deploy crd files
    
    * pkg/base/root.go
     * Provides global var GoModDirectory that defines the location of the
       root module directory
    
    * pkg/resources/...
     * Moves code out of deploy into resources since its independent of both
       deploy and config directories
     * Provides a ResourcesWithPrefix function for finding all resources with
       a specific prefix saving on duplicated code
     * go:generate annotation used for executing vfs-gen
    
    * Makefile
     * go generate used for executing vfs-gen virtual resource generation
     * add_createdAt.sh adds in createdAt datetimes for CSV which is not
       generated by the operator-sdk
    
    * script/build-olm.sh
     * Updates from operator-sdk generate command in older version to new
       command in 1.0+
    
    * script/gen_crd.sh
     * Makes config the destination for crd generation
     * Renames the deploy/olm-catalog crd copies to match that created when
       running 	`make build-olm`
    
    * script/gen_olm.sh
     * Migrates to new command for generating CSV using operator-sdk
     * Uses triage directory to avoid needless format changes to CRDs already
       generated by controller-gen
---
 addons/master/master.go                            |    4 +-
 cmd/util/vfs-gen/main.go                           |  139 +-
 cmd/util/vfs-gen/multifs/multidir.go               |  163 +
 config/crd/bases/camel.apache.org_builds.yaml      |    4 +-
 .../crd/bases/camel.apache.org_camelcatalogs.yaml  |    4 +-
 .../bases/camel.apache.org_integrationkits.yaml    |    4 +-
 .../camel.apache.org_integrationplatforms.yaml     |    4 +-
 .../crd/bases/camel.apache.org_integrations.yaml   |    4 +-
 .../bases/camel.apache.org_kameletbindings.yaml    |    4 +-
 config/crd/bases/camel.apache.org_kamelets.yaml    |    4 +-
 .../manager}/builder-service-account.yaml          |    0
 .../bases/camel-k.clusterserviceversion.yaml       |    3 +
 .../prometheus}/operator-pod-monitor.yaml          |    2 +-
 .../prometheus}/operator-prometheus-rule.yaml      |    0
 {deploy => config/rbac}/builder-role-binding.yaml  |    0
 .../rbac}/builder-role-kubernetes.yaml             |    0
 .../rbac}/builder-role-openshift.yaml              |    0
 .../rbac}/operator-role-kubernetes.yaml            |    0
 .../rbac}/operator-role-openshift.yaml             |    0
 deploy/camel-catalog-1.6.0.yaml                    | 3278 ++++++++++----------
 deploy/cr-example.yaml                             |   37 -
 ...el-k.v1.4.0-snapshot.clusterserviceversion.yaml |  659 ++++
 .../1.4.0-snapshot}/camel.apache.org_builds.yaml   |   14 +-
 .../camel.apache.org_camelcatalogs.yaml            |    4 +-
 .../camel.apache.org_integrationkits.yaml          |    4 +-
 .../camel.apache.org_integrationplatforms.yaml     |    4 +-
 .../camel.apache.org_integrations.yaml             |   24 +-
 .../camel.apache.org_kameletbindings.yaml          |   14 +-
 .../1.4.0-snapshot}/camel.apache.org_kamelets.yaml |    9 +-
 deploy/olm-catalog/csv-config.yaml                 |   29 -
 deploy/operator-deployment.yaml                    |   71 -
 deploy/operator-role-binding-events.yaml           |   30 -
 deploy/operator-role-binding-knative.yaml          |   30 -
 deploy/operator-role-binding-servicemonitors.yaml  |   30 -
 deploy/operator-role-binding-strimzi.yaml          |   30 -
 deploy/operator-role-binding.yaml                  |   30 -
 deploy/operator-role-events.yaml                   |   34 -
 deploy/operator-role-knative.yaml                  |   52 -
 deploy/operator-role-olm-cluster.yaml              |   43 -
 deploy/operator-role-olm.yaml                      |  269 --
 deploy/operator-role-servicemonitors.yaml          |   37 -
 deploy/operator-role-strimzi.yaml                  |   33 -
 deploy/operator-service-account.yaml               |   23 -
 deploy/platform-cr.yaml                            |   23 -
 deploy/resources.go                                |  582 ----
 deploy/resources_test.go                           |   56 -
 deploy/user-cluster-role.yaml                      |   30 -
 .../ROOT/pages/contributing/developers.adoc        |   36 +-
 e2e/support/test_support.go                        |    8 +-
 go.mod                                             |    1 +
 helm/camel-k/crds/crd-build.yaml                   |    4 +-
 helm/camel-k/crds/crd-camel-catalog.yaml           |    4 +-
 helm/camel-k/crds/crd-integration-kit.yaml         |    4 +-
 helm/camel-k/crds/crd-integration-platform.yaml    |    4 +-
 helm/camel-k/crds/crd-integration.yaml             |    4 +-
 helm/camel-k/crds/crd-kamelet-binding.yaml         |    4 +-
 helm/camel-k/crds/crd-kamelet.yaml                 |    4 +-
 pkg/apis/camel/v1/common_types.go                  |    2 +-
 pkg/base/root.go                                   |   63 +
 pkg/cmd/init.go                                    |    4 +-
 pkg/cmd/install.go                                 |    1 -
 pkg/cmd/trait_help.go                              |    4 +-
 pkg/controller/integrationplatform/create.go       |   15 +-
 pkg/controller/integrationplatform/create_test.go  |   22 +-
 pkg/install/builder.go                             |   12 +-
 pkg/install/cluster.go                             |   20 +-
 pkg/install/common.go                              |    4 +-
 pkg/install/kamelets.go                            |   70 +-
 pkg/install/operator.go                            |   42 +-
 pkg/resources/resources.go                         |  783 +++++
 {deploy => pkg/resources}/resources_support.go     |   23 +-
 pkg/resources/resources_test.go                    |  114 +
 pkg/util/camel/catalog.go                          |   17 +-
 script/Makefile                                    |   26 +-
 script/{embed_resources.sh => add_createdAt.sh}    |   30 +-
 script/add_license.sh                              |    9 +-
 script/build_olm.sh                                |   41 +-
 script/gen_crd.sh                                  |   49 +-
 78 files changed, 3842 insertions(+), 3400 deletions(-)

diff --git a/addons/master/master.go b/addons/master/master.go
index f3f01d1..01e90e5 100644
--- a/addons/master/master.go
+++ b/addons/master/master.go
@@ -22,9 +22,9 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/apache/camel-k/deploy"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/metadata"
+	"github.com/apache/camel-k/pkg/resources"
 	"github.com/apache/camel-k/pkg/trait"
 	"github.com/apache/camel-k/pkg/util"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -257,7 +257,7 @@ func findAdditionalDependencies(e *trait.Environment, meta metadata.IntegrationM
 }
 
 func loadResource(e *trait.Environment, name string, params interface{}) (runtime.Object, error) {
-	data, err := deploy.TemplateResource(fmt.Sprintf("/addons/master/%s", name), params)
+	data, err := resources.TemplateResource(fmt.Sprintf("/addons/master/%s", name), params)
 	if err != nil {
 		return nil, err
 	}
diff --git a/cmd/util/vfs-gen/main.go b/cmd/util/vfs-gen/main.go
index bed29d4..0e653d3 100644
--- a/cmd/util/vfs-gen/main.go
+++ b/cmd/util/vfs-gen/main.go
@@ -18,6 +18,7 @@ limitations under the License.
 package main
 
 import (
+	"flag"
 	"fmt"
 	"io/ioutil"
 	"log"
@@ -28,53 +29,70 @@ import (
 	"strings"
 	"time"
 
+	"github.com/apache/camel-k/cmd/util/vfs-gen/multifs"
+	"github.com/apache/camel-k/pkg/base"
 	"github.com/shurcooL/httpfs/filter"
 	"github.com/shurcooL/vfsgen"
 )
 
 func main() {
-	if len(os.Args) != 2 {
-		println("usage: vfs-gen directory")
+
+	var rootDir string
+	var destDir string
+
+	wd, err := os.Getwd()
+	if err != nil {
+		log.Fatalln(err)
 		os.Exit(1)
 	}
 
-	dirName := os.Args[1]
-	dir, err := os.Stat(dirName)
+	flag.StringVar(&rootDir, "root", base.GoModDirectory, "The absolute path from were the directories can be found (camel-k module directory by default)")
+	flag.StringVar(&destDir, "dest", wd, "The destination directory of the generated file (working directory by default)")
+	flag.Parse()
+
+	if len(flag.Args()) < 1 {
+		println("usage: vfs-gen [-root <absolute root parent path>] [-dest <directory>] directory1 [directory2 ... ...]")
+		os.Exit(1)
+	}
+
+	err = checkDir(rootDir)
 	if err != nil {
 		log.Fatalln(err)
-	}
-	if !dir.IsDir() {
-		fmt.Printf("path %s is not a directory\n", dirName)
 		os.Exit(1)
 	}
 
-	var exclusions []string
-	if err := filepath.Walk(dirName, func(resPath string, info os.FileInfo, err error) error {
-		if info.IsDir() {
-			ignoreFileName := path.Join(resPath, ".vfsignore")
-			_, err := os.Stat(ignoreFileName)
-			if err == nil {
-				rel, err := filepath.Rel(dirName, resPath)
-				if err != nil {
-					log.Fatalln(err)
-				}
-				if !strings.HasPrefix(rel, "/") {
-					rel = "/" + rel
-				}
-				exclusions = append(exclusions, rel)
-			} else if !os.IsNotExist(err) {
-				log.Fatalln(err)
-			}
+	dirNames := flag.Args()
+	for _, dirName := range dirNames {
+		absDir := filepath.Join(rootDir, dirName)
+		err := checkDir(absDir)
+		if err != nil {
+			log.Fatalln(err)
+			os.Exit(1)
 		}
-		return nil
-	}); err != nil {
+	}
+
+	exclusions := calcExclusions(rootDir, dirNames)
+
+	//
+	// Destination file for the generated resources
+	//
+	resourceFile := path.Join(destDir, "resources.go")
+
+	mfs, err := multifs.New(rootDir, dirNames, exclusions)
+	if err != nil {
 		log.Fatalln(err)
+		os.Exit(1)
 	}
 
 	var fs http.FileSystem = modTimeFS{
-		fs: http.Dir(dirName),
+		fs: mfs,
 	}
+
+	//
+	// Filter un-interesting files
+	//
 	fs = filter.Skip(fs, filter.FilesWithExtensions(".go"))
+	fs = filter.Skip(fs, NamedFilesFilter("kustomization.yaml"))
 	fs = filter.Skip(fs, func(path string, fi os.FileInfo) bool {
 		for _, ex := range exclusions {
 			if strings.HasPrefix(path, ex) {
@@ -84,15 +102,20 @@ func main() {
 		return false
 	})
 
-	resourceFile := path.Join(dirName, "resources.go")
+	//
+	// Generate the assets
+	//
 	err = vfsgen.Generate(fs, vfsgen.Options{
 		Filename:    resourceFile,
-		PackageName: path.Base(dirName),
+		PackageName: path.Base(destDir),
 	})
 	if err != nil {
 		log.Fatalln(err)
 	}
 
+	//
+	// Post-process the final resource file
+	//
 	header := `/*
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -121,7 +144,65 @@ limitations under the License.
 	if err := ioutil.WriteFile(resourceFile, finalContent, 0777); err != nil {
 		log.Fatalln(err)
 	}
+}
+
+func NamedFilesFilter(names ...string) func(path string, fi os.FileInfo) bool {
+	return func(path string, fi os.FileInfo) bool {
+		if fi.IsDir() {
+			return false
+		}
+
+		for _, name := range names {
+			if name == filepath.Base(path) {
+				return true
+			}
+		}
+
+		return false
+	}
+}
+
+func calcExclusions(root string, dirNames []string) []string {
+	var exclusions []string
+
+	for _, dirName := range dirNames {
+		dirName = filepath.Join(root, dirName)
+		if err := filepath.Walk(dirName, func(resPath string, info os.FileInfo, err error) error {
+			if info.IsDir() {
+				ignoreFileName := path.Join(resPath, ".vfsignore")
+				_, err := os.Stat(ignoreFileName)
+				if err == nil {
+					rel, err := filepath.Rel(dirName, resPath)
+					if err != nil {
+						log.Fatalln(err)
+					}
+					if !strings.HasPrefix(rel, "/") {
+						rel = "/" + rel
+					}
+					exclusions = append(exclusions, rel)
+				} else if !os.IsNotExist(err) {
+					log.Fatalln(err)
+				}
+			}
+			return nil
+		}); err != nil {
+			log.Fatalln(err)
+		}
+	}
+
+	return exclusions
+}
+
+func checkDir(dirName string) error {
+	dir, err := os.Stat(dirName)
+	if err != nil {
+		return err
+	}
+	if !dir.IsDir() {
+		return fmt.Errorf("path %s is not a directory\n", dirName)
+	}
 
+	return nil
 }
 
 // modTimeFS wraps http.FileSystem to set mod time to 0 for all files
diff --git a/cmd/util/vfs-gen/multifs/multidir.go b/cmd/util/vfs-gen/multifs/multidir.go
new file mode 100644
index 0000000..de9d602
--- /dev/null
+++ b/cmd/util/vfs-gen/multifs/multidir.go
@@ -0,0 +1,163 @@
+/*
+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.
+*/
+
+/*
+Based on the union fs function available at
+https://github.com/shurcooL/httpfs/blob/master/union/union.go
+(Licenced under MIT)
+*/
+
+package multifs
+
+import (
+	"fmt"
+	"io"
+	"net/http"
+	"os"
+	"path/filepath"
+	"strings"
+	"time"
+
+	"github.com/shurcooL/httpfs/vfsutil"
+)
+
+func New(rootDir string, dirNames []string, exclude []string) (http.FileSystem, error) {
+	m := &multiFS{
+		rootDir: rootDir,
+		exclude: exclude,
+		mfs:     make(map[string]http.FileSystem),
+		root: &dirInfo{
+			name: "/",
+		},
+	}
+	for _, dirName := range dirNames {
+		err := m.bind(dirName)
+		if err != nil {
+			return nil, err
+		}
+	}
+
+	return m, nil
+}
+
+type multiFS struct {
+	rootDir string
+	exclude []string
+	mfs     map[string]http.FileSystem
+	root    *dirInfo
+}
+
+func (m *multiFS) bind(dirName string) error {
+	absDir := filepath.Join(m.rootDir, dirName)
+
+	hfs := http.Dir(absDir)
+	m.mfs["/"+dirName] = hfs
+
+	//
+	// The 1-level down paths are needed since the
+	// remainder are covered by the http filesystems
+	//
+	fileInfos, err := vfsutil.ReadDir(hfs, "/")
+	if err != nil {
+		return err
+	}
+
+	for _, nfo := range fileInfos {
+		path := "/" + nfo.Name()
+
+		for _, ex := range m.exclude {
+			if strings.HasPrefix(path, ex) {
+				continue // skip
+			}
+		}
+
+		if nfo.IsDir() {
+			m.root.entries = append(m.root.entries, &dirInfo{
+				name: path,
+			})
+		} else {
+			m.root.entries = append(m.root.entries, nfo)
+		}
+	}
+
+	return nil
+}
+
+func (m *multiFS) Open(path string) (http.File, error) {
+	if path == "/" {
+		return &dir{
+			dirInfo: m.root,
+		}, nil
+	}
+
+	for _, fs := range m.mfs {
+		f, err := fs.Open(path)
+		if err != nil {
+			continue
+		}
+
+		return f, nil
+	}
+
+	return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
+}
+
+// dirInfo is a static definition of a directory.
+type dirInfo struct {
+	name    string
+	entries []os.FileInfo
+}
+
+func (d *dirInfo) Read([]byte) (int, error) {
+	return 0, fmt.Errorf("cannot Read from directory %s", d.name)
+}
+func (d *dirInfo) Close() error               { return nil }
+func (d *dirInfo) Stat() (os.FileInfo, error) { return d, nil }
+
+func (d *dirInfo) Name() string       { return d.name }
+func (d *dirInfo) Size() int64        { return 0 }
+func (d *dirInfo) Mode() os.FileMode  { return 0755 | os.ModeDir }
+func (d *dirInfo) ModTime() time.Time { return time.Time{} } // Actual mod time is not computed because it's expensive and rarely needed.
+func (d *dirInfo) IsDir() bool        { return true }
+func (d *dirInfo) Sys() interface{}   { return nil }
+
+// dir is an opened dir instance.
+type dir struct {
+	*dirInfo
+	pos int // Position within entries for Seek and Readdir.
+}
+
+func (d *dir) Seek(offset int64, whence int) (int64, error) {
+	if offset == 0 && whence == io.SeekStart {
+		d.pos = 0
+		return 0, nil
+	}
+	return 0, fmt.Errorf("unsupported Seek in directory %s", d.dirInfo.name)
+}
+
+func (d *dir) Readdir(count int) ([]os.FileInfo, error) {
+	if d.pos >= len(d.dirInfo.entries) && count > 0 {
+		return nil, io.EOF
+	}
+	if count <= 0 || count > len(d.dirInfo.entries)-d.pos {
+		count = len(d.dirInfo.entries) - d.pos
+	}
+	e := d.dirInfo.entries[d.pos : d.pos+count]
+	d.pos += count
+
+	return e, nil
+}
diff --git a/config/crd/bases/camel.apache.org_builds.yaml b/config/crd/bases/camel.apache.org_builds.yaml
index 7d732ef..603c60d 100644
--- a/config/crd/bases/camel.apache.org_builds.yaml
+++ b/config/crd/bases/camel.apache.org_builds.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: builds.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_camelcatalogs.yaml b/config/crd/bases/camel.apache.org_camelcatalogs.yaml
index a18d657..4d33593 100644
--- a/config/crd/bases/camel.apache.org_camelcatalogs.yaml
+++ b/config/crd/bases/camel.apache.org_camelcatalogs.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: camelcatalogs.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_integrationkits.yaml b/config/crd/bases/camel.apache.org_integrationkits.yaml
index beec770..335ddb4 100644
--- a/config/crd/bases/camel.apache.org_integrationkits.yaml
+++ b/config/crd/bases/camel.apache.org_integrationkits.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrationkits.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_integrationplatforms.yaml b/config/crd/bases/camel.apache.org_integrationplatforms.yaml
index 9cd1afd..7d1e156 100644
--- a/config/crd/bases/camel.apache.org_integrationplatforms.yaml
+++ b/config/crd/bases/camel.apache.org_integrationplatforms.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrationplatforms.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_integrations.yaml b/config/crd/bases/camel.apache.org_integrations.yaml
index 16178af..147f9fa 100644
--- a/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/config/crd/bases/camel.apache.org_integrations.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrations.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_kameletbindings.yaml b/config/crd/bases/camel.apache.org_kameletbindings.yaml
index 2c95ef4..9ae1705 100644
--- a/config/crd/bases/camel.apache.org_kameletbindings.yaml
+++ b/config/crd/bases/camel.apache.org_kameletbindings.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: kameletbindings.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_kamelets.yaml b/config/crd/bases/camel.apache.org_kamelets.yaml
index b79e7dc..e8371f9 100644
--- a/config/crd/bases/camel.apache.org_kamelets.yaml
+++ b/config/crd/bases/camel.apache.org_kamelets.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: kamelets.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/deploy/builder-service-account.yaml b/config/manager/builder-service-account.yaml
similarity index 100%
rename from deploy/builder-service-account.yaml
rename to config/manager/builder-service-account.yaml
diff --git a/config/manifests/bases/camel-k.clusterserviceversion.yaml b/config/manifests/bases/camel-k.clusterserviceversion.yaml
index 5204429..1561feb 100644
--- a/config/manifests/bases/camel-k.clusterserviceversion.yaml
+++ b/config/manifests/bases/camel-k.clusterserviceversion.yaml
@@ -22,10 +22,13 @@ metadata:
     capabilities: Full Lifecycle
     categories: Integration & Delivery
     certified: "false"
+    containerImage: docker.io/apache/camel-k:1.3.0-SNAPSHOT
+    createdAt: 2021-02-01T14:49:29Z
     description: Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers.
     operators.operatorframework.io/builder: operator-sdk-v1.0.1
     operators.operatorframework.io/internal-objects: '["builds.camel.apache.org","integrationkits.camel.apache.org","camelcatalogs.camel.apache.org"]'
     operators.operatorframework.io/project_layout: go.kubebuilder.io/v2
+    repository: https://github.com/apache/camel-k
     support: Camel
   name: camel-k.v1.3.0
   namespace: placeholder
diff --git a/deploy/operator-pod-monitor.yaml b/config/prometheus/operator-pod-monitor.yaml
similarity index 98%
rename from deploy/operator-pod-monitor.yaml
rename to config/prometheus/operator-pod-monitor.yaml
index f0d9e60..018e266 100644
--- a/deploy/operator-pod-monitor.yaml
+++ b/config/prometheus/operator-pod-monitor.yaml
@@ -28,4 +28,4 @@ spec:
       app: "camel-k"
       camel.apache.org/component: operator
   podMetricsEndpoints:
-    - port: metrics
\ No newline at end of file
+    - port: metrics
diff --git a/deploy/operator-prometheus-rule.yaml b/config/prometheus/operator-prometheus-rule.yaml
similarity index 100%
rename from deploy/operator-prometheus-rule.yaml
rename to config/prometheus/operator-prometheus-rule.yaml
diff --git a/deploy/builder-role-binding.yaml b/config/rbac/builder-role-binding.yaml
similarity index 100%
rename from deploy/builder-role-binding.yaml
rename to config/rbac/builder-role-binding.yaml
diff --git a/deploy/builder-role-kubernetes.yaml b/config/rbac/builder-role-kubernetes.yaml
similarity index 100%
rename from deploy/builder-role-kubernetes.yaml
rename to config/rbac/builder-role-kubernetes.yaml
diff --git a/deploy/builder-role-openshift.yaml b/config/rbac/builder-role-openshift.yaml
similarity index 100%
rename from deploy/builder-role-openshift.yaml
rename to config/rbac/builder-role-openshift.yaml
diff --git a/deploy/operator-role-kubernetes.yaml b/config/rbac/operator-role-kubernetes.yaml
similarity index 100%
rename from deploy/operator-role-kubernetes.yaml
rename to config/rbac/operator-role-kubernetes.yaml
diff --git a/deploy/operator-role-openshift.yaml b/config/rbac/operator-role-openshift.yaml
similarity index 100%
rename from deploy/operator-role-openshift.yaml
rename to config/rbac/operator-role-openshift.yaml
diff --git a/deploy/camel-catalog-1.6.0.yaml b/deploy/camel-catalog-1.6.0.yaml
index a4b74fc..8d35f7e 100644
--- a/deploy/camel-catalog-1.6.0.yaml
+++ b/deploy/camel-catalog-1.6.0.yaml
@@ -20,10 +20,10 @@ kind: CamelCatalog
 metadata:
   name: camel-catalog-1.6.0
   labels:
-    camel.apache.org/catalog.loader.version: 3.7.0
-    app: camel-k
     camel.apache.org/catalog.version: 3.7.0
     camel.apache.org/runtime.version: 1.6.0
+    camel.apache.org/catalog.loader.version: 3.7.0
+    app: camel-k
 spec:
   runtime:
     version: 1.6.0
@@ -37,6 +37,10 @@ spec:
     - groupId: org.apache.camel.k
       artifactId: camel-k-runtime
     capabilities:
+      tracing:
+        dependencies:
+        - groupId: org.apache.camel.quarkus
+          artifactId: camel-quarkus-opentracing
       master:
         dependencies:
         - groupId: org.apache.camel.k
@@ -63,2864 +67,2874 @@ spec:
           artifactId: camel-quarkus-rest
         - groupId: org.apache.camel.quarkus
           artifactId: camel-quarkus-platform-http
-      tracing:
-        dependencies:
-        - groupId: org.apache.camel.quarkus
-          artifactId: camel-quarkus-opentracing
   artifacts:
-    camel-quarkus-asn1:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asn1
-      dataformats:
-      - asn1
-      javaTypes:
-      - org.apache.camel.dataformat.asn1.ASN1DataFormat
-    camel-quarkus-aws2-cw:
+    camel-k-kamelet:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet
+      schemes:
+      - id: kamelet
+        http: false
+        passive: true
+    camel-quarkus-influxdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-cw
+      artifactId: camel-quarkus-influxdb
       schemes:
-      - id: aws2-cw
+      - id: influxdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.cw.Cw2Component
-    camel-quarkus-sip:
+      - org.apache.camel.component.influxdb.InfluxDbComponent
+    camel-quarkus-netty-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sip
+      artifactId: camel-quarkus-netty-http
       schemes:
-      - id: sips
-        http: false
-        passive: false
-      - id: sip
-        http: false
+      - id: netty-http
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.sip.SipComponent
-    camel-quarkus-thrift:
+      - org.apache.camel.component.netty.http.NettyHttpComponent
+    camel-quarkus-aws2-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-thrift
+      artifactId: camel-quarkus-aws2-ecs
       schemes:
-      - id: thrift
+      - id: aws2-ecs
         http: false
         passive: false
+      javaTypes:
+      - org.apache.camel.component.aws2.ecs.ECS2Component
+    camel-quarkus-zipfile:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-zipfile
       dataformats:
-      - thrift
+      - zipfile
       javaTypes:
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
-      - org.apache.camel.component.thrift.ThriftComponent
-    camel-quarkus-jms:
+      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
+    camel-quarkus-flatpack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jms
+      artifactId: camel-quarkus-flatpack
       schemes:
-      - id: jms
+      - id: flatpack
         http: false
         passive: false
+      dataformats:
+      - flatpack
       javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-quarkus-pg-replication-slot:
+      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
+      - org.apache.camel.component.flatpack.FlatpackComponent
+    camel-quarkus-slack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pg-replication-slot
+      artifactId: camel-quarkus-slack
       schemes:
-      - id: pg-replication-slot
+      - id: slack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-quarkus-quartz:
+      - org.apache.camel.component.slack.SlackComponent
+    camel-quarkus-aws-sns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quartz
+      artifactId: camel-quarkus-aws-sns
       schemes:
-      - id: quartz
+      - id: aws-sns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-quarkus-etcd:
+      - org.apache.camel.component.aws.sns.SnsComponent
+    camel-quarkus-couchbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-etcd
+      artifactId: camel-quarkus-couchbase
       schemes:
-      - id: etcd-stats
-        http: false
-        passive: false
-      - id: etcd-keys
-        http: false
-        passive: false
-      - id: etcd-watch
+      - id: couchbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.etcd.EtcdStatsComponent
-      - org.apache.camel.component.etcd.EtcdWatchComponent
-      - org.apache.camel.component.etcd.EtcdKeysComponent
-    camel-quarkus-as2:
+      - org.apache.camel.component.couchbase.CouchbaseComponent
+    camel-quarkus-digitalocean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-as2
+      artifactId: camel-quarkus-digitalocean
       schemes:
-      - id: as2
+      - id: digitalocean
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-quarkus-atmos:
+      - org.apache.camel.component.digitalocean.DigitalOceanComponent
+    camel-quarkus-timer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atmos
+      artifactId: camel-quarkus-timer
       schemes:
-      - id: atmos
+      - id: timer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.atmos.AtmosComponent
-    camel-k-kamelet-reify:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet-reify
-      schemes:
-      - id: wrap
-        http: false
-        passive: false
-    camel-quarkus-xchange:
+      - org.apache.camel.component.timer.TimerComponent
+    camel-quarkus-platform-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xchange
+      artifactId: camel-quarkus-platform-http
       schemes:
-      - id: xchange
-        http: false
+      - id: platform-http
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-quarkus-ldap:
+      - org.apache.camel.component.platform.http.PlatformHttpComponent
+    camel-quarkus-mail:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldap
+      artifactId: camel-quarkus-mail
       schemes:
-      - id: ldap
+      - id: smtp
+        http: false
+        passive: false
+      - id: pop3
+        http: false
+        passive: false
+      - id: smtps
+        http: false
+        passive: false
+      - id: pop3s
+        http: false
+        passive: false
+      - id: imap
+        http: false
+        passive: false
+      - id: imaps
         http: false
         passive: false
+      dataformats:
+      - mime-multipart
       javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-quarkus-sjms2:
+      - org.apache.camel.component.mail.MailComponent
+      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
+    camel-quarkus-google-bigquery:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms2
+      artifactId: camel-quarkus-google-bigquery
       schemes:
-      - id: sjms2
+      - id: google-bigquery-sql
+        http: false
+        passive: false
+      - id: google-bigquery
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-quarkus-zookeeper:
+      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
+      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
+    camel-quarkus-dropbox:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper
+      artifactId: camel-quarkus-dropbox
       schemes:
-      - id: zookeeper
+      - id: dropbox
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-quarkus-olingo4:
+      - org.apache.camel.component.dropbox.DropboxComponent
+    camel-quarkus-aws2-s3:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-olingo4
+      artifactId: camel-quarkus-aws2-s3
       schemes:
-      - id: olingo4
+      - id: aws2-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-quarkus-aws-sqs:
+      - org.apache.camel.component.aws2.s3.AWS2S3Component
+    camel-quarkus-json-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sqs
+      artifactId: camel-quarkus-json-validator
       schemes:
-      - id: aws-sqs
+      - id: json-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-quarkus-braintree:
+      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
+    camel-quarkus-lumberjack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-braintree
+      artifactId: camel-quarkus-lumberjack
       schemes:
-      - id: braintree
+      - id: lumberjack
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-quarkus-zendesk:
+      - org.apache.camel.component.lumberjack.LumberjackComponent
+    camel-quarkus-websocket-jsr356:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zendesk
+      artifactId: camel-quarkus-websocket-jsr356
       schemes:
-      - id: zendesk
+      - id: websocket-jsr356
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-quarkus-twilio:
+      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
+    camel-quarkus-google-mail:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twilio
+      artifactId: camel-quarkus-google-mail
       schemes:
-      - id: twilio
+      - id: google-mail-stream
+        http: false
+        passive: false
+      - id: google-mail
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-quarkus-activemq:
+      - org.apache.camel.component.google.mail.GoogleMailComponent
+      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
+    camel-quarkus-arangodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-activemq
+      artifactId: camel-quarkus-arangodb
       schemes:
-      - id: activemq
+      - id: arangodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-quarkus-nitrite:
+      - org.apache.camel.component.arangodb.ArangoDbComponent
+    camel-quarkus-soap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nitrite
+      artifactId: camel-quarkus-soap
+      dataformats:
+      - soapjaxb
+      javaTypes:
+      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
+    camel-quarkus-freemarker:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-freemarker
       schemes:
-      - id: nitrite
+      - id: freemarker
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-quarkus-seda:
+      - org.apache.camel.component.freemarker.FreemarkerComponent
+    camel-quarkus-servlet:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-seda
+      artifactId: camel-quarkus-servlet
       schemes:
-      - id: seda
-        http: false
-        passive: true
+      - id: servlet
+        http: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-quarkus-aws-eks:
+      - org.apache.camel.component.servlet.ServletComponent
+    camel-quarkus-git:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-eks
+      artifactId: camel-quarkus-git
       schemes:
-      - id: aws-eks
+      - id: git
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-quarkus-dozer:
+      - org.apache.camel.component.git.GitComponent
+    camel-quarkus-aws-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dozer
+      artifactId: camel-quarkus-aws-kinesis
       schemes:
-      - id: dozer
+      - id: aws-kinesis-firehose
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-quarkus-splunk:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk
-      schemes:
-      - id: splunk
+      - id: aws-kinesis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-quarkus-google-drive:
+      - org.apache.camel.component.aws.kinesis.KinesisComponent
+      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
+    camel-quarkus-openstack:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-drive
+      artifactId: camel-quarkus-openstack
       schemes:
-      - id: google-drive
+      - id: openstack-neutron
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-quarkus-sjms:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sjms
-      schemes:
-      - id: sjms
+      - id: openstack-keystone
         http: false
         passive: false
-      - id: sjms-batch
+      - id: openstack-cinder
+        http: false
+        passive: false
+      - id: openstack-nova
+        http: false
+        passive: false
+      - id: openstack-glance
+        http: false
+        passive: false
+      - id: openstack-swift
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-      - org.apache.camel.component.sjms.SjmsComponent
-    camel-quarkus-ical:
+      - org.apache.camel.component.openstack.neutron.NeutronComponent
+      - org.apache.camel.component.openstack.keystone.KeystoneComponent
+      - org.apache.camel.component.openstack.cinder.CinderComponent
+      - org.apache.camel.component.openstack.nova.NovaComponent
+      - org.apache.camel.component.openstack.swift.SwiftComponent
+      - org.apache.camel.component.openstack.glance.GlanceComponent
+    camel-quarkus-barcode:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ical
+      artifactId: camel-quarkus-barcode
       dataformats:
-      - ical
+      - barcode
       javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-quarkus-cassandraql:
+      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
+    camel-quarkus-snmp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cassandraql
+      artifactId: camel-quarkus-snmp
       schemes:
-      - id: cql
+      - id: snmp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-quarkus-jgroups-raft:
+      - org.apache.camel.component.snmp.SnmpComponent
+    camel-quarkus-aws2-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups-raft
+      artifactId: camel-quarkus-aws2-ec2
       schemes:
-      - id: jgroups-raft
+      - id: aws2-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-quarkus-mongodb:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb
+      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
+    camel-k-master:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-master
       schemes:
-      - id: mongodb
+      - id: master
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-quarkus-dns:
+    camel-quarkus-master:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dns
+      artifactId: camel-quarkus-master
       schemes:
-      - id: dns
+      - id: master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dns.DnsComponent
-    camel-k-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-webhook
-      schemes:
-      - id: webhook
-        http: true
-        passive: true
-    camel-quarkus-chunk:
+      - org.apache.camel.component.master.MasterComponent
+    camel-quarkus-mustache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chunk
+      artifactId: camel-quarkus-mustache
       schemes:
-      - id: chunk
+      - id: mustache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-quarkus-cometd:
+      - org.apache.camel.component.mustache.MustacheComponent
+    camel-quarkus-djl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cometd
+      artifactId: camel-quarkus-djl
       schemes:
-      - id: cometds
-        http: false
-        passive: false
-      - id: cometd
+      - id: djl
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-quarkus-drill:
+      - org.apache.camel.component.djl.DJLComponent
+    camel-quarkus-bonita:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-drill
+      artifactId: camel-quarkus-bonita
       schemes:
-      - id: drill
+      - id: bonita
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-quarkus-soroush:
+      - org.apache.camel.component.bonita.BonitaComponent
+    camel-quarkus-nagios:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soroush
+      artifactId: camel-quarkus-nagios
       schemes:
-      - id: soroush
+      - id: nagios
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-quarkus-atom:
+      - org.apache.camel.component.nagios.NagiosComponent
+    camel-quarkus-crypto:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atom
+      artifactId: camel-quarkus-crypto
       schemes:
-      - id: atom
+      - id: crypto
         http: false
         passive: false
+      dataformats:
+      - pgp
+      - crypto
       javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-quarkus-pgevent:
+      - org.apache.camel.component.crypto.DigitalSignatureComponent
+      - org.apache.camel.converter.crypto.CryptoDataFormat
+      - org.apache.camel.converter.crypto.PGPDataFormat
+    camel-quarkus-cm-sms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pgevent
+      artifactId: camel-quarkus-cm-sms
       schemes:
-      - id: pgevent
+      - id: cm-sms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-quarkus-geocoder:
+      - org.apache.camel.component.cm.CMComponent
+    camel-quarkus-aws2-athena:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-geocoder
+      artifactId: camel-quarkus-aws2-athena
       schemes:
-      - id: geocoder
+      - id: aws2-athena
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-quarkus-gson:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-gson
-      dataformats:
-      - json-gson
-      javaTypes:
-      - org.apache.camel.component.gson.GsonDataFormat
-    camel-quarkus-rss:
+      - org.apache.camel.component.aws2.athena.Athena2Component
+    camel-quarkus-kubernetes:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rss
+      artifactId: camel-quarkus-kubernetes
       schemes:
-      - id: rss
+      - id: kubernetes-persistent-volumes-claims
         http: false
         passive: false
-      dataformats:
-      - rss
-      javaTypes:
-      - org.apache.camel.dataformat.rss.RssDataFormat
-      - org.apache.camel.component.rss.RssComponent
-    camel-quarkus-exec:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-exec
-      schemes:
-      - id: exec
+      - id: kubernetes-deployments
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-quarkus-base64:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-base64
-      dataformats:
-      - base64
-      javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-quarkus-infinispan:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-infinispan
-      schemes:
-      - id: infinispan
+      - id: kubernetes-hpa
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-quarkus-nats:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nats
-      schemes:
-      - id: nats
+      - id: kubernetes-nodes
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-quarkus-microprofile-metrics:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-microprofile-metrics
-      schemes:
-      - id: microprofile-metrics
+      - id: kubernetes-namespaces
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-quarkus-asterisk:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-asterisk
-      schemes:
-      - id: asterisk
+      - id: kubernetes-custom-resources
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-quarkus-azure-storage-blob:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-blob
-      schemes:
-      - id: azure-storage-blob
+      - id: openshift-builds
+        http: false
+        passive: false
+      - id: kubernetes-resources-quota
+        http: false
+        passive: false
+      - id: kubernetes-replication-controllers
+        http: false
+        passive: false
+      - id: kubernetes-job
+        http: false
+        passive: false
+      - id: openshift-build-configs
+        http: false
+        passive: false
+      - id: kubernetes-service-accounts
+        http: false
+        passive: false
+      - id: kubernetes-secrets
+        http: false
+        passive: false
+      - id: kubernetes-services
+        http: false
+        passive: false
+      - id: kubernetes-persistent-volumes
+        http: false
+        passive: false
+      - id: kubernetes-config-maps
+        http: false
+        passive: false
+      - id: kubernetes-pods
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.blob.BlobComponent
-    camel-quarkus-protobuf:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-protobuf
-      dataformats:
-      - protobuf
-      javaTypes:
-      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
-    camel-quarkus-tagsoup:
+      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
+      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
+      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
+      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
+      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
+      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
+      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
+      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
+      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
+      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
+      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
+      - org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesComponent
+      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
+      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
+      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
+      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
+      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
+    camel-quarkus-pdf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tagsoup
-      dataformats:
-      - tidyMarkup
+      artifactId: camel-quarkus-pdf
+      schemes:
+      - id: pdf
+        http: false
+        passive: false
       javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-k-kamelet:
+      - org.apache.camel.component.pdf.PdfComponent
+    camel-k-cron:
       groupId: org.apache.camel.k
-      artifactId: camel-k-kamelet
+      artifactId: camel-k-cron
       schemes:
-      - id: kamelet
+      - id: cron
         http: false
-        passive: true
-    camel-quarkus-influxdb:
+        passive: false
+    camel-quarkus-aws2-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-influxdb
+      artifactId: camel-quarkus-aws2-lambda
       schemes:
-      - id: influxdb
+      - id: aws2-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-quarkus-netty-http:
+      - org.apache.camel.component.aws2.lambda.Lambda2Component
+    camel-quarkus-stringtemplate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty-http
+      artifactId: camel-quarkus-stringtemplate
       schemes:
-      - id: netty-http
-        http: true
+      - id: string-template
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-quarkus-aws2-ecs:
+      - org.apache.camel.component.stringtemplate.StringTemplateComponent
+    camel-quarkus-stomp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ecs
+      artifactId: camel-quarkus-stomp
       schemes:
-      - id: aws2-ecs
+      - id: stomp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ecs.ECS2Component
-    camel-quarkus-zipfile:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zipfile
-      dataformats:
-      - zipfile
-      javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-quarkus-flatpack:
+      - org.apache.camel.component.stomp.StompComponent
+    camel-quarkus-google-sheets:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flatpack
+      artifactId: camel-quarkus-google-sheets
       schemes:
-      - id: flatpack
+      - id: google-sheets
+        http: false
+        passive: false
+      - id: google-sheets-stream
         http: false
         passive: false
-      dataformats:
-      - flatpack
       javaTypes:
-      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
-      - org.apache.camel.component.flatpack.FlatpackComponent
-    camel-quarkus-slack:
+      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
+      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
+    camel-quarkus-ftp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-slack
+      artifactId: camel-quarkus-ftp
       schemes:
-      - id: slack
+      - id: sftp
+        http: false
+        passive: false
+      - id: ftps
+        http: false
+        passive: false
+      - id: ftp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-quarkus-aws-sns:
+      - org.apache.camel.component.file.remote.SftpComponent
+      - org.apache.camel.component.file.remote.FtpsComponent
+      - org.apache.camel.component.file.remote.FtpComponent
+    camel-quarkus-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sns
+      artifactId: camel-quarkus-validator
       schemes:
-      - id: aws-sns
+      - id: validator
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-quarkus-couchbase:
+      - org.apache.camel.component.validator.ValidatorComponent
+    camel-quarkus-jackson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchbase
+      artifactId: camel-quarkus-jackson
+      dataformats:
+      - json-jackson
+      javaTypes:
+      - org.apache.camel.component.jackson.JacksonDataFormat
+    camel-quarkus-printer:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-printer
       schemes:
-      - id: couchbase
+      - id: lpr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-quarkus-digitalocean:
+      - org.apache.camel.component.printer.PrinterComponent
+    camel-quarkus-google-pubsub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-digitalocean
+      artifactId: camel-quarkus-google-pubsub
       schemes:
-      - id: digitalocean
+      - id: google-pubsub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-quarkus-timer:
+      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
+    camel-quarkus-cmis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-timer
+      artifactId: camel-quarkus-cmis
       schemes:
-      - id: timer
+      - id: cmis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-quarkus-platform-http:
+      - org.apache.camel.component.cmis.CMISComponent
+    camel-quarkus-aws2-ses:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-platform-http
+      artifactId: camel-quarkus-aws2-ses
       schemes:
-      - id: platform-http
-        http: true
+      - id: aws2-ses
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-quarkus-mail:
+      - org.apache.camel.component.aws2.ses.Ses2Component
+    camel-quarkus-hazelcast:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mail
+      artifactId: camel-quarkus-hazelcast
       schemes:
-      - id: imap
+      - id: hazelcast-topic
         http: false
         passive: false
-      - id: imaps
+      - id: hazelcast-multimap
         http: false
         passive: false
-      - id: smtp
+      - id: hazelcast-seda
         http: false
         passive: false
-      - id: pop3
+      - id: hazelcast-map
         http: false
         passive: false
-      - id: smtps
+      - id: hazelcast-set
         http: false
         passive: false
-      - id: pop3s
+      - id: hazelcast-queue
         http: false
         passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-quarkus-google-bigquery:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-bigquery
-      schemes:
-      - id: google-bigquery-sql
+      - id: hazelcast-list
         http: false
         passive: false
-      - id: google-bigquery
+      - id: hazelcast-instance
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
-      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
-    camel-quarkus-dropbox:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dropbox
-      schemes:
-      - id: dropbox
+      - id: hazelcast-ringbuffer
+        http: false
+        passive: false
+      - id: hazelcast-atomicvalue
+        http: false
+        passive: false
+      - id: hazelcast-replicatedmap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-quarkus-aws2-s3:
+      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
+      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
+      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
+      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
+      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
+      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
+      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
+      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
+      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
+      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
+      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
+    camel-quarkus-box:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-s3
+      artifactId: camel-quarkus-box
       schemes:
-      - id: aws2-s3
+      - id: box
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.s3.AWS2S3Component
-    camel-quarkus-json-validator:
+      - org.apache.camel.component.box.BoxComponent
+    camel-quarkus-wordpress:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-json-validator
+      artifactId: camel-quarkus-wordpress
       schemes:
-      - id: json-validator
+      - id: wordpress
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-quarkus-lumberjack:
+      - org.apache.camel.component.wordpress.WordpressComponent
+    camel-quarkus-vertx-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lumberjack
+      artifactId: camel-quarkus-vertx-http
       schemes:
-      - id: lumberjack
+      - id: vertx-http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-quarkus-websocket-jsr356:
+      - org.apache.camel.component.vertx.http.VertxHttpComponent
+    camel-quarkus-aws2-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-websocket-jsr356
+      artifactId: camel-quarkus-aws2-translate
       schemes:
-      - id: websocket-jsr356
+      - id: aws2-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-quarkus-google-mail:
+      - org.apache.camel.component.aws2.translate.Translate2Component
+    camel-quarkus-ahc-ws:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-mail
+      artifactId: camel-quarkus-ahc-ws
       schemes:
-      - id: google-mail-stream
-        http: false
+      - id: ahc-ws
+        http: true
         passive: false
-      - id: google-mail
+      - id: ahc-wss
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.mail.GoogleMailComponent
-      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
-    camel-quarkus-arangodb:
+      - org.apache.camel.component.ahc.ws.WsComponent
+    camel-quarkus-mllp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-arangodb
+      artifactId: camel-quarkus-mllp
       schemes:
-      - id: arangodb
+      - id: mllp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.arangodb.ArangoDbComponent
-    camel-quarkus-soap:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-soap
-      dataformats:
-      - soapjaxb
-      javaTypes:
-      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
-    camel-quarkus-freemarker:
+      - org.apache.camel.component.mllp.MllpComponent
+    camel-quarkus-irc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-freemarker
+      artifactId: camel-quarkus-irc
       schemes:
-      - id: freemarker
+      - id: irc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-quarkus-servlet:
+      - org.apache.camel.component.irc.IrcComponent
+    camel-quarkus-jsch:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servlet
+      artifactId: camel-quarkus-jsch
       schemes:
-      - id: servlet
-        http: true
+      - id: scp
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-quarkus-git:
+      - org.apache.camel.component.scp.ScpComponent
+    camel-quarkus-beanio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-git
+      artifactId: camel-quarkus-beanio
+      dataformats:
+      - beanio
+      javaTypes:
+      - org.apache.camel.dataformat.beanio.BeanIODataFormat
+    camel-quarkus-aws2-mq:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-mq
       schemes:
-      - id: git
+      - id: aws2-mq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-quarkus-aws-kinesis:
+      - org.apache.camel.component.aws2.mq.MQ2Component
+    camel-quarkus-coap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kinesis
+      artifactId: camel-quarkus-coap
       schemes:
-      - id: aws-kinesis-firehose
+      - id: coap
         http: false
         passive: false
-      - id: aws-kinesis
+      - id: coap+tcp
+        http: false
+        passive: false
+      - id: coaps
+        http: false
+        passive: false
+      - id: coaps+tcp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-quarkus-openstack:
+      - org.apache.camel.coap.CoAPComponent
+    camel-quarkus-tika:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-openstack
+      artifactId: camel-quarkus-tika
       schemes:
-      - id: openstack-glance
-        http: false
-        passive: false
-      - id: openstack-swift
+      - id: tika
         http: false
         passive: false
-      - id: openstack-neutron
+      javaTypes:
+      - org.apache.camel.component.tika.TikaComponent
+    camel-quarkus-ssh:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ssh
+      schemes:
+      - id: ssh
         http: false
         passive: false
-      - id: openstack-keystone
+      javaTypes:
+      - org.apache.camel.component.ssh.SshComponent
+    camel-quarkus-xslt-saxon:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-xslt-saxon
+      schemes:
+      - id: xslt-saxon
         http: false
         passive: false
-      - id: openstack-cinder
+      javaTypes:
+      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
+    camel-quarkus-kafka:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-kafka
+      schemes:
+      - id: kafka
         http: false
         passive: false
-      - id: openstack-nova
+      javaTypes:
+      - org.apache.camel.component.kafka.KafkaComponent
+    camel-quarkus-stream:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-stream
+      schemes:
+      - id: stream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.openstack.swift.SwiftComponent
-      - org.apache.camel.component.openstack.glance.GlanceComponent
-      - org.apache.camel.component.openstack.neutron.NeutronComponent
-      - org.apache.camel.component.openstack.keystone.KeystoneComponent
-      - org.apache.camel.component.openstack.cinder.CinderComponent
-      - org.apache.camel.component.openstack.nova.NovaComponent
-    camel-quarkus-barcode:
+      - org.apache.camel.component.stream.StreamComponent
+    camel-quarkus-browse:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-barcode
-      dataformats:
-      - barcode
+      artifactId: camel-quarkus-browse
+      schemes:
+      - id: browse
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-quarkus-snmp:
+      - org.apache.camel.component.browse.BrowseComponent
+    camel-quarkus-avro-rpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snmp
+      artifactId: camel-quarkus-avro-rpc
       schemes:
-      - id: snmp
+      - id: avro
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.snmp.SnmpComponent
-    camel-quarkus-aws2-ec2:
+      - org.apache.camel.component.avro.AvroComponent
+    camel-quarkus-google-calendar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ec2
+      artifactId: camel-quarkus-google-calendar
       schemes:
-      - id: aws2-ec2
+      - id: google-calendar-stream
+        http: false
+        passive: false
+      - id: google-calendar
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
-    camel-k-master:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-master
+      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
+      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
+    camel-quarkus-vertx-websocket:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-vertx-websocket
       schemes:
-      - id: master
+      - id: vertx-websocket
         http: false
         passive: false
-    camel-quarkus-master:
+      javaTypes:
+      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
+    camel-quarkus-jcache:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-master
+      artifactId: camel-quarkus-jcache
       schemes:
-      - id: master
+      - id: jcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-quarkus-mustache:
+      - org.apache.camel.component.jcache.JCacheComponent
+    camel-quarkus-salesforce:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mustache
+      artifactId: camel-quarkus-salesforce
       schemes:
-      - id: mustache
+      - id: salesforce
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-quarkus-djl:
+      - org.apache.camel.component.salesforce.SalesforceComponent
+    camel-quarkus-jbpm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-djl
+      artifactId: camel-quarkus-jbpm
       schemes:
-      - id: djl
+      - id: jbpm
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.djl.DJLComponent
-    camel-quarkus-bonita:
+      - org.apache.camel.component.jbpm.JBPMComponent
+    camel-quarkus-aws-ecs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bonita
+      artifactId: camel-quarkus-aws-ecs
       schemes:
-      - id: bonita
+      - id: aws-ecs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-quarkus-nagios:
+      - org.apache.camel.component.aws.ecs.ECSComponent
+    camel-quarkus-splunk-hec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nagios
+      artifactId: camel-quarkus-splunk-hec
       schemes:
-      - id: nagios
+      - id: splunk-hec
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-quarkus-crypto:
+      - org.apache.camel.component.splunkhec.SplunkHECComponent
+    camel-quarkus-lucene:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-crypto
+      artifactId: camel-quarkus-lucene
       schemes:
-      - id: crypto
+      - id: lucene
         http: false
         passive: false
-      dataformats:
-      - pgp
-      - crypto
       javaTypes:
-      - org.apache.camel.component.crypto.DigitalSignatureComponent
-      - org.apache.camel.converter.crypto.CryptoDataFormat
-      - org.apache.camel.converter.crypto.PGPDataFormat
-    camel-quarkus-cm-sms:
+      - org.apache.camel.component.lucene.LuceneComponent
+    camel-quarkus-aws2-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cm-sms
+      artifactId: camel-quarkus-aws2-kms
       schemes:
-      - id: cm-sms
+      - id: aws2-kms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cm.CMComponent
-    camel-quarkus-aws2-athena:
+      - org.apache.camel.component.aws2.kms.KMS2Component
+    camel-quarkus-csv:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-athena
+      artifactId: camel-quarkus-csv
+      dataformats:
+      - csv
+      javaTypes:
+      - org.apache.camel.dataformat.csv.CsvDataFormat
+    camel-quarkus-fhir:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-fhir
       schemes:
-      - id: aws2-athena
+      - id: fhir
         http: false
         passive: false
+      dataformats:
+      - fhirJson
+      - fhirXml
       javaTypes:
-      - org.apache.camel.component.aws2.athena.Athena2Component
-    camel-quarkus-kubernetes:
+      - org.apache.camel.component.fhir.FhirJsonDataFormat
+      - org.apache.camel.component.fhir.FhirXmlDataFormat
+      - org.apache.camel.component.fhir.FhirComponent
+    camel-quarkus-atomix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kubernetes
+      artifactId: camel-quarkus-atomix
       schemes:
-      - id: kubernetes-nodes
+      - id: atomix-messaging
         http: false
         passive: false
-      - id: kubernetes-namespaces
+      - id: atomix-set
         http: false
         passive: false
-      - id: kubernetes-custom-resources
+      - id: atomix-queue
         http: false
         passive: false
-      - id: openshift-builds
+      - id: atomix-map
         http: false
         passive: false
-      - id: kubernetes-resources-quota
+      - id: atomix-multimap
         http: false
         passive: false
-      - id: kubernetes-replication-controllers
+      - id: atomix-value
         http: false
         passive: false
-      - id: kubernetes-job
+      javaTypes:
+      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
+      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
+      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
+      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
+      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
+      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
+    camel-quarkus-milo:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-milo
+      schemes:
+      - id: milo-client
         http: false
         passive: false
-      - id: openshift-build-configs
+      - id: milo-server
         http: false
         passive: false
-      - id: kubernetes-service-accounts
+      javaTypes:
+      - org.apache.camel.component.milo.server.MiloServerComponent
+      - org.apache.camel.component.milo.client.MiloClientComponent
+    camel-quarkus-ahc:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ahc
+      schemes:
+      - id: ahc
+        http: true
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ahc.AhcComponent
+    camel-quarkus-log:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-log
+      schemes:
+      - id: log
+        http: false
+        passive: true
+      javaTypes:
+      - org.apache.camel.component.log.LogComponent
+    camel-quarkus-graphql:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-graphql
+      schemes:
+      - id: graphql
         http: false
         passive: false
-      - id: kubernetes-secrets
+      javaTypes:
+      - org.apache.camel.component.graphql.GraphqlComponent
+    camel-quarkus-disruptor:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-disruptor
+      schemes:
+      - id: disruptor-vm
         http: false
         passive: false
-      - id: kubernetes-services
+      - id: disruptor
         http: false
         passive: false
-      - id: kubernetes-persistent-volumes
+      javaTypes:
+      - org.apache.camel.component.disruptor.DisruptorComponent
+      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
+    camel-quarkus-hl7:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-hl7
+      languages:
+      - hl7terser
+      dataformats:
+      - hl7
+      javaTypes:
+      - org.apache.camel.component.hl7.HL7DataFormat
+      - org.apache.camel.component.hl7.Hl7TerserLanguage
+    camel-quarkus-jsonpath:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jsonpath
+      languages:
+      - jsonpath
+      javaTypes:
+      - org.apache.camel.jsonpath.JsonPathLanguage
+    camel-quarkus-jooq:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jooq
+      schemes:
+      - id: jooq
         http: false
         passive: false
-      - id: kubernetes-config-maps
+      javaTypes:
+      - org.apache.camel.component.jooq.JooqComponent
+    camel-quarkus-kudu:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-kudu
+      schemes:
+      - id: kudu
         http: false
         passive: false
-      - id: kubernetes-pods
+      javaTypes:
+      - org.apache.camel.component.kudu.KuduComponent
+    camel-quarkus-hdfs:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-hdfs
+      schemes:
+      - id: hdfs
         http: false
         passive: false
-      - id: kubernetes-persistent-volumes-claims
+      javaTypes:
+      - org.apache.camel.component.hdfs.HdfsComponent
+    camel-quarkus-jcr:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jcr
+      schemes:
+      - id: jcr
         http: false
         passive: false
-      - id: kubernetes-deployments
+      javaTypes:
+      - org.apache.camel.component.jcr.JcrComponent
+    camel-quarkus-debezium-mysql:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-debezium-mysql
+      schemes:
+      - id: debezium-mysql
         http: false
         passive: false
-      - id: kubernetes-hpa
+      javaTypes:
+      - org.apache.camel.component.debezium.DebeziumMySqlComponent
+    camel-quarkus-core:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-core
+      languages:
+      - exchangeProperty
+      - csimple
+      - constant
+      - ref
+      - simple
+      - header
+      - file
+      - tokenize
+      javaTypes:
+      - org.apache.camel.language.ref.RefLanguage
+      - org.apache.camel.language.tokenizer.TokenizeLanguage
+      - org.apache.camel.language.property.ExchangePropertyLanguage
+      - org.apache.camel.language.header.HeaderLanguage
+      - org.apache.camel.language.simple.SimpleLanguage
+      - org.apache.camel.language.constant.ConstantLanguage
+      - org.apache.camel.language.csimple.CSimpleLanguage
+      - org.apache.camel.language.simple.FileLanguage
+    camel-quarkus-velocity:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-velocity
+      schemes:
+      - id: velocity
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
-      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
-      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
-      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
-      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
-      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
-      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
-      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
-      - org.apache.camel.component.kubernetes.customresources.KubernetesCustomResourcesComponent
-      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
-      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
-      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
-      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
-      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
-      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
-    camel-quarkus-pdf:
+      - org.apache.camel.component.velocity.VelocityComponent
+    camel-quarkus-aws2-iam:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pdf
+      artifactId: camel-quarkus-aws2-iam
       schemes:
-      - id: pdf
+      - id: aws2-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pdf.PdfComponent
-    camel-k-cron:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-cron
+      - org.apache.camel.component.aws2.iam.IAM2Component
+    camel-quarkus-ehcache:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-ehcache
       schemes:
-      - id: cron
+      - id: ehcache
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.ehcache.EhcacheComponent
+    camel-quarkus-sql:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-sql
+      schemes:
+      - id: sql-stored
         http: false
         passive: false
-    camel-quarkus-aws2-lambda:
+      - id: sql
+        http: false
+        passive: false
+      javaTypes:
+      - org.apache.camel.component.sql.SqlComponent
+      - org.apache.camel.component.sql.stored.SqlStoredComponent
+    camel-quarkus-jira:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-lambda
+      artifactId: camel-quarkus-jira
       schemes:
-      - id: aws2-lambda
+      - id: jira
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.lambda.Lambda2Component
-    camel-quarkus-stringtemplate:
+      - org.apache.camel.component.jira.JiraComponent
+    camel-quarkus-bean-validator:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stringtemplate
+      artifactId: camel-quarkus-bean-validator
       schemes:
-      - id: string-template
+      - id: bean-validator
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-quarkus-stomp:
+      - org.apache.camel.component.bean.validator.BeanValidatorComponent
+    camel-quarkus-elasticsearch-rest:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stomp
+      artifactId: camel-quarkus-elasticsearch-rest
       schemes:
-      - id: stomp
+      - id: elasticsearch-rest
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
-    camel-quarkus-google-sheets:
+      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
+    camel-quarkus-caffeine:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-sheets
+      artifactId: camel-quarkus-caffeine
       schemes:
-      - id: google-sheets
+      - id: caffeine-cache
         http: false
         passive: false
-      - id: google-sheets-stream
+      - id: caffeine-loadcache
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
-      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
-    camel-quarkus-ftp:
+      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
+      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
+    camel-quarkus-saxon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ftp
+      artifactId: camel-quarkus-saxon
       schemes:
-      - id: sftp
-        http: false
-        passive: false
-      - id: ftps
+      - id: xquery
         http: false
         passive: false
-      - id: ftp
+      languages:
+      - xquery
+      javaTypes:
+      - org.apache.camel.language.xquery.XQueryLanguage
+      - org.apache.camel.component.xquery.XQueryComponent
+    camel-quarkus-spark:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-spark
+      schemes:
+      - id: spark
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.FtpComponent
-      - org.apache.camel.component.file.remote.SftpComponent
-    camel-quarkus-validator:
+      - org.apache.camel.component.spark.SparkComponent
+    camel-quarkus-msv:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-validator
+      artifactId: camel-quarkus-msv
       schemes:
-      - id: validator
+      - id: msv
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.validator.ValidatorComponent
-    camel-quarkus-jackson:
+      - org.apache.camel.component.validator.msv.MsvComponent
+    camel-quarkus-avro:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jackson
+      artifactId: camel-quarkus-avro
       dataformats:
-      - json-jackson
+      - avro
       javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-quarkus-printer:
+      - org.apache.camel.dataformat.avro.AvroDataFormat
+    camel-quarkus-tarfile:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-printer
-      schemes:
-      - id: lpr
-        http: false
-        passive: false
+      artifactId: camel-quarkus-tarfile
+      dataformats:
+      - tarfile
       javaTypes:
-      - org.apache.camel.component.printer.PrinterComponent
-    camel-quarkus-google-pubsub:
+      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
+    camel-quarkus-aws2-sts:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-pubsub
+      artifactId: camel-quarkus-aws2-sts
       schemes:
-      - id: google-pubsub
+      - id: aws2-sts
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-quarkus-cmis:
+      - org.apache.camel.component.aws2.sts.STS2Component
+    camel-quarkus-atlasmap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cmis
+      artifactId: camel-quarkus-atlasmap
       schemes:
-      - id: cmis
+      - id: atlasmap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-quarkus-aws2-ses:
+      - org.apache.camel.component.atlasmap.AtlasMapComponent
+    camel-quarkus-minio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ses
+      artifactId: camel-quarkus-minio
       schemes:
-      - id: aws2-ses
+      - id: minio
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ses.Ses2Component
-    camel-quarkus-hazelcast:
+      - org.apache.camel.component.minio.MinioComponent
+    camel-quarkus-aws-lambda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hazelcast
+      artifactId: camel-quarkus-aws-lambda
       schemes:
-      - id: hazelcast-seda
-        http: false
-        passive: false
-      - id: hazelcast-map
-        http: false
-        passive: false
-      - id: hazelcast-set
-        http: false
-        passive: false
-      - id: hazelcast-queue
-        http: false
-        passive: false
-      - id: hazelcast-list
-        http: false
-        passive: false
-      - id: hazelcast-instance
-        http: false
-        passive: false
-      - id: hazelcast-ringbuffer
-        http: false
-        passive: false
-      - id: hazelcast-atomicvalue
-        http: false
-        passive: false
-      - id: hazelcast-replicatedmap
-        http: false
-        passive: false
-      - id: hazelcast-topic
-        http: false
-        passive: false
-      - id: hazelcast-multimap
+      - id: aws-lambda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
-      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
-      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
-      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
-      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
-      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
-      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
-      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
-      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
-      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
-      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
-    camel-quarkus-box:
+      - org.apache.camel.component.aws.lambda.LambdaComponent
+    camel-quarkus-xmpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-box
+      artifactId: camel-quarkus-xmpp
       schemes:
-      - id: box
+      - id: xmpp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-quarkus-wordpress:
+      - org.apache.camel.component.xmpp.XmppComponent
+    camel-quarkus-aws2-eventbridge:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-wordpress
+      artifactId: camel-quarkus-aws2-eventbridge
       schemes:
-      - id: wordpress
+      - id: aws2-eventbridge
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-quarkus-vertx-http:
+      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
+    camel-quarkus-github:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-http
+      artifactId: camel-quarkus-github
       schemes:
-      - id: vertx-http
+      - id: github
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.http.VertxHttpComponent
-    camel-quarkus-aws2-translate:
+      - org.apache.camel.component.github.GitHubComponent
+    camel-quarkus-corda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-translate
+      artifactId: camel-quarkus-corda
       schemes:
-      - id: aws2-translate
+      - id: corda
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.translate.Translate2Component
-    camel-quarkus-ahc-ws:
+      - org.apache.camel.component.corda.CordaComponent
+    camel-quarkus-xml-jaxp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc-ws
-      schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
-        http: false
-        passive: false
+      artifactId: camel-quarkus-xml-jaxp
+      languages:
+      - xtokenize
       javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-quarkus-mllp:
+      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
+    camel-quarkus-ldif:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mllp
+      artifactId: camel-quarkus-ldif
       schemes:
-      - id: mllp
+      - id: ldif
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-quarkus-irc:
+      - org.apache.camel.component.ldif.LdifComponent
+    camel-quarkus-aws-ec2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-irc
+      artifactId: camel-quarkus-aws-ec2
       schemes:
-      - id: irc
+      - id: aws-ec2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-quarkus-jsch:
+      - org.apache.camel.component.aws.ec2.EC2Component
+    camel-quarkus-web3j:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsch
+      artifactId: camel-quarkus-web3j
       schemes:
-      - id: scp
+      - id: web3j
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-quarkus-beanio:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanio
-      dataformats:
-      - beanio
-      javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-quarkus-aws2-mq:
+      - org.apache.camel.component.web3j.Web3jComponent
+    camel-quarkus-ignite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-mq
+      artifactId: camel-quarkus-ignite
       schemes:
-      - id: aws2-mq
+      - id: ignite-cache
+        http: false
+        passive: false
+      - id: ignite-compute
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.mq.MQ2Component
-    camel-quarkus-coap:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-coap
-      schemes:
-      - id: coaps
+      - id: ignite-messaging
         http: false
         passive: false
-      - id: coaps+tcp
+      - id: ignite-events
         http: false
         passive: false
-      - id: coap
+      - id: ignite-queue
         http: false
         passive: false
-      - id: coap+tcp
+      - id: ignite-set
+        http: false
+        passive: false
+      - id: ignite-idgen
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-quarkus-tika:
+      - org.apache.camel.component.ignite.events.IgniteEventsComponent
+      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
+      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
+      - org.apache.camel.component.ignite.set.IgniteSetComponent
+      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
+      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
+      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
+    camel-quarkus-mongodb-gridfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tika
+      artifactId: camel-quarkus-mongodb-gridfs
       schemes:
-      - id: tika
+      - id: mongodb-gridfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-quarkus-ssh:
+      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
+    camel-quarkus-cron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ssh
+      artifactId: camel-quarkus-cron
       schemes:
-      - id: ssh
+      - id: cron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-quarkus-xslt-saxon:
+      - org.apache.camel.component.cron.CronComponent
+    camel-quarkus-azure-storage-queue:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt-saxon
+      artifactId: camel-quarkus-azure-storage-queue
       schemes:
-      - id: xslt-saxon
+      - id: azure-storage-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-quarkus-kafka:
+      - org.apache.camel.component.azure.storage.queue.QueueComponent
+    camel-quarkus-reactive-streams:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kafka
+      artifactId: camel-quarkus-reactive-streams
       schemes:
-      - id: kafka
+      - id: reactive-streams
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-quarkus-stream:
+      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
+    camel-quarkus-rabbitmq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stream
+      artifactId: camel-quarkus-rabbitmq
       schemes:
-      - id: stream
+      - id: rabbitmq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-quarkus-browse:
+      - org.apache.camel.component.rabbitmq.RabbitMQComponent
+    camel-quarkus-chatscript:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-browse
+      artifactId: camel-quarkus-chatscript
       schemes:
-      - id: browse
+      - id: chatscript
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-quarkus-avro-rpc:
+      - org.apache.camel.component.chatscript.ChatScriptComponent
+    camel-quarkus-aws-translate:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro-rpc
+      artifactId: camel-quarkus-aws-translate
       schemes:
-      - id: avro
+      - id: aws-translate
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-    camel-quarkus-google-calendar:
+      - org.apache.camel.component.aws.translate.TranslateComponent
+    camel-quarkus-azure:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-google-calendar
+      artifactId: camel-quarkus-azure
       schemes:
-      - id: google-calendar-stream
+      - id: azure-blob
         http: false
         passive: false
-      - id: google-calendar
+      - id: azure-queue
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
-      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
-    camel-quarkus-vertx-websocket:
+      - org.apache.camel.component.azure.queue.QueueServiceComponent
+      - org.apache.camel.component.azure.blob.BlobServiceComponent
+    camel-quarkus-xmlsecurity:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx-websocket
+      artifactId: camel-quarkus-xmlsecurity
       schemes:
-      - id: vertx-websocket
+      - id: xmlsecurity-verify
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.vertx.websocket.VertxWebsocketComponent
-    camel-quarkus-jcache:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcache
-      schemes:
-      - id: jcache
+      - id: xmlsecurity-sign
         http: false
         passive: false
+      dataformats:
+      - secureXML
       javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-quarkus-salesforce:
+      - org.apache.camel.component.xmlsecurity.XmlSignerComponent
+      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
+      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
+    camel-quarkus-groovy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-salesforce
-      schemes:
-      - id: salesforce
-        http: false
-        passive: false
+      artifactId: camel-quarkus-groovy
+      languages:
+      - groovy
       javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-quarkus-jbpm:
+      - org.apache.camel.language.groovy.GroovyLanguage
+    camel-quarkus-rest:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jbpm
+      artifactId: camel-quarkus-rest
       schemes:
-      - id: jbpm
+      - id: rest
+        http: true
+        passive: false
+      - id: rest-api
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-quarkus-aws-ecs:
+      - org.apache.camel.component.rest.RestComponent
+      - org.apache.camel.component.rest.RestApiComponent
+    camel-quarkus-xslt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ecs
+      artifactId: camel-quarkus-xslt
       schemes:
-      - id: aws-ecs
+      - id: xslt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-quarkus-splunk-hec:
+      - org.apache.camel.component.xslt.XsltComponent
+    camel-quarkus-beanstalk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-splunk-hec
+      artifactId: camel-quarkus-beanstalk
       schemes:
-      - id: splunk-hec
+      - id: beanstalk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.splunkhec.SplunkHECComponent
-    camel-quarkus-lucene:
+      - org.apache.camel.component.beanstalk.BeanstalkComponent
+    camel-quarkus-saga:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lucene
+      artifactId: camel-quarkus-saga
       schemes:
-      - id: lucene
+      - id: saga
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-quarkus-aws2-kms:
+      - org.apache.camel.component.saga.SagaComponent
+    camel-quarkus-fop:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kms
+      artifactId: camel-quarkus-fop
       schemes:
-      - id: aws2-kms
+      - id: fop
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.kms.KMS2Component
-    camel-quarkus-csv:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-csv
-      dataformats:
-      - csv
-      javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-quarkus-fhir:
+      - org.apache.camel.component.fop.FopComponent
+    camel-quarkus-johnzon:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fhir
-      schemes:
-      - id: fhir
-        http: false
-        passive: false
+      artifactId: camel-quarkus-johnzon
       dataformats:
-      - fhirJson
-      - fhirXml
+      - json-johnzon
       javaTypes:
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-      - org.apache.camel.component.fhir.FhirComponent
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-    camel-quarkus-atomix:
+      - org.apache.camel.component.johnzon.JohnzonDataFormat
+    camel-quarkus-solr:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atomix
+      artifactId: camel-quarkus-solr
       schemes:
-      - id: atomix-multimap
-        http: false
-        passive: false
-      - id: atomix-value
-        http: false
-        passive: false
-      - id: atomix-messaging
-        http: false
-        passive: false
-      - id: atomix-set
-        http: false
-        passive: false
-      - id: atomix-queue
-        http: false
-        passive: false
-      - id: atomix-map
+      - id: solrCloud
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
-      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
-      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
-      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
-      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
-      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
-    camel-quarkus-milo:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-milo
-      schemes:
-      - id: milo-client
+      - id: solrs
         http: false
         passive: false
-      - id: milo-server
+      - id: solr
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.milo.server.MiloServerComponent
-      - org.apache.camel.component.milo.client.MiloClientComponent
-    camel-quarkus-ahc:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ahc
-      schemes:
-      - id: ahc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-quarkus-log:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-log
-      schemes:
-      - id: log
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-quarkus-graphql:
+      - org.apache.camel.component.solr.SolrComponent
+    camel-quarkus-quickfix:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-graphql
+      artifactId: camel-quarkus-quickfix
       schemes:
-      - id: graphql
+      - id: quickfix
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-quarkus-disruptor:
+      - org.apache.camel.component.quickfixj.QuickfixjComponent
+    camel-quarkus-jclouds:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-disruptor
+      artifactId: camel-quarkus-jclouds
       schemes:
-      - id: disruptor-vm
-        http: false
-        passive: false
-      - id: disruptor
+      - id: jclouds
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.disruptor.DisruptorComponent
-      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
-    camel-quarkus-hl7:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hl7
-      languages:
-      - hl7terser
-      dataformats:
-      - hl7
-      javaTypes:
-      - org.apache.camel.component.hl7.HL7DataFormat
-      - org.apache.camel.component.hl7.Hl7TerserLanguage
-    camel-quarkus-jsonpath:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-quarkus-jooq:
+      - org.apache.camel.component.jclouds.JcloudsComponent
+    camel-quarkus-rest-openapi:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jooq
+      artifactId: camel-quarkus-rest-openapi
       schemes:
-      - id: jooq
+      - id: rest-openapi
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-quarkus-kudu:
+      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
+    camel-quarkus-file-watch:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-kudu
+      artifactId: camel-quarkus-file-watch
       schemes:
-      - id: kudu
+      - id: file-watch
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-quarkus-hdfs:
+      - org.apache.camel.component.file.watch.FileWatchComponent
+    camel-quarkus-robotframework:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hdfs
+      artifactId: camel-quarkus-robotframework
       schemes:
-      - id: hdfs
+      - id: robotframework
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-quarkus-jcr:
+      - org.apache.camel.component.robotframework.RobotFrameworkComponent
+    camel-quarkus-file:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jcr
+      artifactId: camel-quarkus-file
       schemes:
-      - id: jcr
+      - id: file
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-quarkus-debezium-mysql:
+      - org.apache.camel.component.file.FileComponent
+    camel-quarkus-mybatis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mysql
+      artifactId: camel-quarkus-mybatis
       schemes:
-      - id: debezium-mysql
+      - id: mybatis-bean
+        http: false
+        passive: false
+      - id: mybatis
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-quarkus-core:
+      - org.apache.camel.component.mybatis.MyBatisComponent
+      - org.apache.camel.component.mybatis.MyBatisBeanComponent
+    camel-quarkus-cbor:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-core
-      languages:
-      - header
-      - file
-      - tokenize
-      - exchangeProperty
-      - csimple
-      - constant
-      - ref
-      - simple
+      artifactId: camel-quarkus-cbor
+      dataformats:
+      - cbor
       javaTypes:
-      - org.apache.camel.language.csimple.CSimpleLanguage
-      - org.apache.camel.language.simple.FileLanguage
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - org.apache.camel.language.header.HeaderLanguage
-      - org.apache.camel.language.simple.SimpleLanguage
-      - org.apache.camel.language.constant.ConstantLanguage
-    camel-quarkus-velocity:
+      - org.apache.camel.component.cbor.CBORDataFormat
+    camel-quarkus-elsql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-velocity
+      artifactId: camel-quarkus-elsql
       schemes:
-      - id: velocity
+      - id: elsql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-quarkus-aws2-iam:
+      - org.apache.camel.component.elsql.ElsqlComponent
+    camel-quarkus-micrometer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-iam
+      artifactId: camel-quarkus-micrometer
       schemes:
-      - id: aws2-iam
+      - id: micrometer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.iam.IAM2Component
-    camel-quarkus-ehcache:
+      - org.apache.camel.component.micrometer.MicrometerComponent
+    camel-quarkus-netty:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ehcache
+      artifactId: camel-quarkus-netty
       schemes:
-      - id: ehcache
+      - id: netty
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-quarkus-sql:
+      - org.apache.camel.component.netty.NettyComponent
+    camel-quarkus-jolt:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sql
+      artifactId: camel-quarkus-jolt
       schemes:
-      - id: sql-stored
-        http: false
-        passive: false
-      - id: sql
+      - id: jolt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-quarkus-jira:
+      - org.apache.camel.component.jolt.JoltComponent
+    camel-quarkus-http:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jira
+      artifactId: camel-quarkus-http
       schemes:
-      - id: jira
+      - id: https
+        http: false
+        passive: false
+      - id: http
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-quarkus-bean-validator:
+      - org.apache.camel.component.http.HttpComponent
+    camel-quarkus-telegram:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean-validator
+      artifactId: camel-quarkus-telegram
       schemes:
-      - id: bean-validator
+      - id: telegram
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-quarkus-elasticsearch-rest:
+      - org.apache.camel.component.telegram.TelegramComponent
+    camel-quarkus-ganglia:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elasticsearch-rest
+      artifactId: camel-quarkus-ganglia
       schemes:
-      - id: elasticsearch-rest
+      - id: ganglia
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-quarkus-caffeine:
+      - org.apache.camel.component.ganglia.GangliaComponent
+    camel-quarkus-aws2-kinesis:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-caffeine
+      artifactId: camel-quarkus-aws2-kinesis
       schemes:
-      - id: caffeine-cache
+      - id: aws2-kinesis
         http: false
         passive: false
-      - id: caffeine-loadcache
+      - id: aws2-kinesis-firehose
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
-      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
-    camel-quarkus-saxon:
+      - org.apache.camel.component.aws2.kinesis.Kinesis2Component
+      - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component
+    camel-quarkus-twitter:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saxon
+      artifactId: camel-quarkus-twitter
       schemes:
-      - id: xquery
+      - id: twitter-search
         http: false
         passive: false
-      languages:
-      - xquery
-      javaTypes:
-      - org.apache.camel.language.xquery.XQueryLanguage
-      - org.apache.camel.component.xquery.XQueryComponent
-    camel-quarkus-spark:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-spark
-      schemes:
-      - id: spark
+      - id: twitter-timeline
+        http: false
+        passive: false
+      - id: twitter-directmessage
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-quarkus-msv:
+      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
+      - org.apache.camel.component.twitter.search.TwitterSearchComponent
+      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
+    camel-quarkus-aws-swf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-msv
+      artifactId: camel-quarkus-aws-swf
       schemes:
-      - id: msv
+      - id: aws-swf
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-quarkus-avro:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-avro
-      dataformats:
-      - avro
-      javaTypes:
-      - org.apache.camel.dataformat.avro.AvroDataFormat
-    camel-quarkus-tarfile:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-tarfile
-      dataformats:
-      - tarfile
-      javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-quarkus-aws2-sts:
+      - org.apache.camel.component.aws.swf.SWFComponent
+    camel-quarkus-pubnub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sts
+      artifactId: camel-quarkus-pubnub
       schemes:
-      - id: aws2-sts
+      - id: pubnub
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sts.STS2Component
-    camel-quarkus-atlasmap:
+      - org.apache.camel.component.pubnub.PubNubComponent
+    camel-quarkus-stub:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-atlasmap
+      artifactId: camel-quarkus-stub
       schemes:
-      - id: atlasmap
+      - id: stub
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.atlasmap.AtlasMapComponent
-    camel-quarkus-minio:
+      - org.apache.camel.component.stub.StubComponent
+    camel-quarkus-aws2-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-minio
+      artifactId: camel-quarkus-aws2-sqs
       schemes:
-      - id: minio
+      - id: aws2-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.minio.MinioComponent
-    camel-quarkus-aws-lambda:
+      - org.apache.camel.component.aws2.sqs.Sqs2Component
+    camel-quarkus-jt400:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-lambda
+      artifactId: camel-quarkus-jt400
       schemes:
-      - id: aws-lambda
+      - id: jt400
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-quarkus-xmpp:
+      - org.apache.camel.component.jt400.Jt400Component
+    camel-quarkus-iota:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmpp
+      artifactId: camel-quarkus-iota
       schemes:
-      - id: xmpp
+      - id: iota
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-quarkus-aws2-eventbridge:
+      - org.apache.camel.component.iota.IOTAComponent
+    camel-quarkus-jsonapi:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eventbridge
+      artifactId: camel-quarkus-jsonapi
+      dataformats:
+      - jsonApi
+      javaTypes:
+      - org.apache.camel.component.jsonapi.JsonApiDataFormat
+    camel-quarkus-aws2-eks:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-eks
       schemes:
-      - id: aws2-eventbridge
+      - id: aws2-eks
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eventbridge.EventbridgeComponent
-    camel-quarkus-github:
+      - org.apache.camel.component.aws2.eks.EKS2Component
+    camel-quarkus-weather:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-github
+      artifactId: camel-quarkus-weather
       schemes:
-      - id: github
+      - id: weather
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-quarkus-corda:
+      - org.apache.camel.component.weather.WeatherComponent
+    camel-quarkus-scheduler:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-corda
+      artifactId: camel-quarkus-scheduler
       schemes:
-      - id: corda
+      - id: scheduler
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-quarkus-xml-jaxp:
+      - org.apache.camel.component.scheduler.SchedulerComponent
+    camel-quarkus-jaxb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xml-jaxp
-      languages:
-      - xtokenize
+      artifactId: camel-quarkus-jaxb
+      dataformats:
+      - jaxb
       javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-quarkus-ldif:
+      - org.apache.camel.converter.jaxb.JaxbDataFormat
+    camel-quarkus-jing:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ldif
+      artifactId: camel-quarkus-jing
       schemes:
-      - id: ldif
+      - id: jing
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-quarkus-aws-ec2:
+      - org.apache.camel.component.validator.jing.JingComponent
+    camel-quarkus-dataformat:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-ec2
+      artifactId: camel-quarkus-dataformat
       schemes:
-      - id: aws-ec2
+      - id: dataformat
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-quarkus-web3j:
+      - org.apache.camel.component.dataformat.DataFormatComponent
+    camel-quarkus-jgroups:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-web3j
+      artifactId: camel-quarkus-jgroups
       schemes:
-      - id: web3j
+      - id: jgroups
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-quarkus-ignite:
+      - org.apache.camel.component.jgroups.JGroupsComponent
+    camel-quarkus-yammer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ignite
+      artifactId: camel-quarkus-yammer
       schemes:
-      - id: ignite-events
-        http: false
-        passive: false
-      - id: ignite-queue
-        http: false
-        passive: false
-      - id: ignite-set
-        http: false
-        passive: false
-      - id: ignite-idgen
-        http: false
-        passive: false
-      - id: ignite-cache
-        http: false
-        passive: false
-      - id: ignite-compute
-        http: false
-        passive: false
-      - id: ignite-messaging
+      - id: yammer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
-      - org.apache.camel.component.ignite.set.IgniteSetComponent
-      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
-      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
-      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
-      - org.apache.camel.component.ignite.events.IgniteEventsComponent
-      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
-    camel-quarkus-mongodb-gridfs:
+      - org.apache.camel.component.yammer.YammerComponent
+    camel-quarkus-hbase:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mongodb-gridfs
+      artifactId: camel-quarkus-hbase
       schemes:
-      - id: mongodb-gridfs
+      - id: hbase
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-quarkus-cron:
+      - org.apache.camel.component.hbase.HBaseComponent
+    camel-quarkus-aws-sdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cron
+      artifactId: camel-quarkus-aws-sdb
       schemes:
-      - id: cron
+      - id: aws-sdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.cron.CronComponent
-    camel-quarkus-azure-storage-queue:
+      - org.apache.camel.component.aws.sdb.SdbComponent
+    camel-quarkus-sap-netweaver:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure-storage-queue
+      artifactId: camel-quarkus-sap-netweaver
       schemes:
-      - id: azure-storage-queue
+      - id: sap-netweaver
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.storage.queue.QueueComponent
-    camel-quarkus-reactive-streams:
+      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
+    camel-quarkus-servicenow:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-reactive-streams
+      artifactId: camel-quarkus-servicenow
       schemes:
-      - id: reactive-streams
+      - id: servicenow
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-quarkus-rabbitmq:
+      - org.apache.camel.component.servicenow.ServiceNowComponent
+    camel-quarkus-grpc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rabbitmq
+      artifactId: camel-quarkus-grpc
       schemes:
-      - id: rabbitmq
-        http: false
+      - id: grpc
+        http: true
         passive: false
       javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-quarkus-chatscript:
+      - org.apache.camel.component.grpc.GrpcComponent
+    camel-quarkus-ipfs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-chatscript
+      artifactId: camel-quarkus-ipfs
       schemes:
-      - id: chatscript
+      - id: ipfs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-quarkus-aws-translate:
+      - org.apache.camel.component.ipfs.IPFSComponent
+    camel-quarkus-aws-kms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-translate
+      artifactId: camel-quarkus-aws-kms
       schemes:
-      - id: aws-translate
+      - id: aws-kms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-quarkus-azure:
+      - org.apache.camel.component.aws.kms.KMSComponent
+    camel-quarkus-stax:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-azure
+      artifactId: camel-quarkus-stax
       schemes:
-      - id: azure-blob
-        http: false
-        passive: false
-      - id: azure-queue
+      - id: stax
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.azure.queue.QueueServiceComponent
-      - org.apache.camel.component.azure.blob.BlobServiceComponent
-    camel-quarkus-xmlsecurity:
+      - org.apache.camel.component.stax.StAXComponent
+    camel-quarkus-aws2-msk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xmlsecurity
+      artifactId: camel-quarkus-aws2-msk
       schemes:
-      - id: xmlsecurity-verify
+      - id: aws2-msk
         http: false
         passive: false
-      - id: xmlsecurity-sign
+      javaTypes:
+      - org.apache.camel.component.aws2.msk.MSK2Component
+    camel-quarkus-debezium-sqlserver:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-debezium-sqlserver
+      schemes:
+      - id: debezium-sqlserver
         http: false
         passive: false
+      javaTypes:
+      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
+    camel-quarkus-snakeyaml:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-snakeyaml
       dataformats:
-      - secureXML
+      - yaml-snakeyaml
       javaTypes:
-      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
-      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
-      - org.apache.camel.component.xmlsecurity.XmlSignerComponent
-    camel-quarkus-groovy:
+      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
+    camel-quarkus-fastjson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-groovy
-      languages:
-      - groovy
+      artifactId: camel-quarkus-fastjson
+      dataformats:
+      - json-fastjson
       javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-quarkus-rest:
+      - org.apache.camel.component.fastjson.FastjsonDataFormat
+    camel-quarkus-xj:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest
+      artifactId: camel-quarkus-xj
       schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
+      - id: xj
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-quarkus-xslt:
+      - org.apache.camel.component.xj.XJComponent
+    camel-quarkus-direct:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xslt
+      artifactId: camel-quarkus-direct
       schemes:
-      - id: xslt
+      - id: direct
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-quarkus-beanstalk:
+      - org.apache.camel.component.direct.DirectComponent
+    camel-quarkus-bean:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-beanstalk
+      artifactId: camel-quarkus-bean
       schemes:
-      - id: beanstalk
+      - id: bean
+        http: false
+        passive: true
+      - id: class
+        http: false
+        passive: true
+      languages:
+      - bean
+      javaTypes:
+      - org.apache.camel.component.beanclass.ClassComponent
+      - org.apache.camel.component.bean.BeanComponent
+      - org.apache.camel.language.bean.BeanLanguage
+    camel-quarkus-aws-s3:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-s3
+      schemes:
+      - id: aws-s3
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-quarkus-saga:
+      - org.apache.camel.component.aws.s3.S3Component
+    camel-quarkus-grok:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-grok
+      dataformats:
+      - grok
+      javaTypes:
+      - org.apache.camel.component.grok.GrokDataFormat
+    camel-quarkus-couchdb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-saga
+      artifactId: camel-quarkus-couchdb
       schemes:
-      - id: saga
+      - id: couchdb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.saga.SagaComponent
-    camel-quarkus-fop:
+      - org.apache.camel.component.couchdb.CouchDbComponent
+    camel-quarkus-workday:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fop
+      artifactId: camel-quarkus-workday
       schemes:
-      - id: fop
+      - id: workday
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.fop.FopComponent
-    camel-quarkus-johnzon:
+      - org.apache.camel.component.workday.WorkdayComponent
+    camel-quarkus-zip-deflater:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-johnzon
+      artifactId: camel-quarkus-zip-deflater
       dataformats:
-      - json-johnzon
+      - gzipdeflater
+      - zipdeflater
       javaTypes:
-      - org.apache.camel.component.johnzon.JohnzonDataFormat
-    camel-quarkus-solr:
+      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
+      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
+    camel-quarkus-smpp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-solr
+      artifactId: camel-quarkus-smpp
       schemes:
-      - id: solrs
+      - id: smpps
         http: false
         passive: false
-      - id: solr
+      - id: smpp
         http: false
         passive: false
-      - id: solrCloud
+      javaTypes:
+      - org.apache.camel.component.smpp.SmppComponent
+    camel-quarkus-syslog:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-syslog
+      dataformats:
+      - syslog
+      javaTypes:
+      - org.apache.camel.component.syslog.SyslogDataFormat
+    camel-quarkus-aws-iam:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws-iam
+      schemes:
+      - id: aws-iam
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.solr.SolrComponent
-    camel-quarkus-quickfix:
+      - org.apache.camel.component.aws.iam.IAMComponent
+    camel-quarkus-debezium-postgres:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-quickfix
+      artifactId: camel-quarkus-debezium-postgres
       schemes:
-      - id: quickfix
+      - id: debezium-postgres
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-quarkus-jclouds:
+      - org.apache.camel.component.debezium.DebeziumPostgresComponent
+    camel-quarkus-flink:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jclouds
+      artifactId: camel-quarkus-flink
       schemes:
-      - id: jclouds
+      - id: flink
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quarkus-rest-openapi:
+      - org.apache.camel.component.flink.FlinkComponent
+    camel-quarkus-amqp:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-rest-openapi
+      artifactId: camel-quarkus-amqp
       schemes:
-      - id: rest-openapi
+      - id: amqp
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
-    camel-quarkus-file-watch:
+      - org.apache.camel.component.amqp.AMQPComponent
+    camel-quarkus-guava-eventbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file-watch
+      artifactId: camel-quarkus-guava-eventbus
       schemes:
-      - id: file-watch
+      - id: guava-eventbus
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-quarkus-robotframework:
+      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
+    camel-quarkus-pulsar:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-robotframework
+      artifactId: camel-quarkus-pulsar
       schemes:
-      - id: robotframework
+      - id: pulsar
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-quarkus-file:
+      - org.apache.camel.component.pulsar.PulsarComponent
+    camel-quarkus-jpa:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-file
+      artifactId: camel-quarkus-jpa
       schemes:
-      - id: file
+      - id: jpa
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-quarkus-mybatis:
+      - org.apache.camel.component.jpa.JpaComponent
+    camel-quarkus-aws2-ddb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mybatis
+      artifactId: camel-quarkus-aws2-ddb
       schemes:
-      - id: mybatis-bean
+      - id: aws2-ddb
         http: false
         passive: false
-      - id: mybatis
+      - id: aws2-ddbstream
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.mybatis.MyBatisComponent
-      - org.apache.camel.component.mybatis.MyBatisBeanComponent
-    camel-quarkus-cbor:
+      - org.apache.camel.component.aws2.ddb.Ddb2Component
+      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
+    camel-quarkus-mock:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-cbor
-      dataformats:
-      - cbor
+      artifactId: camel-quarkus-mock
+      schemes:
+      - id: mock
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.cbor.CBORDataFormat
-    camel-quarkus-elsql:
+      - org.apache.camel.component.mock.MockComponent
+    camel-quarkus-iec60870:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-elsql
+      artifactId: camel-quarkus-iec60870
       schemes:
-      - id: elsql
+      - id: iec60870-server
+        http: false
+        passive: false
+      - id: iec60870-client
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-quarkus-micrometer:
+      - org.apache.camel.component.iec60870.client.ClientComponent
+      - org.apache.camel.component.iec60870.server.ServerComponent
+    camel-quarkus-weka:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-micrometer
+      artifactId: camel-quarkus-weka
       schemes:
-      - id: micrometer
+      - id: weka
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-quarkus-netty:
+      - org.apache.camel.component.weka.WekaComponent
+    camel-quarkus-controlbus:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-netty
+      artifactId: camel-quarkus-controlbus
       schemes:
-      - id: netty
+      - id: controlbus
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-quarkus-jolt:
+      - org.apache.camel.component.controlbus.ControlBusComponent
+    camel-quarkus-vertx:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jolt
+      artifactId: camel-quarkus-vertx
       schemes:
-      - id: jolt
+      - id: vertx
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-quarkus-http:
+      - org.apache.camel.component.vertx.VertxComponent
+    camel-quarkus-jdbc:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-http
+      artifactId: camel-quarkus-jdbc
       schemes:
-      - id: https
-        http: false
-        passive: false
-      - id: http
+      - id: jdbc
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-quarkus-telegram:
+      - org.apache.camel.component.jdbc.JdbcComponent
+    camel-quarkus-consul:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-telegram
+      artifactId: camel-quarkus-consul
       schemes:
-      - id: telegram
+      - id: consul
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-quarkus-ganglia:
+      - org.apache.camel.component.consul.ConsulComponent
+    camel-quarkus-ognl:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ganglia
+      artifactId: camel-quarkus-ognl
+      languages:
+      - ognl
+      javaTypes:
+      - org.apache.camel.language.ognl.OgnlLanguage
+    camel-quarkus-facebook:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-facebook
       schemes:
-      - id: ganglia
+      - id: facebook
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-quarkus-aws2-kinesis:
+      - org.apache.camel.component.facebook.FacebookComponent
+    camel-quarkus-xpath:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-kinesis
+      artifactId: camel-quarkus-xpath
+      languages:
+      - xpath
+      javaTypes:
+      - org.apache.camel.language.xpath.XPathLanguage
+    camel-quarkus-nsq:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-nsq
       schemes:
-      - id: aws2-kinesis
-        http: false
-        passive: false
-      - id: aws2-kinesis-firehose
+      - id: nsq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.kinesis.Kinesis2Component
-      - org.apache.camel.component.aws2.firehose.KinesisFirehose2Component
-    camel-quarkus-twitter:
+      - org.apache.camel.component.nsq.NsqComponent
+    camel-quarkus-jsonb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-twitter
+      artifactId: camel-quarkus-jsonb
+      dataformats:
+      - json-jsonb
+      javaTypes:
+      - org.apache.camel.component.jsonb.JsonbDataFormat
+    camel-quarkus-aws2-sns:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-aws2-sns
       schemes:
-      - id: twitter-search
-        http: false
-        passive: false
-      - id: twitter-timeline
+      - id: aws2-sns
         http: false
         passive: false
-      - id: twitter-directmessage
+      javaTypes:
+      - org.apache.camel.component.aws2.sns.Sns2Component
+    camel-quarkus-mvel:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-mvel
+      schemes:
+      - id: mvel
         http: false
         passive: false
+      languages:
+      - mvel
+      javaTypes:
+      - org.apache.camel.component.mvel.MvelComponent
+      - org.apache.camel.language.mvel.MvelLanguage
+    camel-quarkus-univocity-parsers:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-univocity-parsers
+      dataformats:
+      - univocity-csv
+      - univocity-tsv
+      - univocity-fixed
       javaTypes:
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-    camel-quarkus-aws-swf:
+      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
+      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
+    camel-quarkus-ref:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-swf
+      artifactId: camel-quarkus-ref
       schemes:
-      - id: aws-swf
+      - id: ref
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-quarkus-pubnub:
+      - org.apache.camel.component.ref.RefComponent
+    camel-quarkus-lzf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pubnub
+      artifactId: camel-quarkus-lzf
+      dataformats:
+      - lzf
+      javaTypes:
+      - org.apache.camel.dataformat.lzf.LZFDataFormat
+    camel-quarkus-paho:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-paho
       schemes:
-      - id: pubnub
+      - id: paho
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pubnub.PubNubComponent
-    camel-quarkus-stub:
+      - org.apache.camel.component.paho.PahoComponent
+    camel-quarkus-vm:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stub
+      artifactId: camel-quarkus-vm
       schemes:
-      - id: stub
+      - id: vm
         http: false
         passive: true
       javaTypes:
-      - org.apache.camel.component.stub.StubComponent
-    camel-quarkus-aws2-sqs:
+      - org.apache.camel.component.vm.VmComponent
+    camel-quarkus-bindy:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sqs
+      artifactId: camel-quarkus-bindy
+      dataformats:
+      - bindy-csv
+      - bindy-fixed
+      - bindy-kvp
+      javaTypes:
+      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
+      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
+      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
+    camel-quarkus-jslt:
+      groupId: org.apache.camel.quarkus
+      artifactId: camel-quarkus-jslt
       schemes:
-      - id: aws2-sqs
+      - id: jslt
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sqs.Sqs2Component
-    camel-quarkus-jt400:
+      - org.apache.camel.component.jslt.JsltComponent
+    camel-quarkus-apns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jt400
+      artifactId: camel-quarkus-apns
       schemes:
-      - id: jt400
+      - id: apns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-quarkus-iota:
+      - org.apache.camel.component.apns.ApnsComponent
+    camel-quarkus-optaplanner:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iota
+      artifactId: camel-quarkus-optaplanner
       schemes:
-      - id: iota
+      - id: optaplanner
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-quarkus-jsonapi:
+      - org.apache.camel.component.optaplanner.OptaPlannerComponent
+    camel-quarkus-xstream:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonapi
+      artifactId: camel-quarkus-xstream
       dataformats:
-      - jsonApi
+      - json-xstream
+      - xstream
       javaTypes:
-      - org.apache.camel.component.jsonapi.JsonApiDataFormat
-    camel-quarkus-aws2-eks:
+      - org.apache.camel.dataformat.xstream.XStreamDataFormat
+      - org.apache.camel.dataformat.xstream.JsonDataFormat
+    camel-quarkus-debezium-mongodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-eks
+      artifactId: camel-quarkus-debezium-mongodb
       schemes:
-      - id: aws2-eks
+      - id: debezium-mongodb
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.eks.EKS2Component
-    camel-quarkus-weather:
+      - org.apache.camel.component.debezium.DebeziumMongodbComponent
+    camel-quarkus-jacksonxml:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weather
-      schemes:
-      - id: weather
-        http: false
-        passive: false
+      artifactId: camel-quarkus-jacksonxml
+      dataformats:
+      - jacksonxml
       javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-quarkus-scheduler:
+      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
+    camel-quarkus-zookeeper-master:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-scheduler
+      artifactId: camel-quarkus-zookeeper-master
       schemes:
-      - id: scheduler
+      - id: zookeeper-master
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-quarkus-jaxb:
+      - org.apache.camel.component.zookeepermaster.MasterComponent
+    camel-k-knative:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-knative
+      schemes:
+      - id: knative
+        http: true
+        passive: false
+        producer:
+          dependencies:
+          - groupId: org.apache.camel.k
+            artifactId: camel-k-knative-producer
+        consumer:
+          dependencies:
+          - groupId: org.apache.camel.k
+            artifactId: camel-k-knative-consumer
+    camel-quarkus-language:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jaxb
-      dataformats:
-      - jaxb
+      artifactId: camel-quarkus-language
+      schemes:
+      - id: language
+        http: false
+        passive: true
       javaTypes:
-      - org.apache.camel.converter.jaxb.JaxbDataFormat
-    camel-quarkus-jing:
+      - org.apache.camel.component.language.LanguageComponent
+    camel-quarkus-schematron:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jing
+      artifactId: camel-quarkus-schematron
       schemes:
-      - id: jing
+      - id: schematron
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-quarkus-dataformat:
+      - org.apache.camel.component.schematron.SchematronComponent
+    camel-quarkus-asn1:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-dataformat
-      schemes:
-      - id: dataformat
-        http: false
-        passive: true
+      artifactId: camel-quarkus-asn1
+      dataformats:
+      - asn1
       javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-quarkus-jgroups:
+      - org.apache.camel.dataformat.asn1.ASN1DataFormat
+    camel-quarkus-aws2-cw:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jgroups
+      artifactId: camel-quarkus-aws2-cw
       schemes:
-      - id: jgroups
+      - id: aws2-cw
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-quarkus-yammer:
+      - org.apache.camel.component.aws2.cw.Cw2Component
+    camel-quarkus-sip:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-yammer
+      artifactId: camel-quarkus-sip
       schemes:
-      - id: yammer
+      - id: sips
+        http: false
+        passive: false
+      - id: sip
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-quarkus-hbase:
+      - org.apache.camel.component.sip.SipComponent
+    camel-quarkus-thrift:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-hbase
+      artifactId: camel-quarkus-thrift
       schemes:
-      - id: hbase
+      - id: thrift
         http: false
         passive: false
+      dataformats:
+      - thrift
       javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-quarkus-aws-sdb:
+      - org.apache.camel.dataformat.thrift.ThriftDataFormat
+      - org.apache.camel.component.thrift.ThriftComponent
+    camel-quarkus-jms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-sdb
+      artifactId: camel-quarkus-jms
       schemes:
-      - id: aws-sdb
+      - id: jms
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-quarkus-sap-netweaver:
+      - org.apache.camel.component.jms.JmsComponent
+    camel-quarkus-pg-replication-slot:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-sap-netweaver
+      artifactId: camel-quarkus-pg-replication-slot
       schemes:
-      - id: sap-netweaver
+      - id: pg-replication-slot
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-quarkus-servicenow:
+      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
+    camel-quarkus-quartz:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-servicenow
+      artifactId: camel-quarkus-quartz
       schemes:
-      - id: servicenow
+      - id: quartz
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-quarkus-grpc:
+      - org.apache.camel.component.quartz.QuartzComponent
+    camel-quarkus-etcd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grpc
+      artifactId: camel-quarkus-etcd
       schemes:
-      - id: grpc
-        http: true
+      - id: etcd-watch
+        http: false
+        passive: false
+      - id: etcd-stats
+        http: false
+        passive: false
+      - id: etcd-keys
+        http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-quarkus-ipfs:
+      - org.apache.camel.component.etcd.EtcdKeysComponent
+      - org.apache.camel.component.etcd.EtcdStatsComponent
+      - org.apache.camel.component.etcd.EtcdWatchComponent
+    camel-quarkus-as2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ipfs
+      artifactId: camel-quarkus-as2
       schemes:
-      - id: ipfs
+      - id: as2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-quarkus-aws-kms:
+      - org.apache.camel.component.as2.AS2Component
+    camel-quarkus-atmos:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-kms
+      artifactId: camel-quarkus-atmos
       schemes:
-      - id: aws-kms
+      - id: atmos
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-quarkus-stax:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-stax
+      - org.apache.camel.component.atmos.AtmosComponent
+    camel-k-kamelet-reify:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-kamelet-reify
       schemes:
-      - id: stax
+      - id: wrap
         http: false
         passive: false
-      javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-quarkus-aws2-msk:
+    camel-quarkus-xchange:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-msk
+      artifactId: camel-quarkus-xchange
       schemes:
-      - id: aws2-msk
+      - id: xchange
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.msk.MSK2Component
-    camel-quarkus-debezium-sqlserver:
+      - org.apache.camel.component.xchange.XChangeComponent
+    camel-quarkus-ldap:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-sqlserver
+      artifactId: camel-quarkus-ldap
       schemes:
-      - id: debezium-sqlserver
+      - id: ldap
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-quarkus-snakeyaml:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-snakeyaml
-      dataformats:
-      - yaml-snakeyaml
-      javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-quarkus-fastjson:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-fastjson
-      dataformats:
-      - json-fastjson
-      javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-quarkus-xj:
+      - org.apache.camel.component.ldap.LdapComponent
+    camel-quarkus-sjms2:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xj
+      artifactId: camel-quarkus-sjms2
       schemes:
-      - id: xj
+      - id: sjms2
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-quarkus-direct:
+      - org.apache.camel.component.sjms2.Sjms2Component
+    camel-quarkus-zookeeper:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-direct
+      artifactId: camel-quarkus-zookeeper
       schemes:
-      - id: direct
+      - id: zookeeper
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-quarkus-bean:
+      - org.apache.camel.component.zookeeper.ZooKeeperComponent
+    camel-quarkus-olingo4:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bean
+      artifactId: camel-quarkus-olingo4
       schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
+      - id: olingo4
         http: false
-        passive: true
-      languages:
-      - bean
+        passive: false
       javaTypes:
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-quarkus-aws-s3:
+      - org.apache.camel.component.olingo4.Olingo4Component
+    camel-quarkus-aws-sqs:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-s3
+      artifactId: camel-quarkus-aws-sqs
       schemes:
-      - id: aws-s3
+      - id: aws-sqs
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-quarkus-grok:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-grok
-      dataformats:
-      - grok
-      javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-quarkus-couchdb:
+      - org.apache.camel.component.aws.sqs.SqsComponent
+    camel-quarkus-braintree:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-couchdb
+      artifactId: camel-quarkus-braintree
       schemes:
-      - id: couchdb
+      - id: braintree
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-quarkus-workday:
+      - org.apache.camel.component.braintree.BraintreeComponent
+    camel-quarkus-zendesk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-workday
+      artifactId: camel-quarkus-zendesk
       schemes:
-      - id: workday
+      - id: zendesk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.workday.WorkdayComponent
-    camel-quarkus-zip-deflater:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zip-deflater
-      dataformats:
-      - gzipdeflater
-      - zipdeflater
-      javaTypes:
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-    camel-quarkus-smpp:
+      - org.apache.camel.component.zendesk.ZendeskComponent
+    camel-quarkus-twilio:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-smpp
+      artifactId: camel-quarkus-twilio
       schemes:
-      - id: smpps
-        http: false
-        passive: false
-      - id: smpp
+      - id: twilio
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.smpp.SmppComponent
-    camel-quarkus-syslog:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-syslog
-      dataformats:
-      - syslog
-      javaTypes:
-      - org.apache.camel.component.syslog.SyslogDataFormat
-    camel-quarkus-aws-iam:
+      - org.apache.camel.component.twilio.TwilioComponent
+    camel-quarkus-activemq:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws-iam
+      artifactId: camel-quarkus-activemq
       schemes:
-      - id: aws-iam
+      - id: activemq
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-quarkus-debezium-postgres:
+      - org.apache.camel.component.activemq.ActiveMQComponent
+    camel-quarkus-nitrite:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-postgres
+      artifactId: camel-quarkus-nitrite
       schemes:
-      - id: debezium-postgres
+      - id: nitrite
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
-    camel-quarkus-flink:
+      - org.apache.camel.component.nitrite.NitriteComponent
+    camel-quarkus-seda:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-flink
+      artifactId: camel-quarkus-seda
       schemes:
-      - id: flink
+      - id: seda
         http: false
-        passive: false
+        passive: true
       javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-quarkus-amqp:
+      - org.apache.camel.component.seda.SedaComponent
+    camel-quarkus-aws-eks:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-amqp
+      artifactId: camel-quarkus-aws-eks
       schemes:
-      - id: amqp
+      - id: aws-eks
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-quarkus-guava-eventbus:
+      - org.apache.camel.component.aws.eks.EKSComponent
+    camel-quarkus-dozer:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-guava-eventbus
+      artifactId: camel-quarkus-dozer
       schemes:
-      - id: guava-eventbus
+      - id: dozer
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-quarkus-pulsar:
+      - org.apache.camel.component.dozer.DozerComponent
+    camel-quarkus-splunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-pulsar
+      artifactId: camel-quarkus-splunk
       schemes:
-      - id: pulsar
+      - id: splunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-quarkus-jpa:
+      - org.apache.camel.component.splunk.SplunkComponent
+    camel-quarkus-google-drive:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jpa
+      artifactId: camel-quarkus-google-drive
       schemes:
-      - id: jpa
+      - id: google-drive
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-quarkus-aws2-ddb:
+      - org.apache.camel.component.google.drive.GoogleDriveComponent
+    camel-quarkus-sjms:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-ddb
+      artifactId: camel-quarkus-sjms
       schemes:
-      - id: aws2-ddb
+      - id: sjms
         http: false
         passive: false
-      - id: aws2-ddbstream
+      - id: sjms-batch
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.ddb.Ddb2Component
-      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
-    camel-quarkus-mock:
+      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
+      - org.apache.camel.component.sjms.SjmsComponent
+    camel-quarkus-ical:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mock
-      schemes:
-      - id: mock
-        http: false
-        passive: true
+      artifactId: camel-quarkus-ical
+      dataformats:
+      - ical
       javaTypes:
-      - org.apache.camel.component.mock.MockComponent
-    camel-quarkus-iec60870:
+      - org.apache.camel.component.ical.ICalDataFormat
+    camel-quarkus-cassandraql:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-iec60870
+      artifactId: camel-quarkus-cassandraql
       schemes:
-      - id: iec60870-server
-        http: false
-        passive: false
-      - id: iec60870-client
+      - id: cql
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.iec60870.client.ClientComponent
-      - org.apache.camel.component.iec60870.server.ServerComponent
-    camel-quarkus-weka:
+      - org.apache.camel.component.cassandra.CassandraComponent
+    camel-quarkus-jgroups-raft:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-weka
+      artifactId: camel-quarkus-jgroups-raft
       schemes:
-      - id: weka
+      - id: jgroups-raft
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.weka.WekaComponent
-    camel-quarkus-controlbus:
+      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
+    camel-quarkus-mongodb:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-controlbus
+      artifactId: camel-quarkus-mongodb
       schemes:
-      - id: controlbus
+      - id: mongodb
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-quarkus-vertx:
+      - org.apache.camel.component.mongodb.MongoDbComponent
+    camel-quarkus-dns:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vertx
+      artifactId: camel-quarkus-dns
       schemes:
-      - id: vertx
+      - id: dns
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-quarkus-jdbc:
+      - org.apache.camel.component.dns.DnsComponent
+    camel-k-webhook:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-webhook
+      schemes:
+      - id: webhook
+        http: true
+        passive: true
+    camel-quarkus-chunk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jdbc
+      artifactId: camel-quarkus-chunk
       schemes:
-      - id: jdbc
+      - id: chunk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-quarkus-consul:
+      - org.apache.camel.component.chunk.ChunkComponent
+    camel-quarkus-cometd:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-consul
+      artifactId: camel-quarkus-cometd
       schemes:
-      - id: consul
+      - id: cometds
+        http: false
+        passive: false
+      - id: cometd
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-quarkus-ognl:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ognl
-      languages:
-      - ognl
-      javaTypes:
-      - org.apache.camel.language.ognl.OgnlLanguage
-    camel-quarkus-facebook:
+      - org.apache.camel.component.cometd.CometdComponent
+    camel-quarkus-drill:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-facebook
+      artifactId: camel-quarkus-drill
       schemes:
-      - id: facebook
+      - id: drill
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-quarkus-xpath:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xpath
-      languages:
-      - xpath
-      javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-quarkus-nsq:
+      - org.apache.camel.component.drill.DrillComponent
+    camel-quarkus-soroush:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-nsq
+      artifactId: camel-quarkus-soroush
       schemes:
-      - id: nsq
+      - id: soroush
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-quarkus-jsonb:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jsonb
-      dataformats:
-      - json-jsonb
-      javaTypes:
-      - org.apache.camel.component.jsonb.JsonbDataFormat
-    camel-quarkus-aws2-sns:
+      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
+    camel-quarkus-atom:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-aws2-sns
+      artifactId: camel-quarkus-atom
       schemes:
-      - id: aws2-sns
+      - id: atom
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.aws2.sns.Sns2Component
-    camel-quarkus-mvel:
+      - org.apache.camel.component.atom.AtomComponent
+    camel-quarkus-pgevent:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-mvel
+      artifactId: camel-quarkus-pgevent
       schemes:
-      - id: mvel
+      - id: pgevent
         http: false
         passive: false
-      languages:
-      - mvel
-      javaTypes:
-      - org.apache.camel.component.mvel.MvelComponent
-      - org.apache.camel.language.mvel.MvelLanguage
-    camel-quarkus-univocity-parsers:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-univocity-parsers
-      dataformats:
-      - univocity-csv
-      - univocity-tsv
-      - univocity-fixed
       javaTypes:
-      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
-    camel-quarkus-ref:
+      - org.apache.camel.component.pgevent.PgEventComponent
+    camel-quarkus-geocoder:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-ref
+      artifactId: camel-quarkus-geocoder
       schemes:
-      - id: ref
+      - id: geocoder
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-quarkus-lzf:
+      - org.apache.camel.component.geocoder.GeoCoderComponent
+    camel-quarkus-gson:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-lzf
+      artifactId: camel-quarkus-gson
       dataformats:
-      - lzf
+      - json-gson
       javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-quarkus-paho:
+      - org.apache.camel.component.gson.GsonDataFormat
+    camel-quarkus-rss:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-paho
+      artifactId: camel-quarkus-rss
       schemes:
-      - id: paho
+      - id: rss
         http: false
         passive: false
+      dataformats:
+      - rss
       javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-quarkus-vm:
+      - org.apache.camel.dataformat.rss.RssDataFormat
+      - org.apache.camel.component.rss.RssComponent
+    camel-quarkus-exec:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-vm
+      artifactId: camel-quarkus-exec
       schemes:
-      - id: vm
+      - id: exec
         http: false
-        passive: true
+        passive: false
       javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-quarkus-bindy:
+      - org.apache.camel.component.exec.ExecComponent
+    camel-quarkus-base64:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-bindy
+      artifactId: camel-quarkus-base64
       dataformats:
-      - bindy-fixed
-      - bindy-kvp
-      - bindy-csv
+      - base64
       javaTypes:
-      - org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
-      - org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
-      - org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
-    camel-quarkus-jslt:
+      - org.apache.camel.dataformat.base64.Base64DataFormat
+    camel-quarkus-infinispan:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jslt
+      artifactId: camel-quarkus-infinispan
       schemes:
-      - id: jslt
+      - id: infinispan
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.jslt.JsltComponent
-    camel-quarkus-apns:
+      - org.apache.camel.component.infinispan.InfinispanComponent
+    camel-quarkus-nats:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-apns
+      artifactId: camel-quarkus-nats
       schemes:
-      - id: apns
+      - id: nats
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-quarkus-optaplanner:
+      - org.apache.camel.component.nats.NatsComponent
+    camel-quarkus-microprofile-metrics:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-optaplanner
+      artifactId: camel-quarkus-microprofile-metrics
       schemes:
-      - id: optaplanner
+      - id: microprofile-metrics
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-quarkus-xstream:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-xstream
-      dataformats:
-      - json-xstream
-      - xstream
-      javaTypes:
-      - org.apache.camel.dataformat.xstream.XStreamDataFormat
-      - org.apache.camel.dataformat.xstream.JsonDataFormat
-    camel-quarkus-debezium-mongodb:
+      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
+    camel-quarkus-asterisk:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-debezium-mongodb
+      artifactId: camel-quarkus-asterisk
       schemes:
-      - id: debezium-mongodb
+      - id: asterisk
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-quarkus-jacksonxml:
-      groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-jacksonxml
-      dataformats:
-      - jacksonxml
-      javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-quarkus-zookeeper-master:
+      - org.apache.camel.component.asterisk.AsteriskComponent
+    camel-quarkus-azure-storage-blob:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-zookeeper-master
+      artifactId: camel-quarkus-azure-storage-blob
       schemes:
-      - id: zookeeper-master
+      - id: azure-storage-blob
         http: false
         passive: false
       javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-k-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-knative
-      schemes:
-      - id: knative
-        http: true
-        passive: false
-        producer:
-          dependencies:
-          - groupId: org.apache.camel.k
-            artifactId: camel-k-knative-producer
-        consumer:
-          dependencies:
-          - groupId: org.apache.camel.k
-            artifactId: camel-k-knative-consumer
-    camel-quarkus-language:
+      - org.apache.camel.component.azure.storage.blob.BlobComponent
+    camel-quarkus-protobuf:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-language
-      schemes:
-      - id: language
-        http: false
-        passive: true
+      artifactId: camel-quarkus-protobuf
+      dataformats:
+      - protobuf
       javaTypes:
-      - org.apache.camel.component.language.LanguageComponent
-    camel-quarkus-schematron:
+      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
+    camel-quarkus-tagsoup:
       groupId: org.apache.camel.quarkus
-      artifactId: camel-quarkus-schematron
-      schemes:
-      - id: schematron
-        http: false
-        passive: false
+      artifactId: camel-quarkus-tagsoup
+      dataformats:
+      - tidyMarkup
       javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
+      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
   loaders:
+    java:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-java
+      languages:
+      - java
+      metadata:
+        native: "false"
+    xml:
+      groupId: org.apache.camel.k
+      artifactId: camel-k-loader-xml
+      languages:
+      - xml
+      metadata:
+        native: "true"
     js:
       groupId: org.apache.camel.k
       artifactId: camel-k-loader-js
@@ -2949,17 +2963,3 @@ spec:
       - groovy
       metadata:
         native: "false"
-    java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-      languages:
-      - java
-      metadata:
-        native: "false"
-    xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-      languages:
-      - xml
-      metadata:
-        native: "true"
diff --git a/deploy/cr-example.yaml b/deploy/cr-example.yaml
deleted file mode 100644
index e361ab5..0000000
--- a/deploy/cr-example.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: Integration
-metadata:
-  name: example
-spec:
-  sources:
-  - content: |-
-      // This is Camel K Groovy example route
-
-      rnd = new Random()
-
-      from('timer:groovy?period=1000')
-          .routeId('groovy')
-          .setBody()
-              .constant('Hello Camel K!')
-          .process {
-              it.in.headers['RandomValue'] = rnd.nextInt()
-          }
-          .to('log:info?showHeaders=true')
-    name: routes.groovy
diff --git a/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel-k.v1.4.0-snapshot.clusterserviceversion.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel-k.v1.4.0-snapshot.clusterserviceversion.yaml
new file mode 100644
index 0000000..6080e38
--- /dev/null
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel-k.v1.4.0-snapshot.clusterserviceversion.yaml
@@ -0,0 +1,659 @@
+# ---------------------------------------------------------------------------
+# 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.
+# ---------------------------------------------------------------------------
+
+apiVersion: operators.coreos.com/v1alpha1
+kind: ClusterServiceVersion
+metadata:
+  annotations:
+    alm-examples: |-
+      [
+        {
+          "apiVersion": "camel.apache.org/v1",
+          "kind": "Build",
+          "metadata": {
+            "name": "example"
+          },
+          "spec": {}
+        },
+        {
+          "apiVersion": "camel.apache.org/v1",
+          "kind": "CamelCatalog",
+          "metadata": {
+            "name": "example"
+          },
+          "spec": {}
+        },
+        {
+          "apiVersion": "camel.apache.org/v1",
+          "kind": "Integration",
+          "metadata": {
+            "name": "example"
+          },
+          "spec": {
+            "flows": [
+              {
+                "from": {
+                  "parameters": {
+                    "period": "1000"
+                  },
+                  "steps": [
+                    {
+                      "set-body": {
+                        "constant": "Hello from Camel K"
+                      }
+                    },
+                    {
+                      "to": "log:info"
+                    }
+                  ],
+                  "uri": "timer:yaml"
+                }
+              }
+            ]
+          }
+        },
+        {
+          "apiVersion": "camel.apache.org/v1",
+          "kind": "IntegrationKit",
+          "metadata": {
+            "name": "example"
+          },
+          "spec": {}
+        },
+        {
+          "apiVersion": "camel.apache.org/v1",
+          "kind": "IntegrationPlatform",
+          "metadata": {
+            "labels": {
+              "app": "camel-k"
+            },
+            "name": "camel-k"
+          },
+          "spec": null
+        },
+        {
+          "apiVersion": "camel.apache.org/v1alpha1",
+          "kind": "Kamelet",
+          "metadata": {
+            "name": "example"
+          },
+          "spec": {
+            "definition": {
+              "description": "Produces periodic events with a custom payload",
+              "properties": {
+                "message": {
+                  "description": "The message to generate",
+                  "title": "Message",
+                  "type": "string"
+                },
+                "period": {
+                  "default": 1000,
+                  "description": "The time interval between two events",
+                  "title": "Period",
+                  "type": "integer"
+                }
+              },
+              "required": [
+                "message"
+              ],
+              "title": "Example Timer"
+            },
+            "flow": {
+              "from": {
+                "parameters": {
+                  "period": "#property:period"
+                },
+                "steps": [
+                  {
+                    "set-body": {
+                      "constant": "#property:message"
+                    }
+                  },
+                  {
+                    "to": "kamelet:sink"
+                  }
+                ],
+                "uri": "timer:tick"
+              }
+            }
+          }
+        },
+        {
+          "apiVersion": "camel.apache.org/v1alpha1",
+          "kind": "KameletBinding",
+          "metadata": {
+            "name": "example"
+          },
+          "spec": {
+            "sink": {
+              "ref": {
+                "apiVersion": "messaging.knative.dev/v1beta1",
+                "kind": "InMemoryChannel",
+                "name": "example"
+              }
+            },
+            "source": {
+              "properties": {
+                "message": "Hello world"
+              },
+              "ref": {
+                "apiVersion": "camel.apache.org/v1alpha1",
+                "kind": "Kamelet",
+                "name": "example"
+              }
+            }
+          }
+        }
+      ]
+    capabilities: Full Lifecycle
+    categories: Integration & Delivery
+    certified: "false"
+    containerImage: docker.io/apache/camel-k:1.3.0-SNAPSHOT
+    createdAt: "2021-02-01T14:49:29Z"
+    description: Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers.
+    operators.operatorframework.io/builder: operator-sdk-v1.0.1+git
+    operators.operatorframework.io/project_layout: go.kubebuilder.io/v2
+    repository: https://github.com/apache/camel-k
+    support: Camel
+  name: camel-k.v1.4.0-snapshot
+  namespace: placeholder
+spec:
+  apiservicedefinitions: {}
+  customresourcedefinitions:
+    owned:
+    - description: Build is the Schema for the builds API
+      displayName: Build
+      kind: Build
+      name: builds.camel.apache.org
+      version: v1
+    - description: CamelCatalog is the Schema for the camelcatalogs API
+      displayName: Camel Catalog
+      kind: CamelCatalog
+      name: camelcatalogs.camel.apache.org
+      version: v1
+    - description: IntegrationKit is the Schema for the integrationkits API
+      displayName: Integration Kit
+      kind: IntegrationKit
+      name: integrationkits.camel.apache.org
+      version: v1
+    - description: IntegrationPlatform is the Schema for the integrationplatforms API
+      displayName: Integration Platform
+      kind: IntegrationPlatform
+      name: integrationplatforms.camel.apache.org
+      version: v1
+    - description: Integration is the Schema for the integrations API
+      displayName: Integration
+      kind: Integration
+      name: integrations.camel.apache.org
+      version: v1
+    - description: KameletBinding is the Schema for the kamelets binding API
+      displayName: Kamelet Binding
+      kind: KameletBinding
+      name: kameletbindings.camel.apache.org
+      version: v1alpha1
+    - description: Kamelet is the Schema for the kamelets API
+      displayName: Kamelet
+      kind: Kamelet
+      name: kamelets.camel.apache.org
+      version: v1alpha1
+  description: |
+    Apache Camel K
+    ==============
+
+    Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers.
+
+    ## Installation
+
+    To start using Camel K, install the operator and then create the following `IntegrationPlatform`:
+    ```
+    apiVersion: camel.apache.org/v1
+    kind: IntegrationPlatform
+    metadata:
+      name: camel-k
+      labels:
+        app: "camel-k"
+    ```
+
+    ## Running an Integration
+
+    After the initial setup, you can run a Camel integration on the cluster by creating an example `Integration`:
+    ```
+    apiVersion: camel.apache.org/v1
+    kind: Integration
+    metadata:
+      name: example
+    spec:
+      sources:
+      - content: |
+          import org.apache.camel.builder.RouteBuilder;
+
+          public class Example extends RouteBuilder {
+              @Override
+              public void configure() throws Exception {
+                  from("timer:tick")
+                      .setBody(constant("Hello World!"))
+                  .to("log:info?skipBodyLineSeparator=false");
+              }
+          }
+      name: Example.java
+    ```
+  displayName: Camel K Operator
+  icon:
+  - base64data: PHN2ZyB2aWV3Qm94PSIwIDAgMTMwLjIxIDEzMC4wMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIzMzMuNDgiIHgyPSI0NzciIHkxPSI3MDIuNiIgeTI9IjU2My43MyIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg5NC4wMzggMjc2LjA2KSBzY2FsZSguOTkyMDYpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0Y2OTkyMyIgb2Zmc2V0PSIwIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0Y3OUEyMyIgb2Zmc2V0PSIuMTEiLz48c3RvcCBzdG9wLWNvbG9yPSIjRTk3ODI2IiBvZmZzZXQ9Ii45NDUiLz48L2xp [...]
+    mediatype: image/svg+xml
+  install:
+    spec:
+      clusterPermissions:
+      - rules:
+        - apiGroups:
+          - console.openshift.io
+          resources:
+          - consoleclidownloads
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - camel.apache.org
+          resources:
+          - '*'
+          verbs:
+          - '*'
+        serviceAccountName: camel-k-operator
+      deployments:
+      - name: camel-k-operator
+        spec:
+          replicas: 1
+          selector:
+            matchLabels:
+              app: camel-k
+              name: camel-k-operator
+          strategy:
+            type: Recreate
+          template:
+            metadata:
+              labels:
+                app: camel-k
+                camel.apache.org/component: operator
+                name: camel-k-operator
+            spec:
+              containers:
+              - command:
+                - kamel
+                - operator
+                env:
+                - name: WATCH_NAMESPACE
+                  valueFrom:
+                    fieldRef:
+                      fieldPath: metadata.annotations['olm.targetNamespaces']
+                - name: OPERATOR_NAME
+                  value: camel-k
+                - name: POD_NAME
+                  valueFrom:
+                    fieldRef:
+                      fieldPath: metadata.name
+                - name: NAMESPACE
+                  valueFrom:
+                    fieldRef:
+                      fieldPath: metadata.namespace
+                image: docker.io/apache/camel-k:1.4.0-SNAPSHOT
+                imagePullPolicy: IfNotPresent
+                livenessProbe:
+                  httpGet:
+                    path: /healthz
+                    port: 8081
+                  initialDelaySeconds: 5
+                  periodSeconds: 5
+                name: camel-k-operator
+                ports:
+                - containerPort: 8080
+                  name: metrics
+                resources: {}
+              serviceAccountName: camel-k-operator
+      permissions:
+      - rules:
+        - apiGroups:
+          - camel.apache.org
+          resources:
+          - '*'
+          verbs:
+          - '*'
+        - apiGroups:
+          - ""
+          resources:
+          - pods
+          - services
+          - endpoints
+          - persistentvolumeclaims
+          - configmaps
+          - secrets
+          - serviceaccounts
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - rbac.authorization.k8s.io
+          resources:
+          - roles
+          - rolebindings
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - ""
+          resources:
+          - events
+          verbs:
+          - create
+          - patch
+          - get
+          - list
+          - watch
+        - apiGroups:
+          - apps
+          resources:
+          - deployments
+          - replicasets
+          - statefulsets
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - batch
+          resources:
+          - cronjobs
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - apps
+          resources:
+          - daemonsets
+          verbs:
+          - get
+          - list
+          - watch
+        - apiGroups:
+          - extensions
+          resources:
+          - ingresses
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - ""
+          - build.openshift.io
+          resources:
+          - buildconfigs
+          - buildconfigs/webhooks
+          - builds
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - ""
+          - image.openshift.io
+          resources:
+          - imagestreamimages
+          - imagestreammappings
+          - imagestreams
+          - imagestreams/secrets
+          - imagestreamtags
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - ""
+          - build.openshift.io
+          resources:
+          - buildconfigs/instantiate
+          - buildconfigs/instantiatebinary
+          - builds/clone
+          verbs:
+          - create
+        - apiGroups:
+          - ""
+          - route.openshift.io
+          resources:
+          - routes
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - ""
+          - route.openshift.io
+          resources:
+          - routes/custom-host
+          verbs:
+          - create
+        - apiGroups:
+          - serving.knative.dev
+          resources:
+          - services
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - eventing.knative.dev
+          - messaging.knative.dev
+          resources:
+          - '*'
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - rbac.authorization.k8s.io
+          resourceNames:
+          - system:image-builder
+          resources:
+          - clusterroles
+          verbs:
+          - bind
+        - apiGroups:
+          - monitoring.coreos.com
+          resources:
+          - servicemonitors
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - kafka.strimzi.io
+          resources:
+          - topics
+          - kafkas
+          verbs:
+          - get
+          - list
+          - watch
+        - apiGroups:
+          - ""
+          resources:
+          - events
+          verbs:
+          - create
+          - patch
+          - get
+          - list
+          - watch
+        - apiGroups:
+          - serving.knative.dev
+          resources:
+          - services
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - eventing.knative.dev
+          - messaging.knative.dev
+          - sources.knative.dev
+          resources:
+          - '*'
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - coordination.k8s.io
+          resources:
+          - leases
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - monitoring.coreos.com
+          resources:
+          - servicemonitors
+          verbs:
+          - create
+          - delete
+          - deletecollection
+          - get
+          - list
+          - patch
+          - update
+          - watch
+        - apiGroups:
+          - kafka.strimzi.io
+          resources:
+          - topics
+          - kafkas
+          verbs:
+          - get
+          - list
+          - watch
+        serviceAccountName: camel-k-operator
+    strategy: deployment
+  installModes:
+  - supported: true
+    type: OwnNamespace
+  - supported: true
+    type: SingleNamespace
+  - supported: false
+    type: MultiNamespace
+  - supported: true
+    type: AllNamespaces
+  keywords:
+  - apache
+  - kamel
+  - kubernetes
+  - serverless
+  - microservices
+  labels:
+    name: camel-k-operator
+  links:
+  - name: Camel K source code repository
+    url: https://github.com/apache/camel-k
+  maintainers:
+  - email: users@camel.apache.org
+    name: The Apache Software Foundation
+  maturity: alpha
+  minKubeVersion: 1.11.0
+  provider:
+    name: The Apache Software Foundation
+  replaces: camel-k-operator.v1.2.0
+  selector:
+    matchLabels:
+      name: camel-k-operator
+  version: 1.4.0-snapshot
diff --git a/config/crd/bases/camel.apache.org_builds.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_builds.yaml
similarity index 99%
copy from config/crd/bases/camel.apache.org_builds.yaml
copy to deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_builds.yaml
index 7d732ef..7ea4f37 100644
--- a/config/crd/bases/camel.apache.org_builds.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_builds.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: builds.camel.apache.org
 spec:
   group: camel.apache.org
@@ -828,15 +828,10 @@ spec:
                                 type: string
                               contentRef:
                                 type: string
-                              contentType:
-                                type: string
                               mountPath:
                                 type: string
                               name:
                                 type: string
-                              rawContent:
-                                format: byte
-                                type: string
                               type:
                                 description: ResourceType --
                                 type: string
@@ -916,8 +911,6 @@ spec:
                                 type: string
                               contentRef:
                                 type: string
-                              contentType:
-                                type: string
                               interceptors:
                                 description: Interceptors are optional identifiers
                                   the org.apache.camel.k.RoutesLoader uses to pre/post
@@ -940,9 +933,6 @@ spec:
                                 items:
                                   type: string
                                 type: array
-                              rawContent:
-                                format: byte
-                                type: string
                               type:
                                 description: Type defines the kind of source described
                                   by this object
diff --git a/config/crd/bases/camel.apache.org_camelcatalogs.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_camelcatalogs.yaml
similarity index 99%
copy from config/crd/bases/camel.apache.org_camelcatalogs.yaml
copy to deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_camelcatalogs.yaml
index a18d657..4d33593 100644
--- a/config/crd/bases/camel.apache.org_camelcatalogs.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_camelcatalogs.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: camelcatalogs.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_integrationkits.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrationkits.yaml
similarity index 99%
copy from config/crd/bases/camel.apache.org_integrationkits.yaml
copy to deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrationkits.yaml
index beec770..335ddb4 100644
--- a/config/crd/bases/camel.apache.org_integrationkits.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrationkits.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrationkits.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_integrationplatforms.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrationplatforms.yaml
similarity index 99%
copy from config/crd/bases/camel.apache.org_integrationplatforms.yaml
copy to deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrationplatforms.yaml
index 9cd1afd..7d1e156 100644
--- a/config/crd/bases/camel.apache.org_integrationplatforms.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrationplatforms.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrationplatforms.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/config/crd/bases/camel.apache.org_integrations.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml
similarity index 95%
copy from config/crd/bases/camel.apache.org_integrations.yaml
copy to deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml
index 16178af..11d2a03 100644
--- a/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_integrations.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrations.camel.apache.org
 spec:
   group: camel.apache.org
@@ -120,15 +120,10 @@ spec:
                       type: string
                     contentRef:
                       type: string
-                    contentType:
-                      type: string
                     mountPath:
                       type: string
                     name:
                       type: string
-                    rawContent:
-                      format: byte
-                      type: string
                     type:
                       description: ResourceType --
                       type: string
@@ -148,8 +143,6 @@ spec:
                       type: string
                     contentRef:
                       type: string
-                    contentType:
-                      type: string
                     interceptors:
                       description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
                         uses to pre/post process sources
@@ -171,9 +164,6 @@ spec:
                       items:
                         type: string
                       type: array
-                    rawContent:
-                      format: byte
-                      type: string
                     type:
                       description: Type defines the kind of source described by this
                         object
@@ -295,15 +285,10 @@ spec:
                       type: string
                     contentRef:
                       type: string
-                    contentType:
-                      type: string
                     mountPath:
                       type: string
                     name:
                       type: string
-                    rawContent:
-                      format: byte
-                      type: string
                     type:
                       description: ResourceType --
                       type: string
@@ -321,8 +306,6 @@ spec:
                       type: string
                     contentRef:
                       type: string
-                    contentType:
-                      type: string
                     interceptors:
                       description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
                         uses to pre/post process sources
@@ -344,9 +327,6 @@ spec:
                       items:
                         type: string
                       type: array
-                    rawContent:
-                      format: byte
-                      type: string
                     type:
                       description: Type defines the kind of source described by this
                         object
diff --git a/config/crd/bases/camel.apache.org_kameletbindings.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kameletbindings.yaml
similarity index 98%
copy from config/crd/bases/camel.apache.org_kameletbindings.yaml
copy to deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kameletbindings.yaml
index 2c95ef4..1d9ec35 100644
--- a/config/crd/bases/camel.apache.org_kameletbindings.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kameletbindings.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: kameletbindings.camel.apache.org
 spec:
   group: camel.apache.org
@@ -116,15 +116,10 @@ spec:
                           type: string
                         contentRef:
                           type: string
-                        contentType:
-                          type: string
                         mountPath:
                           type: string
                         name:
                           type: string
-                        rawContent:
-                          format: byte
-                          type: string
                         type:
                           description: ResourceType --
                           type: string
@@ -144,8 +139,6 @@ spec:
                           type: string
                         contentRef:
                           type: string
-                        contentType:
-                          type: string
                         interceptors:
                           description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
                             uses to pre/post process sources
@@ -167,9 +160,6 @@ spec:
                           items:
                             type: string
                           type: array
-                        rawContent:
-                          format: byte
-                          type: string
                         type:
                           description: Type defines the kind of source described by
                             this object
diff --git a/config/crd/bases/camel.apache.org_kamelets.yaml b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kamelets.yaml
similarity index 99%
copy from config/crd/bases/camel.apache.org_kamelets.yaml
copy to deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kamelets.yaml
index b79e7dc..c92baf9 100644
--- a/config/crd/bases/camel.apache.org_kamelets.yaml
+++ b/deploy/olm-catalog/camel-k-dev/1.4.0-snapshot/camel.apache.org_kamelets.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: kamelets.camel.apache.org
 spec:
   group: camel.apache.org
@@ -230,8 +230,6 @@ spec:
                       type: string
                     contentRef:
                       type: string
-                    contentType:
-                      type: string
                     interceptors:
                       description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
                         uses to pre/post process sources
@@ -253,9 +251,6 @@ spec:
                       items:
                         type: string
                       type: array
-                    rawContent:
-                      format: byte
-                      type: string
                     type:
                       description: Type defines the kind of source described by this
                         object
diff --git a/deploy/olm-catalog/csv-config.yaml b/deploy/olm-catalog/csv-config.yaml
deleted file mode 100644
index 6a5a21c..0000000
--- a/deploy/olm-catalog/csv-config.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-operator-path: deploy/operator-deployment.yaml
-crd-cr-paths:
-  - deploy/crd-build.yaml
-  - deploy/crd-camel-catalog.yaml
-  - deploy/crd-integration.yaml
-  - deploy/crd-integration-kit.yaml
-  - deploy/crd-integration-platform.yaml
-  - deploy/crd-kamelet.yaml
-  - deploy/crd-kamelet-binding.yaml
-role-paths:
-  - deploy/operator-role-olm.yaml
-  - deploy/operator-role-olm-cluster.yaml
diff --git a/deploy/operator-deployment.yaml b/deploy/operator-deployment.yaml
deleted file mode 100644
index 2946d8d..0000000
--- a/deploy/operator-deployment.yaml
+++ /dev/null
@@ -1,71 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: camel-k-operator
-  labels:
-    app: "camel-k"
-    camel.apache.org/component: operator
-spec:
-  replicas: 1
-  strategy:
-    type: Recreate
-  selector:
-    matchLabels:
-      name: camel-k-operator
-  template:
-    metadata:
-      labels:
-        name: camel-k-operator
-        camel.apache.org/component: operator
-        app: "camel-k"
-    spec:
-      serviceAccountName: camel-k-operator
-      containers:
-        - name: camel-k-operator
-          image: docker.io/apache/camel-k:1.4.0-SNAPSHOT
-          imagePullPolicy: IfNotPresent
-          command:
-            - kamel
-            - operator
-          ports:
-            - containerPort: 8080
-              name: metrics
-          env:
-            - name: WATCH_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-            - name: OPERATOR_NAME
-              value: "camel-k"
-            - name: POD_NAME
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.name
-            # NAMESPACE is always the operator namespace, independently from WATCH_NAMESPACE
-            - name: NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-          livenessProbe:
-            httpGet:
-              path: /healthz
-              port: 8081
-            initialDelaySeconds: 5
-            periodSeconds: 5
diff --git a/deploy/operator-role-binding-events.yaml b/deploy/operator-role-binding-events.yaml
deleted file mode 100644
index 7b1d41d..0000000
--- a/deploy/operator-role-binding-events.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-events
-  labels:
-    app: "camel-k"
-subjects:
-- kind: ServiceAccount
-  name: camel-k-operator
-roleRef:
-  kind: Role
-  name: camel-k-operator-events
-  apiGroup: rbac.authorization.k8s.io
diff --git a/deploy/operator-role-binding-knative.yaml b/deploy/operator-role-binding-knative.yaml
deleted file mode 100644
index 034baef..0000000
--- a/deploy/operator-role-binding-knative.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-knative
-  labels:
-    app: "camel-k"
-subjects:
-- kind: ServiceAccount
-  name: camel-k-operator
-roleRef:
-  kind: Role
-  name: camel-k-operator-knative
-  apiGroup: rbac.authorization.k8s.io
diff --git a/deploy/operator-role-binding-servicemonitors.yaml b/deploy/operator-role-binding-servicemonitors.yaml
deleted file mode 100644
index 120e83e..0000000
--- a/deploy/operator-role-binding-servicemonitors.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-servicemonitors
-  labels:
-    app: "camel-k"
-subjects:
-- kind: ServiceAccount
-  name: camel-k-operator
-roleRef:
-  kind: Role
-  name: camel-k-operator-servicemonitors
-  apiGroup: rbac.authorization.k8s.io
diff --git a/deploy/operator-role-binding-strimzi.yaml b/deploy/operator-role-binding-strimzi.yaml
deleted file mode 100644
index 9a860c0..0000000
--- a/deploy/operator-role-binding-strimzi.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-strimzi
-  labels:
-    app: "camel-k"
-subjects:
-- kind: ServiceAccount
-  name: camel-k-operator
-roleRef:
-  kind: Role
-  name: camel-k-operator-strimzi
-  apiGroup: rbac.authorization.k8s.io
diff --git a/deploy/operator-role-binding.yaml b/deploy/operator-role-binding.yaml
deleted file mode 100644
index afbdf27..0000000
--- a/deploy/operator-role-binding.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator
-  labels:
-    app: "camel-k"
-subjects:
-- kind: ServiceAccount
-  name: camel-k-operator
-roleRef:
-  kind: Role
-  name: camel-k-operator
-  apiGroup: rbac.authorization.k8s.io
diff --git a/deploy/operator-role-events.yaml b/deploy/operator-role-events.yaml
deleted file mode 100644
index d109b73..0000000
--- a/deploy/operator-role-events.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-events
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - ""
-  resources:
-  - events
-  verbs:
-  - create
-  - patch
-  - get
-  - list
-  - watch
diff --git a/deploy/operator-role-knative.yaml b/deploy/operator-role-knative.yaml
deleted file mode 100644
index c59021d..0000000
--- a/deploy/operator-role-knative.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-knative
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - serving.knative.dev
-  resources:
-  - services
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - eventing.knative.dev
-  - messaging.knative.dev
-  - sources.knative.dev
-  resources:
-  - "*"
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
diff --git a/deploy/operator-role-olm-cluster.yaml b/deploy/operator-role-olm-cluster.yaml
deleted file mode 100644
index 9520a6a..0000000
--- a/deploy/operator-role-olm-cluster.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - console.openshift.io
-  resources:
-  - consoleclidownloads
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - camel.apache.org
-  resources:
-  - '*'
-  verbs:
-  - '*'
diff --git a/deploy/operator-role-olm.yaml b/deploy/operator-role-olm.yaml
deleted file mode 100644
index da52148..0000000
--- a/deploy/operator-role-olm.yaml
+++ /dev/null
@@ -1,269 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - camel.apache.org
-  resources:
-  - "*"
-  verbs:
-  - "*"
-- apiGroups:
-  - ""
-  resources:
-  - pods
-  - services
-  - endpoints
-  - persistentvolumeclaims
-  - configmaps
-  - secrets
-  - serviceaccounts
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - policy
-  resources:
-  - poddisruptionbudgets
-  verbs:
-  - create
-  - delete
-  - get
-  - update
-  - patch
-  - list
-- apiGroups:
-  - rbac.authorization.k8s.io
-  resources:
-  - roles
-  - rolebindings
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  resources:
-  - events
-  verbs:
-  - create
-  - patch
-  - get
-  - list
-  - watch
-- apiGroups:
-  - apps
-  resources:
-  - deployments
-  - replicasets
-  - statefulsets
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - batch
-  resources:
-  - cronjobs
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - apps
-  attributeRestrictions: null
-  resources:
-  - daemonsets
-  verbs:
-  - get
-  - list
-  - watch
-- apiGroups:
-  - extensions
-  resources:
-  - ingresses
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  - "build.openshift.io"
-  resources:
-  - buildconfigs
-  - buildconfigs/webhooks
-  - builds
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  - "image.openshift.io"
-  resources:
-  - imagestreamimages
-  - imagestreammappings
-  - imagestreams
-  - imagestreams/secrets
-  - imagestreamtags
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  - build.openshift.io
-  attributeRestrictions: null
-  resources:
-  - buildconfigs/instantiate
-  - buildconfigs/instantiatebinary
-  - builds/clone
-  verbs:
-  - create
-- apiGroups:
-  - ""
-  - "route.openshift.io"
-  resources:
-  - routes
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  - route.openshift.io
-  resources:
-  - routes/custom-host
-  verbs:
-  - create
-- apiGroups:
-  - serving.knative.dev
-  resources:
-  - services
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - eventing.knative.dev
-  - messaging.knative.dev
-  resources:
-  - "*"
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - rbac.authorization.k8s.io
-  resources:
-  - clusterroles
-  verbs:
-  - bind
-  resourceNames:
-  - system:image-builder
-- apiGroups:
-  - monitoring.coreos.com
-  resources:
-  - servicemonitors
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - "kafka.strimzi.io"
-  resources:
-  - kafkatopics
-  - kafkas
-  verbs:
-  - get
-  - list
-  - watch
-- apiGroups:
-  - "coordination.k8s.io"
-  resources:
-  - leases
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
diff --git a/deploy/operator-role-servicemonitors.yaml b/deploy/operator-role-servicemonitors.yaml
deleted file mode 100644
index 98b2061..0000000
--- a/deploy/operator-role-servicemonitors.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-servicemonitors
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - monitoring.coreos.com
-  resources:
-  - servicemonitors
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
diff --git a/deploy/operator-role-strimzi.yaml b/deploy/operator-role-strimzi.yaml
deleted file mode 100644
index ab0a91d..0000000
--- a/deploy/operator-role-strimzi.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k-operator-strimzi
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - "kafka.strimzi.io"
-  resources:
-  - kafkatopics
-  - kafkas
-  verbs:
-  - get
-  - list
-  - watch
diff --git a/deploy/operator-service-account.yaml b/deploy/operator-service-account.yaml
deleted file mode 100644
index fabf3d3..0000000
--- a/deploy/operator-service-account.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: camel-k-operator
-  labels:
-    app: "camel-k"
diff --git a/deploy/platform-cr.yaml b/deploy/platform-cr.yaml
deleted file mode 100644
index e5e793a..0000000
--- a/deploy/platform-cr.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: IntegrationPlatform
-metadata:
-  name: camel-k
-  labels:
-    app: "camel-k"
diff --git a/deploy/resources.go b/deploy/resources.go
deleted file mode 100644
index 27fe5ae..0000000
--- a/deploy/resources.go
+++ /dev/null
@@ -1,582 +0,0 @@
-/*
-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 vfsgen; DO NOT EDIT.
-
-package deploy
-
-import (
-	"bytes"
-	"compress/gzip"
-	"fmt"
-	"io"
-	"io/ioutil"
-	"net/http"
-	"os"
-	pathpkg "path"
-	"time"
-)
-
-// assets statically implements the virtual filesystem provided to vfsgen.
-var assets = func() http.FileSystem {
-	fs := vfsgen۰FS{
-		"/": &vfsgen۰DirInfo{
-			name:    "/",
-			modTime: time.Time{},
-		},
-		"/addons": &vfsgen۰DirInfo{
-			name:    "addons",
-			modTime: time.Time{},
-		},
-		"/addons/master": &vfsgen۰DirInfo{
-			name:    "master",
-			modTime: time.Time{},
-		},
-		"/addons/master/master-role-binding.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "master-role-binding.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 357,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\x3d\x4f\xc4\x30\x0c\x86\xf7\xfc\x0a\xab\x7b\x83\xd8\x50\x36\x58\xd8\x18\x8a\xc4\xee\xa6\x06\x4c\x93\x38\xca\x47\x07\xaa\xfe\x77\xd4\x16\xe9\x7a\xd2\xa9\x37\x26\x8f\x5e\xfb\xf1\x3b\x72\x18\x0c\x74\xe2\xe8\x85\xc3\xc0\xe1\x4b\x61\xe4\x0f\x4a\x99\x25\x18\x48\x3d\x5a\x8d\xb5\x7c\x4b\xe2\x5f\x2c\x2c\x41\x8f\x4f\x59\xb3\x3c\x4c\x8f\xca\x53\xc1\x01\x0b\x1a\x05\x10\xd0\x93\x81\x79\x06\xfd\x86\x9e\x60\x59\xfe\xff\x72\x [...]
-		},
-		"/addons/master/master-role-configmap.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "master-role-configmap.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 342,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x8d\xb1\x4e\x04\x31\x0c\x44\xfb\x7c\x85\xb5\xfd\x2e\xa2\x43\xf9\x01\x3a\x0a\x0a\x7a\x6f\x62\xee\xac\x4d\x62\xcb\x49\x0e\x89\xd3\xfd\x3b\x22\x7b\x2b\x21\x68\xa8\x3c\x7e\x33\xf6\x6c\x5c\xa2\x87\x57\x49\xe4\x50\xf9\x8d\xac\xb2\x14\x0f\xb6\x62\x58\xb0\xb7\xb3\x18\x7f\x62\x63\x29\xcb\xf6\x54\x17\x96\x87\xcb\xa3\xcb\xd4\x30\x62\x43\xef\x00\x0a\x66\xf2\x70\xbd\xc2\xf2\x82\x99\xe0\x76\xbb\xb3\xaa\x18\x7e\x18\x63\xdd\xdd\x [...]
-		},
-		"/addons/master/master-role-lease.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "master-role-lease.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 389,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x8e\x31\x4e\xc4\x30\x10\x45\x7b\x9f\x62\x94\x3e\x41\x74\xc8\x17\xa0\xa3\xa0\xa0\x9f\xd8\x5f\xac\x15\xc7\x63\x8d\xed\x45\x62\xb5\x77\x47\xeb\x04\x69\x21\xdb\x7d\xff\x19\xbf\x79\x4b\x48\xde\xd2\xbb\x44\x18\xce\xe1\x03\x5a\x82\x24\x4b\x3a\xb3\x9b\xb8\xd5\x93\x68\xf8\xe6\x1a\x24\x4d\xcb\x4b\x99\x82\x3c\x9d\x9f\xcd\x8a\xca\x9e\x2b\x5b\x43\x94\x78\x85\xa5\xcb\x85\xa6\x37\x5e\x41\xd7\xeb\xde\x95\xcc\xee\x6e\xd0\x9f\xdb\x [...]
-		},
-		"/builder-role-binding.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "builder-role-binding.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1202,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xe3\x36\x14\x84\xef\xfc\x15\x03\xeb\x92\x00\xb6\xdc\xf6\x54\xb8\x27\x25\xb1\x5b\xa1\x81\x0d\x58\xce\x06\x39\x52\xd4\xb3\xf4\xd6\x14\xa9\x25\xa9\x28\xde\x5f\xbf\xa0\x6c\x6f\x12\x2c\x36\xa7\xf0\x26\xe8\x69\xde\x37\x9c\x51\x82\xd9\xe7\x1d\x91\xe0\x9e\x15\x19\x4f\x15\x82\x45\x68\x08\x59\x27\x55\x43\x28\xec\x3e\x0c\xd2\x11\x56\xb6\x37\x95\x0c\x6c\x0d\xae\xb2\x62\x75\x8d\xde\x54\xe4\x60\x0d\xc1\x3a\xb4\xd6\x [...]
-		},
-		"/builder-role-kubernetes.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "builder-role-kubernetes.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1451,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\x1b\x37\x10\xbd\xf3\x2b\x1e\x76\x2f\x49\x61\x49\x6d\x4f\x85\x7a\x52\x1d\xbb\x5d\x34\x90\x00\xaf\xd2\x20\x47\x8a\x3b\xda\x1d\x98\x4b\xb2\x43\xae\x37\xee\xd7\x17\xa4\xa4\x46\xae\x2f\x09\x10\x5e\x34\xa4\x1e\xdf\xbc\xc7\x37\x52\x8d\xc5\xf7\x5b\xaa\xc6\x7b\x36\xe4\x22\x75\x48\x1e\x69\x20\x6c\x82\x36\x03\xa1\xf5\xc7\x34\x6b\x21\xdc\xfb\xc9\x75\x3a\xb1\x77\x78\xb3\x69\xef\xdf\x62\x72\x1d\x09\xbc\x23\x78\xc1\x [...]
-		},
-		"/builder-role-openshift.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "builder-role-openshift.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 2116,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\x4f\x8f\xdb\xb6\x13\xbd\xf3\x53\x3c\x48\x97\xe4\x87\xb5\xfc\x6b\x4f\x85\x7b\x72\x37\xbb\xad\xd1\xc0\x06\x56\x4e\x83\x1c\xc7\xd4\x58\x1a\x2c\x45\xb2\x24\xb5\xca\xf6\xd3\x17\xa2\xed\xae\x1d\xa7\xff\xd0\x00\xd1\xc5\xa3\xe1\xf0\xcd\x7b\xf3\xc6\x2a\x31\xfb\x72\x8f\x2a\xf1\x56\x34\xdb\xc8\x0d\x92\x43\xea\x18\x4b\x4f\xba\x63\xd4\x6e\x9f\x46\x0a\x8c\x7b\x37\xd8\x86\x92\x38\x8b\x57\xcb\xfa\xfe\x35\x06\xdb\x70\x80\xb3\x [...]
-		},
-		"/builder-service-account.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "builder-service-account.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1038,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x3d\x6f\xdb\x30\x14\xdc\xf9\x2b\x0e\xd6\x92\x00\xfe\x68\x3b\xba\x93\x9a\xd8\xa8\xd0\xc0\x06\x22\xa7\x41\xc6\x67\xf1\x59\x7a\x08\x45\xaa\x24\x15\xc5\xff\xbe\xa0\x6c\x37\x09\xba\x86\x9b\xa0\xd3\x7d\xf0\x4e\x19\x66\x9f\x77\x54\x86\x3b\xa9\xd8\x06\xd6\x88\x0e\xb1\x61\xe4\x1d\x55\x0d\xa3\x74\x87\x38\x90\x67\xac\x5d\x6f\x35\x45\x71\x16\x57\x79\xb9\xbe\x46\x6f\x35\x7b\x38\xcb\x70\x1e\xad\xf3\xac\x32\x54\xce\x46\x2f\x [...]
-		},
-		"/camel-catalog-1.6.0.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "camel-catalog-1.6.0.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 89253,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\x4b\x77\xdb\xb8\xb2\xee\x3c\xbf\x82\xab\x33\x39\x67\xdd\xad\xda\xdd\xc9\xd9\xdd\x77\xf5\x1d\xd9\x4a\x9c\xd8\xb1\x1d\x27\xf2\x4e\xb2\x7b\xd2\x0b\x22\x21\x09\x16\x49\xd0\x00\x24\xd9\xf9\xf5\x77\xe1\xc1\x97\x24\x17\x1f\x06\x7c\x3c\x30\x49\xa1\xf0\x15\x50\x78\x15\x80\x42\xe1\x75\x34\xf1\xf7\xf7\xea\x75\x74\xc9\x62\x9a\x4b\x9a\x44\x8a\x47\x6a\x45\xa3\x93\x82\xc4\x2b\x1a\xcd\xf8\x42\xed\x88\xa0\xd1\x19\xdf\xe4\x09\x [...]
-		},
-		"/cr-example.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "cr-example.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1411,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\xdb\x46\x10\xbd\xf3\x2b\x5e\xcd\x83\x64\xc0\xa6\x9c\x1e\x55\x18\x81\xe2\xd8\x35\x91\x40\x02\x4c\x25\x41\x50\xf4\xb0\xe6\x8e\xc8\x41\xc8\x1d\x76\x76\x69\x5a\x68\xfb\xef\xc5\x92\x52\x23\xb5\xd7\xec\x49\xda\x99\x7d\xf3\xde\xbe\xb7\x4c\x71\xfd\xe3\x56\x92\xe2\x23\x97\xe4\x3c\x59\x04\x41\xa8\x09\xab\xce\x94\x35\xa1\x90\x5d\x18\x8c\x12\x1e\xa4\x77\xd6\x04\x16\x87\xf9\xaa\x78\xb8\x44\xef\x2c\x29\xc4\x11\x44\x [...]
-		},
-		"/crd-build.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "crd-build.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 314733,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfd\x73\x1b\x37\x92\x30\x8e\xff\x9e\xbf\x02\xa5\x6c\x95\xa4\x8b\x48\xd9\x77\xf9\xee\xed\x69\xaf\x2e\xa5\x58\x72\x4e\x95\xd8\xd6\x63\xca\xc9\xf7\x2a\x9b\xdb\x02\x67\x40\x12\xab\x19\x60\x02\x60\x28\x73\x9f\x3c\xff\xfb\xa7\xd0\x00\xe6\x85\x2f\x62\x63\x48\xca\x72\x32\xf8\xc5\x16\xc9\xe9\x01\x1a\x8d\x46\xbf\xf7\x97\x64\xb0\xbf\xf1\xc5\x97\xe4\x07\x9e\x30\xa1\x59\x4a\x8c\x24\x66\xc6\xc8\x65\x41\x93\x19\x23\x23\x39\x [...]
-		},
-		"/crd-camel-catalog.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "crd-camel-catalog.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 13133,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x93\xe2\xb8\x11\x7f\xf7\xa7\xe8\x1a\x1e\xf6\xae\x6a\x30\xb7\x49\x1e\x52\xe4\x89\xb0\xb3\x15\x6a\xf7\x66\xa6\x06\x6e\xaf\xee\x51\xd8\x8d\xd1\x8e\x2c\x39\x92\x0c\x4b\x52\xf9\xee\x29\x49\x36\xb6\x01\xdb\xf2\x1c\x5b\x93\x3f\xd3\x4f\x60\xb5\xbb\x5b\xbf\xfe\x6b\x5b\x23\x18\x5f\x8f\x82\x11\x7c\xa6\x11\x72\x85\x31\x68\x01\x7a\x8b\x30\xcb\x48\xb4\x45\x58\x8a\x8d\xde\x13\x89\xf0\x51\xe4\x3c\x26\x9a\x0a\x0e\x3f\xcc\x [...]
-		},
-		"/crd-integration-kit.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "crd-integration-kit.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 7815,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x58\x5f\x93\xe2\xb8\x11\x7f\xf7\xa7\xe8\x1a\x1e\xf6\xae\x6a\x30\xb7\x49\x1e\x52\xe4\x89\xb0\x3b\x15\x6a\x77\x67\xa6\x06\xf6\xae\xae\x6a\x5f\x1a\xbb\x31\x7d\xc8\x92\x23\xc9\x30\x93\x54\xbe\x7b\x4a\x92\x0d\xf6\x60\x03\xc3\xed\xfa\x09\x2c\xa9\xfb\xd7\xff\x7e\xdd\xd6\x00\x86\xdf\xef\x89\x06\xf0\x99\x13\x92\x86\x52\xb0\x0a\xec\x9a\x60\x52\x60\xb2\x26\x98\xab\x95\xdd\xa1\x26\xb8\x53\xa5\x4c\xd1\xb2\x92\xf0\xd3\x64\x7e\x [...]
-		},
-		"/crd-integration-platform.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "crd-integration-platform.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 16886,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\xdf\x8f\xe2\x38\xf2\x7f\xcf\x5f\x51\x1a\x1e\x66\x57\x6a\x60\xe7\xfb\xbd\x87\x13\xf7\x70\xea\x65\x66\x74\x68\x66\xba\x5b\x0d\x33\xab\x7d\x34\x49\x11\xbc\x38\x76\xce\x3f\x9a\x61\x4f\xf7\xbf\x9f\x5c\x4e\x20\x40\x12\x42\x77\xaf\x4e\xba\x8d\x5f\xba\x21\x76\xf9\x53\x55\xae\x8f\xcb\x2e\x32\x80\xe1\xeb\xb5\x68\x00\x9f\x79\x8c\xd2\x60\x02\x56\x81\x5d\x23\xdc\xe6\x2c\x5e\x23\xcc\xd5\xca\x6e\x99\x46\xf8\xa8\x9c\x4c\x98\x [...]
-		},
-		"/crd-integration.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "crd-integration.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 13805,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3b\x4f\x73\xdb\xb8\xf5\x77\x7e\x8a\x37\xd6\x21\xc9\x8c\x45\x6d\x76\x7f\x87\xdf\xa8\x27\xd5\x89\xa7\x6a\x1c\xdb\x63\x29\xbb\x93\x23\x44\x3e\x91\x58\x83\x00\x0b\x80\x92\xb5\x9d\x7e\xf7\x0e\x1e\x48\x89\x94\x48\x4a\x96\xbd\x6d\x66\x6a\x9e\x2c\x02\x0f\xef\xff\x5f\xc2\x03\x18\xbe\xde\x13\x0c\xe0\x86\x47\x28\x0d\xc6\x60\x15\xd8\x14\x61\x92\xb3\x28\x45\x98\xa9\xa5\x5d\x33\x8d\x70\xad\x0a\x19\x33\xcb\x95\x84\xf7\x93\xd9\x [...]
-		},
-		"/crd-kamelet-binding.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "crd-kamelet-binding.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 35967,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x6f\xdb\xb8\xd2\xf0\x77\xff\x8a\x41\xb2\x40\x53\x20\xf2\x25\x4e\xba\xad\xdf\x0f\x45\x36\x69\xf6\xf5\xd9\x6e\x12\xc4\xc9\x39\xd8\x27\xed\x01\x68\x69\x6c\x73\x43\x91\x3a\x24\x65\xc7\xcf\x36\xff\xfd\x01\x49\xc9\x96\x2f\x92\xe5\x38\xe9\xe9\x02\x22\x50\xd4\x92\xa8\xe1\xdc\x39\x1c\x72\xa2\x7d\xf0\x5e\xae\xd5\xf6\xe1\x33\xf5\x91\x2b\x0c\x40\x0b\xd0\x23\x84\xd3\x88\xf8\x23\x84\x9e\x18\xe8\x09\x91\x08\x17\x22\xe6\x [...]
-		},
-		"/crd-kamelet.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "crd-kamelet.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 23849,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x7d\x4f\xe3\x3a\xba\xff\xbf\x9f\xe2\x11\x1c\xe9\x30\x12\x29\x2d\x85\x39\x33\xbd\x7f\x20\x0e\x0c\x7b\x7b\x0f\x07\x10\x85\x5d\x9d\x0b\xb3\x92\x9b\x3c\x6d\xbd\x24\x76\xd6\x76\x28\xec\x81\xef\x7e\x65\x3b\x69\xd3\x97\x24\x4e\x29\xec\xe8\x6a\x2d\x8d\xa6\x4d\xed\x9f\x9f\x37\x3f\x7e\xfb\x91\x6d\xf0\x36\x57\x1a\xdb\x70\x4e\x7d\x64\x12\x03\x50\x1c\xd4\x18\xe1\x38\x26\xfe\x18\xa1\xcf\x87\x6a\x42\x04\xc2\x19\x4f\x58\x40\x [...]
-		},
-		"/operator-deployment.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-deployment.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 2395,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x55\xc1\x6e\xe3\x36\x10\xbd\xeb\x2b\x1e\xac\xcb\x2e\x10\xdb\x49\xd1\x02\x0b\xf5\xa4\x26\x4e\x63\x34\xb5\x0d\xcb\xdb\x60\x4f\x05\x4d\x8d\x25\x22\x14\x47\x25\x29\x7b\xd5\xaf\x2f\x28\x5b\x8e\xed\x4d\xd3\x1e\x02\x2c\x4f\x96\x66\xe6\xcd\x7b\x33\x4f\x74\x8c\xe1\xfb\x9d\x28\xc6\xa3\x92\x64\x1c\xe5\xf0\x0c\x5f\x12\xd2\x5a\xc8\x92\x90\xf1\xc6\xef\x84\x25\xdc\x73\x63\x72\xe1\x15\x1b\x7c\x48\xb3\xfb\x8f\x68\x4c\x4e\x16\x6c\x [...]
-		},
-		"/operator-pod-monitor.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-pod-monitor.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1239,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\xe3\x36\x10\xbd\xeb\x57\x3c\x58\x97\x5d\xc0\x96\xdb\x1e\xd5\x93\x9b\xb5\x51\xa1\x59\xbb\x88\xbc\x0d\x72\xa4\xc9\xb1\x34\x88\xc4\x61\x49\x2a\x8a\xff\x7d\x41\xd9\x4e\x1c\xb4\x87\x1e\xc2\x1b\xcd\xf1\xfb\x98\xf7\x94\x63\xf1\x79\x27\xcb\x71\xcf\x9a\x6c\x20\x83\x28\x88\x2d\x61\xe5\x94\x6e\x09\xb5\x1c\xe3\xa8\x3c\x61\x23\x83\x35\x2a\xb2\x58\x7c\x59\xd5\x9b\xaf\x18\xac\x21\x0f\xb1\x04\xf1\xe8\xc5\x53\x96\x43\x [...]
-		},
-		"/operator-prometheus-rule.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-prometheus-rule.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 5408,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x97\xef\x6f\xda\x46\x18\xc7\xdf\xfb\xaf\xf8\x0a\xb7\x12\x99\x82\x81\x4c\xd9\x0b\xa6\x4e\xa2\x69\xd0\x50\x2b\xd8\x62\xba\xaa\x9a\xa6\xe8\xb0\x1f\xcc\x35\xe7\x3b\xf7\x7e\x40\x23\x96\xff\x7d\xba\x03\x5a\xdc\x2e\x49\xdb\xd0\x6e\x89\xdf\x24\x3e\x3f\x7e\x7e\x7d\x3f\x7e\xee\x88\xd1\xda\xdf\x15\xc5\x78\xc1\x33\x92\x86\x72\x58\x05\x3b\x27\xf4\x2b\x96\xcd\x09\xa9\x9a\xd9\x25\xd3\x84\x81\x72\x32\x67\x96\x2b\x89\x66\x3f\x1d\x [...]
-		},
-		"/operator-role-binding-events.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-binding-events.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1219,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xfa\x46\x10\xc5\xef\xfb\x29\x9e\xf0\xe5\x1f\x09\x4c\xdb\x53\x45\x4f\x4e\x02\xad\xd5\x08\x24\x4c\x1a\xe5\xb8\xac\x07\x7b\x8a\xbd\xe3\xee\xae\x71\xe8\xa7\xaf\xd6\x40\x93\xa8\x6a\xd5\x43\xf6\x86\x18\xbf\xf9\xbd\x7d\x6f\x13\xcc\xbe\xee\xa8\x04\x4f\x6c\xc8\x7a\x2a\x11\x04\xa1\x26\x64\x9d\x36\x35\xa1\x90\x43\x18\xb4\x23\xac\xa4\xb7\xa5\x0e\x2c\x16\xdf\xb2\x62\x75\x87\xde\x96\xe4\x20\x96\x20\x0e\xad\x38\x52\x [...]
-		},
-		"/operator-role-binding-knative.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-binding-knative.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1221,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x8f\xdb\x36\x10\x85\xef\xfc\x15\x0f\xd6\x25\x01\xd6\x72\xdb\x53\xe1\x9e\x94\xcd\x6e\x2b\x34\xb0\x01\xcb\x69\x90\xe3\x98\x1a\x4b\x53\x4b\x1c\x95\xa4\xac\xb8\xbf\xbe\xa0\x6c\x77\x37\x28\x5a\xf4\x10\xde\x04\x8d\xde\x7c\x8f\xef\x29\xc3\xf2\xdb\x1d\x93\xe1\x83\x58\x76\x81\x6b\x44\x45\x6c\x19\xc5\x40\xb6\x65\x54\x7a\x8c\x13\x79\xc6\xb3\x8e\xae\xa6\x28\xea\xf0\xa6\xa8\x9e\xdf\x62\x74\x35\x7b\xa8\x63\xa8\x47\xaf\x [...]
-		},
-		"/operator-role-binding-leases.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-binding-leases.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1219,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x8f\xdb\x36\x10\x85\xef\xfc\x15\x0f\xd6\x25\x01\xd6\x72\xdb\x53\xe1\x9e\x9c\xcd\x6e\x2b\x34\xb0\x01\xcb\x69\x90\xe3\x98\x1a\x4b\xd3\xa5\x38\x2a\x49\xad\xe2\xfe\xfa\x82\xb2\xdd\xdd\xa0\x68\xd1\x43\x78\x13\x34\x7a\xf3\x3d\xbe\xa7\x02\xcb\x6f\x77\x4c\x81\x0f\x62\xd9\x47\x6e\x90\x14\xa9\x63\x6c\x06\xb2\x1d\xa3\xd6\x53\x9a\x28\x30\x1e\x75\xf4\x0d\x25\x51\x8f\x37\x9b\xfa\xf1\x2d\x46\xdf\x70\x80\x7a\x86\x06\xf4\x [...]
-		},
-		"/operator-role-binding-servicemonitors.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-binding-servicemonitors.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1237,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x8f\xdb\x36\x10\xbd\xf3\x57\x3c\x58\x97\x04\x58\xcb\x6d\x4f\x85\x7b\x52\x36\xeb\x56\x68\x60\x03\x96\xd3\x20\x47\x9a\x1a\x4b\x53\x4b\x1c\x75\x48\xad\xe2\xfe\xfa\x82\xb2\xdd\xdd\xa0\x68\x81\x02\xe1\xcd\xf0\xcc\xfb\x98\xf7\x94\x61\xf9\xed\x9e\xc9\xf0\x81\x1d\xf9\x40\x35\xa2\x20\xb6\x84\x62\xb0\xae\x25\x54\x72\x8a\x93\x55\xc2\x46\x46\x5f\xdb\xc8\xe2\xf1\xa6\xa8\x36\x6f\x31\xfa\x9a\x14\xe2\x09\xa2\xe8\x45\xc9\x [...]
-		},
-		"/operator-role-binding-strimzi.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-binding-strimzi.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1221,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xfa\x46\x10\xc5\xef\xfb\x29\x9e\xf0\xe5\x1f\x09\x4c\xdb\x53\x45\x4f\x4e\x02\xad\xd5\x08\x24\x4c\x1a\xe5\xb8\xac\x07\x7b\x8a\xbd\xe3\xee\xae\xe3\x90\x4f\x5f\xad\x81\x26\x51\xd5\xea\x7f\xc8\xde\x10\xc3\x9b\xdf\x9b\xf7\x48\x30\xfb\xba\xa7\x12\x3c\xb0\x21\xeb\xa9\x44\x10\x84\x9a\x90\x75\xda\xd4\x84\x42\x0e\x61\xd0\x8e\xb0\x92\xde\x96\x3a\xb0\x58\x7c\xcb\x8a\xd5\x0d\x7a\x5b\x92\x83\x58\x82\x38\xb4\xe2\x48\x [...]
-		},
-		"/operator-role-binding.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-binding.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1205,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xc2\x46\x10\x85\xef\xfb\x2b\x9e\xf0\x25\x91\xc0\xb4\x3d\x55\xf4\xe4\x24\xd0\x5a\x8d\x40\xc2\xa4\x51\x8e\xcb\x7a\xb0\xa7\xd8\x3b\xee\xee\x3a\x0e\xfd\xf5\xd5\x1a\x68\x12\x55\xcd\x29\x7b\xb3\x3c\x7e\xf3\xbd\x7d\xcf\x09\x66\xdf\x77\x54\x82\x47\x36\x64\x3d\x95\x08\x82\x50\x13\xb2\x4e\x9b\x9a\x50\xc8\x21\x0c\xda\x11\x56\xd2\xdb\x52\x07\x16\x8b\x9b\xac\x58\xdd\xa2\xb7\x25\x39\x88\x25\x88\x43\x2b\x8e\x54\x02\x [...]
-		},
-		"/operator-role-events.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-events.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1170,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xac\x4b\x02\xac\xe5\xb6\xa7\xc2\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x8e\x63\x69\x2c\x0d\x56\xe2\xa8\x43\x6a\x15\xf7\xeb\x0b\xca\x72\xb2\x41\xaf\xcb\x8b\x69\xf2\xe9\xcd\x7b\xf3\x86\x19\xd6\x6f\xb7\x5c\x86\x8f\x52\xb1\x0f\x5c\x23\x2a\x62\xcb\xd8\x0d\x54\xb5\x8c\x52\xcf\x71\x22\x63\x3c\xea\xe8\x6b\x8a\xa2\x1e\xef\x76\xe5\xe3\x7b\x8c\xbe\x66\x83\x7a\x86\x1a\x7a\x35\x76\x [...]
-		},
-		"/operator-role-knative.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-knative.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1442,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xac\x4b\x52\xac\xe5\xb6\xa7\xc2\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x8e\x63\x6a\x2c\x0d\x4c\x91\xea\x90\xb2\xb2\xfd\xfa\x42\xb2\xdc\x78\xb1\x45\x4f\x8b\xf2\xa2\x11\xf9\xf4\xe6\x3d\xbe\x51\x86\xe5\xdb\x2d\x93\xe1\xa3\x58\xf6\x91\x2b\xa4\x80\xd4\x30\x36\x1d\xd9\x86\x51\x86\x63\x1a\x48\x19\x8f\xa1\xf7\x15\x25\x09\x1e\xef\x36\xe5\xe3\x7b\xf4\xbe\x62\x45\xf0\x8c\xa0\x68\x [...]
-		},
-		"/operator-role-kubernetes.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-kubernetes.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 2375,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\xc1\x72\xdb\x36\x10\xbd\xf3\x2b\xde\x88\x97\xa4\x63\xc9\x6d\x4f\x1d\xf5\xa4\x26\x76\xab\x69\x46\x9a\x31\x95\x66\x72\x04\xc1\x15\xb5\x35\x88\x45\x01\x50\xb2\xfa\xf5\x1d\x40\x54\x22\x9b\xce\x8c\x0f\x9e\x86\x17\x2d\xc0\xe5\xdb\xb7\xfb\x9e\xb6\xc4\xf4\xf5\x9e\xa2\xc4\x07\xd6\x64\x03\x35\x88\x82\xb8\x23\x2c\x9c\xd2\x3b\x42\x25\xdb\x78\x50\x9e\x70\x2b\xbd\x6d\x54\x64\xb1\x78\xb3\xa8\x6e\xdf\xa2\xb7\x0d\x79\x88\x25\x [...]
-		},
-		"/operator-role-leases.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-leases.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1232,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\xdb\x46\x10\xbd\xef\xaf\x78\x10\x2f\x09\x60\xd1\x6d\x4f\x85\x7a\x52\x1d\xbb\x25\x1a\x48\x80\xa9\x34\xc8\x71\xb5\x1c\x91\x03\x2f\x77\xb6\xb3\x4b\x33\xee\xaf\x2f\x96\x92\x12\x1b\xbd\x86\xa7\xd1\xea\xf1\x7d\xec\x1b\x56\x58\xff\xb8\xc7\x54\xf8\xc8\x8e\x42\xa2\x0e\x59\x90\x07\xc2\x36\x5a\x37\x10\x5a\x39\xe5\xd9\x2a\xe1\x41\xa6\xd0\xd9\xcc\x12\xf0\x6e\xdb\x3e\xbc\xc7\x14\x3a\x52\x48\x20\x88\x62\x14\x25\x53\x [...]
-		},
-		"/operator-role-olm-cluster.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-olm-cluster.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1316,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x72\xdb\x36\x10\xbd\xe3\x2b\xde\x88\x87\x24\x1d\x8b\x6a\x7b\xea\xa8\x27\xd5\xb1\x5b\x4e\x33\xd2\x8c\xa9\x34\x93\x23\x44\xae\xc8\x1d\x83\x58\x74\x01\x9a\x71\xbf\xbe\x03\x4a\x4a\xac\xf1\xd5\xb8\x70\x09\x3e\xee\xbe\x87\xf7\x50\x60\xf9\x76\xcb\x14\xf8\xc4\x0d\xf9\x48\x2d\x92\x20\xf5\x84\x4d\xb0\x4d\x4f\xa8\xe5\x98\x26\xab\x84\x7b\x19\x7d\x6b\x13\x8b\xc7\xfb\x4d\x7d\xff\x01\xa3\x6f\x49\x21\x9e\x20\x8a\x41\x94\x [...]
-		},
-		"/operator-role-olm.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-olm.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 4252,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x57\x51\x8f\xdb\x36\x0c\x7e\xf7\xaf\x20\x92\x97\x76\xb8\x38\xdb\x9e\x86\xec\xe9\xd6\xde\x6d\xc1\x8a\x1c\x70\xb9\xae\xe8\x23\x2d\x33\x36\x17\x59\xd4\x24\x39\x69\xfa\xeb\x07\xc9\x4e\xcf\xa9\x73\xeb\x75\x28\x1a\xbf\x44\x96\x68\xf2\x23\xbf\x4f\x94\x32\x85\xd9\xb7\x7b\xb2\x29\xbc\x61\x45\xc6\x53\x09\x41\x20\xd4\x04\xd7\x16\x55\x4d\xb0\x96\x4d\xd8\xa3\x23\xb8\x95\xd6\x94\x18\x58\x0c\xbc\xb8\x5e\xdf\xbe\x84\xd6\x94\xe4\x [...]
-		},
-		"/operator-role-openshift.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-openshift.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 3153,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\xc1\x8e\xdb\x36\x10\xbd\xeb\x2b\x06\xd2\x25\x29\xd6\x76\xdb\x53\xe1\x9e\xdc\x64\xb7\x35\x1a\xd8\xc0\xda\x69\x90\xe3\x88\x1a\x4b\xd3\xa5\x38\x2c\x49\xd9\x71\xbf\xbe\x20\x25\x27\xf2\x6a\x17\x49\x81\x00\xeb\x8b\x47\xc3\xd1\x9b\x37\xf3\x9e\x58\xc0\xec\xfb\xfd\xb2\x02\xde\xb1\x22\xe3\xa9\x82\x20\x10\x1a\x82\x95\x45\xd5\x10\xec\xe4\x10\x4e\xe8\x08\xee\xa4\x33\x15\x06\x16\x03\xaf\x56\xbb\xbb\xd7\xd0\x99\x8a\x1c\x88\x [...]
-		},
-		"/operator-role-servicemonitors.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-servicemonitors.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1250,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xac\x4b\x02\xac\xe5\xb6\xa7\xc2\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x8e\x34\x35\x96\x06\x4b\x71\xd4\x21\xb5\x8a\xfb\xf5\x85\x68\xb9\xd9\x45\xae\xe1\xc5\x63\x72\x66\xde\x7b\xf3\x46\x05\xd6\x3f\xee\x98\x02\x1f\xd9\x51\x88\xd4\x20\x09\x52\x47\xd8\x0d\xd6\x75\x84\x5a\xce\x69\xb2\x4a\x78\x94\x31\x34\x36\xb1\x04\xbc\xdb\xd5\x8f\xef\x31\x86\x86\x14\x12\x08\xa2\xe8\x45\xc9\x [...]
-		},
-		"/operator-role-strimzi.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-role-strimzi.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1177,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x6e\xdb\x46\x10\xbd\xef\x57\x3c\x88\x97\x04\xb0\xa8\xb6\xa7\x42\x3d\xa9\x8e\xdd\x12\x0d\x24\xc0\x54\x1a\xe4\x38\x22\x47\xe4\x40\xe4\x0e\x3b\xbb\x34\xe3\x7c\x7d\xb1\x14\xd5\x38\xe8\xd5\x7b\xe1\x10\xfb\xf8\xe6\xbd\x79\xc3\x0c\xeb\xb7\x3b\x2e\xc3\x47\xa9\xd8\x07\xae\x11\x15\xb1\x65\xec\x06\xaa\x5a\x46\xa9\xe7\x38\x91\x31\x1e\x75\xf4\x35\x45\x51\x8f\x77\xbb\xf2\xf1\x3d\x46\x5f\xb3\x41\x3d\x43\x0d\xbd\x1a\xbb\x [...]
-		},
-		"/operator-service-account.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "operator-service-account.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1039,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\x9b\x40\x14\xbc\xef\xaf\x18\x99\x4b\x22\xf9\xa3\xed\xd1\x3d\xd1\xc4\x56\x51\x23\x5b\x0a\x4e\xa3\x1c\x9f\xe1\x19\x9e\x02\xfb\xe8\xee\x12\xe2\x7f\x5f\x2d\xb6\x9b\x44\xbd\x66\x6f\x88\x61\x3e\x76\x86\x04\xb3\xcf\x3b\x26\xc1\x9d\x14\x6c\x3d\x97\x08\x8a\x50\x33\xd2\x8e\x8a\x9a\x91\xeb\x21\x0c\xe4\x18\x6b\xed\x6d\x49\x41\xd4\xe2\x2a\xcd\xd7\xd7\xe8\x6d\xc9\x0e\x6a\x19\xea\xd0\xaa\x63\x93\xa0\x50\x1b\x9c\xec\x [...]
-		},
-		"/platform-cr.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "platform-cr.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1052,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xcd\x6e\xdb\x3c\x10\xbc\xf3\x29\x06\xd6\x25\x01\x1c\xfb\xfb\x7a\x74\x4f\x6a\x62\xa3\x42\x03\xb9\x88\x9c\x06\x39\xae\xa5\xb5\xb4\x08\x45\xaa\x24\x15\xc5\x6f\x5f\x50\x96\x1b\x07\xbd\x86\x37\x81\xcb\xf9\xd9\x19\x25\xb8\xf9\xbc\xa3\x12\xdc\x4b\xc9\xc6\x73\x85\x60\x11\x1a\x46\xda\x51\xd9\x30\x0a\x7b\x08\x03\x39\xc6\xc6\xf6\xa6\xa2\x20\xd6\xe0\x2a\x2d\x36\xd7\xe8\x4d\xc5\x0e\xd6\x30\xac\x43\x6b\x1d\xab\x04\xa5\x35\x [...]
-		},
-		"/templates": &vfsgen۰DirInfo{
-			name:    "templates",
-			modTime: time.Time{},
-		},
-		"/templates/groovy.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "groovy.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 207,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x34\x8e\xc1\x6a\xc3\x30\x0c\x86\xef\x7e\x8a\xff\x30\xb0\x03\xdb\x9c\x5d\x0d\x61\xb0\x5d\x36\xf6\x00\x3b\x9b\x46\x71\x4d\xed\x28\x28\x4e\x69\x28\x7d\xf7\xe2\xa6\x39\xea\x43\xdf\x27\x59\x8b\x83\xcf\x94\xde\x4e\x0e\xc9\x8f\x61\xf1\x81\xba\x20\xcc\xe7\x55\x29\x6b\xf1\x2f\xb1\x10\x56\x5e\x04\xc2\x4b\xa1\x19\x47\x12\x7a\xc5\xc0\x02\xba\xf8\x3c\x25\x72\x6a\x10\xce\x46\x97\x98\x49\xdc\xe6\x7e\x4e\x24\x91\xfb\xee\xa3\x6d\x5b\x [...]
-		},
-		"/templates/java.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "java.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 390,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\x90\x41\x4b\xf3\x40\x10\x86\xef\xfb\x2b\x5e\xc2\x77\x48\xe1\x33\xa9\xd7\x94\xa2\x54\x04\x45\x50\xf0\xe2\x79\x9b\x9d\xa4\xa3\x9b\x4c\x98\x6c\x6a\x4b\xc8\x7f\x97\x8d\x01\xb3\xb7\x9d\x7d\xf6\x79\x79\x27\xcf\x51\xda\x86\xfc\xcd\x57\x01\x6f\xdb\x7a\xb0\x35\xed\x3f\xed\xd9\x1a\xc3\x4d\x27\x1a\x20\x5a\x67\xb6\xb3\xe5\x89\xb2\x99\xcc\x8e\x03\x7b\x47\x9a\xbd\xcb\x10\xe8\xf0\x7b\xd9\x19\xd3\x0d\x47\xcf\x25\x4a\x6f\xfb\x1e\x [...]
-		},
-		"/templates/js.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "js.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 195,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x34\x8e\xb1\x6a\xc3\x30\x14\x45\x77\x7d\xc5\x1d\x0a\x92\xa1\xad\xdc\x55\x60\x0a\xed\xd2\xd2\x0f\xe8\x2c\xe2\x67\x47\x8e\xe4\x67\x9e\x64\x88\x09\xf9\xf7\xa0\x24\x1e\xef\x81\x73\xb8\xd6\xe2\xe0\x13\xc5\xb7\x93\x43\xf4\xf3\xb8\xfa\x91\xba\x29\x2b\x65\x2d\xfe\x25\x14\xc2\xc6\xab\x40\x78\x2d\x94\x71\x24\xa1\x57\x0c\x2c\xa0\xb3\x4f\x4b\x24\xa7\x06\xe1\x64\x74\x09\x89\xc4\x4d\xf9\x73\x21\x09\xdc\x77\x1f\x6d\xdb\xea\x46\x01\x [...]
-		},
-		"/templates/kts.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "kts.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 200,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2c\x8e\x41\xca\xc2\x30\x10\x46\xf7\x39\xc5\x10\xfe\x45\x0a\xbf\xa6\x6e\x03\x45\xd0\x8d\xe2\x01\xdc\xb8\x09\x76\x5a\x43\x27\x9d\x32\x4d\xc1\x22\xde\x5d\x62\x5c\xbe\x61\xde\xe3\xb3\x16\xee\x3e\x22\x6d\x06\x07\xe4\xc7\x7e\xf1\x3d\x36\x03\x27\x0a\xa3\x52\xd6\xc2\x55\x42\x42\x58\x79\x11\x10\x5e\x12\xce\xf0\x40\xc1\x7f\xe8\x58\x00\x9f\x3e\x4e\x84\x4e\x75\xc2\xd1\xe8\x14\x22\x8a\x2b\xee\x7e\x42\x09\xdc\x36\xbb\xba\xae\x75\x [...]
-		},
-		"/templates/xml.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "xml.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 597,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x92\x4f\x4b\xf4\x30\x10\xc6\xcf\x6f\x3f\xc5\xbc\xe1\x3d\xbe\x69\xba\x7a\x91\x92\x76\x41\x41\x14\xd7\x93\x8a\x5e\x43\x3b\xdb\x06\xf3\xa7\x24\xa9\xcd\x22\x7e\x77\x69\xba\xae\x2b\x5e\x74\x4e\x2d\x33\xbf\xe7\x99\x79\x08\x5f\x47\xad\xe0\x05\x9d\x97\xd6\x54\x64\x95\x17\x04\xd0\x34\xb6\x95\xa6\xab\xc8\xc3\xfd\x25\x3d\x23\xeb\x3a\xe3\x7f\x29\x85\x46\x68\x54\xf4\xb9\x04\x25\x4c\x37\x8a\x0e\xab\x99\xa5\xb4\xce\x32\xee\xec\x [...]
-		},
-		"/templates/yaml.tmpl": &vfsgen۰CompressedFileInfo{
-			name:             "yaml.tmpl",
-			modTime:          time.Time{},
-			uncompressedSize: 230,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x44\x8e\x31\x4e\x04\x31\x0c\x45\xfb\x9c\xe2\x2b\xdb\x32\xd2\xd0\x5a\xa2\xa2\x41\xe2\x00\xd4\x66\xd7\x33\x44\x24\x71\xe4\x38\x12\x73\x7b\x94\x1d\xc1\xba\xfc\x7e\xf6\x7f\x17\x5c\xb9\x48\x5e\xbe\x09\x99\xeb\x3e\x78\x97\x97\x83\x4b\x0e\xe1\x82\x0f\x4b\x2e\x38\x74\x18\x4c\x87\x4b\xc7\x97\x98\x3c\x61\x53\x83\xfc\x70\x69\x59\x28\x2c\xd8\x4c\x0b\x05\x00\x18\x96\x08\xd1\x53\x11\xa3\xf9\x24\xde\xd3\xc6\xc6\x45\x5c\xac\x9f\x14\x [...]
-		},
-		"/traits.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "traits.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 34278,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\xfd\x6f\x1b\x37\xb6\xe8\xef\xfd\x2b\x08\xbd\x07\xd8\x32\xa4\xb1\xd3\x45\xb7\x5d\xbf\xd7\x57\xb8\x49\xba\xeb\xb4\x49\xfc\xe2\xb4\xbd\x17\xbd\x8b\x15\x35\x73\x24\x31\xe6\x90\xb3\x24\x47\x8e\x7a\x71\xff\xf7\x0b\x1e\x7e\xce\x68\x6c\x8f\x13\xbb\xf0\x02\x17\xf9\x21\x96\x34\x24\x0f\x0f\xcf\xf7\x07\xc7\x28\xca\x8c\x3e\xfd\x62\x4e\x04\xad\xe1\x94\xd0\xd5\x8a\x09\x66\x76\x5f\x10\xd2\x70\x6a\x56\x52\xd5\xa7\x64\x45\xb9\x [...]
-		},
-		"/user-cluster-role.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "user-cluster-role.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1315,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xa4\x4b\x52\xac\xe5\xb6\xa7\x42\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x50\xf4\x40\x8b\x63\x69\xb0\x14\xa9\x0e\xa9\x55\xb6\x5f\x5f\x90\xb6\x37\x5e\x14\x3d\x04\x08\x6f\x24\x87\x6f\xde\x9b\xf7\x58\x62\xf5\xed\x96\x2a\xf1\x9e\x3b\x72\x81\x0c\xa2\x47\x1c\x08\x9b\x49\x77\x03\xa1\xf5\xc7\xb8\x68\x21\xdc\xfb\xd9\x19\x1d\xd9\x3b\xbc\xd9\xb4\xf7\x6f\x31\x3b\x43\x02\xef\x08\x5e\x [...]
-		},
-		"/user-global-kamelet-viewer-role-binding.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "user-global-kamelet-viewer-role-binding.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1250,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xcd\x6e\xda\x4c\x14\xdd\xcf\x53\x1c\xe1\x4d\x22\x81\xf9\xbe\xae\x2a\x77\x45\x12\x68\xad\x46\x20\x61\xd2\x28\xcb\x8b\x7d\xb1\x6f\xb1\x67\xdc\x99\x71\x1c\xfa\xf4\xd5\x18\xc8\x8f\x2a\xb5\xaa\x94\xd9\x20\x34\x77\xce\xcf\x3d\xc7\x11\x26\xef\x77\x54\x84\x5b\xc9\x59\x3b\x2e\xe0\x0d\x7c\xc5\x98\xb5\x94\x57\x8c\xcc\xec\x7c\x4f\x96\xb1\x30\x9d\x2e\xc8\x8b\xd1\xb8\x98\x65\x8b\x4b\x74\xba\x60\x0b\xa3\x19\xc6\xa2\x31\x96\x [...]
-		},
-		"/user-global-kamelet-viewer-role.yaml": &vfsgen۰CompressedFileInfo{
-			name:             "user-global-kamelet-viewer-role.yaml",
-			modTime:          time.Time{},
-			uncompressedSize: 1166,
-
-			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4f\x6f\xfa\x46\x14\xbc\xef\xa7\x18\xe1\x4b\x22\x81\x69\x7b\xaa\xe8\x89\x26\xd0\x5a\x8d\x40\xc2\xa4\x51\x8e\x8b\xfd\xb0\x9f\x58\xef\xba\x6f\xd7\x38\xf4\xd3\x57\x6b\x4c\x43\xf4\xbb\x66\x2f\xeb\x3f\xe3\x37\x33\x3b\xe3\x04\xb3\xef\x5b\x2a\xc1\x0b\x17\x64\x3d\x95\x08\x0e\xa1\x26\x2c\x5b\x5d\xd4\x84\xdc\x1d\x43\xaf\x85\xb0\x76\x9d\x2d\x75\x60\x67\xf1\xb0\xcc\xd7\x8f\xe8\x6c\x49\x02\x67\x09\x4e\xd0\x38\x21\x95\xa0\x [...]
-		},
-	}
-	fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
-		fs["/addons"].(os.FileInfo),
-		fs["/builder-role-binding.yaml"].(os.FileInfo),
-		fs["/builder-role-kubernetes.yaml"].(os.FileInfo),
-		fs["/builder-role-openshift.yaml"].(os.FileInfo),
-		fs["/builder-service-account.yaml"].(os.FileInfo),
-		fs["/camel-catalog-1.6.0.yaml"].(os.FileInfo),
-		fs["/cr-example.yaml"].(os.FileInfo),
-		fs["/crd-build.yaml"].(os.FileInfo),
-		fs["/crd-camel-catalog.yaml"].(os.FileInfo),
-		fs["/crd-integration-kit.yaml"].(os.FileInfo),
-		fs["/crd-integration-platform.yaml"].(os.FileInfo),
-		fs["/crd-integration.yaml"].(os.FileInfo),
-		fs["/crd-kamelet-binding.yaml"].(os.FileInfo),
-		fs["/crd-kamelet.yaml"].(os.FileInfo),
-		fs["/operator-deployment.yaml"].(os.FileInfo),
-		fs["/operator-pod-monitor.yaml"].(os.FileInfo),
-		fs["/operator-prometheus-rule.yaml"].(os.FileInfo),
-		fs["/operator-role-binding-events.yaml"].(os.FileInfo),
-		fs["/operator-role-binding-knative.yaml"].(os.FileInfo),
-		fs["/operator-role-binding-leases.yaml"].(os.FileInfo),
-		fs["/operator-role-binding-servicemonitors.yaml"].(os.FileInfo),
-		fs["/operator-role-binding-strimzi.yaml"].(os.FileInfo),
-		fs["/operator-role-binding.yaml"].(os.FileInfo),
-		fs["/operator-role-events.yaml"].(os.FileInfo),
-		fs["/operator-role-knative.yaml"].(os.FileInfo),
-		fs["/operator-role-kubernetes.yaml"].(os.FileInfo),
-		fs["/operator-role-leases.yaml"].(os.FileInfo),
-		fs["/operator-role-olm-cluster.yaml"].(os.FileInfo),
-		fs["/operator-role-olm.yaml"].(os.FileInfo),
-		fs["/operator-role-openshift.yaml"].(os.FileInfo),
-		fs["/operator-role-servicemonitors.yaml"].(os.FileInfo),
-		fs["/operator-role-strimzi.yaml"].(os.FileInfo),
-		fs["/operator-service-account.yaml"].(os.FileInfo),
-		fs["/platform-cr.yaml"].(os.FileInfo),
-		fs["/templates"].(os.FileInfo),
-		fs["/traits.yaml"].(os.FileInfo),
-		fs["/user-cluster-role.yaml"].(os.FileInfo),
-		fs["/user-global-kamelet-viewer-role-binding.yaml"].(os.FileInfo),
-		fs["/user-global-kamelet-viewer-role.yaml"].(os.FileInfo),
-	}
-	fs["/addons"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
-		fs["/addons/master"].(os.FileInfo),
-	}
-	fs["/addons/master"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
-		fs["/addons/master/master-role-binding.tmpl"].(os.FileInfo),
-		fs["/addons/master/master-role-configmap.tmpl"].(os.FileInfo),
-		fs["/addons/master/master-role-lease.tmpl"].(os.FileInfo),
-	}
-	fs["/templates"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
-		fs["/templates/groovy.tmpl"].(os.FileInfo),
-		fs["/templates/java.tmpl"].(os.FileInfo),
-		fs["/templates/js.tmpl"].(os.FileInfo),
-		fs["/templates/kts.tmpl"].(os.FileInfo),
-		fs["/templates/xml.tmpl"].(os.FileInfo),
-		fs["/templates/yaml.tmpl"].(os.FileInfo),
-	}
-
-	return fs
-}()
-
-type vfsgen۰FS map[string]interface{}
-
-func (fs vfsgen۰FS) Open(path string) (http.File, error) {
-	path = pathpkg.Clean("/" + path)
-	f, ok := fs[path]
-	if !ok {
-		return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
-	}
-
-	switch f := f.(type) {
-	case *vfsgen۰CompressedFileInfo:
-		gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent))
-		if err != nil {
-			// This should never happen because we generate the gzip bytes such that they are always valid.
-			panic("unexpected error reading own gzip compressed bytes: " + err.Error())
-		}
-		return &vfsgen۰CompressedFile{
-			vfsgen۰CompressedFileInfo: f,
-			gr:                        gr,
-		}, nil
-	case *vfsgen۰DirInfo:
-		return &vfsgen۰Dir{
-			vfsgen۰DirInfo: f,
-		}, nil
-	default:
-		// This should never happen because we generate only the above types.
-		panic(fmt.Sprintf("unexpected type %T", f))
-	}
-}
-
-// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file.
-type vfsgen۰CompressedFileInfo struct {
-	name              string
-	modTime           time.Time
-	compressedContent []byte
-	uncompressedSize  int64
-}
-
-func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) {
-	return nil, fmt.Errorf("cannot Readdir from file %s", f.name)
-}
-func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil }
-
-func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
-	return f.compressedContent
-}
-
-func (f *vfsgen۰CompressedFileInfo) Name() string       { return f.name }
-func (f *vfsgen۰CompressedFileInfo) Size() int64        { return f.uncompressedSize }
-func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode  { return 0444 }
-func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime }
-func (f *vfsgen۰CompressedFileInfo) IsDir() bool        { return false }
-func (f *vfsgen۰CompressedFileInfo) Sys() interface{}   { return nil }
-
-// vfsgen۰CompressedFile is an opened compressedFile instance.
-type vfsgen۰CompressedFile struct {
-	*vfsgen۰CompressedFileInfo
-	gr      *gzip.Reader
-	grPos   int64 // Actual gr uncompressed position.
-	seekPos int64 // Seek uncompressed position.
-}
-
-func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
-	if f.grPos > f.seekPos {
-		// Rewind to beginning.
-		err = f.gr.Reset(bytes.NewReader(f.compressedContent))
-		if err != nil {
-			return 0, err
-		}
-		f.grPos = 0
-	}
-	if f.grPos < f.seekPos {
-		// Fast-forward.
-		_, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos)
-		if err != nil {
-			return 0, err
-		}
-		f.grPos = f.seekPos
-	}
-	n, err = f.gr.Read(p)
-	f.grPos += int64(n)
-	f.seekPos = f.grPos
-	return n, err
-}
-func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) {
-	switch whence {
-	case io.SeekStart:
-		f.seekPos = 0 + offset
-	case io.SeekCurrent:
-		f.seekPos += offset
-	case io.SeekEnd:
-		f.seekPos = f.uncompressedSize + offset
-	default:
-		panic(fmt.Errorf("invalid whence value: %v", whence))
-	}
-	return f.seekPos, nil
-}
-func (f *vfsgen۰CompressedFile) Close() error {
-	return f.gr.Close()
-}
-
-// vfsgen۰DirInfo is a static definition of a directory.
-type vfsgen۰DirInfo struct {
-	name    string
-	modTime time.Time
-	entries []os.FileInfo
-}
-
-func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
-	return 0, fmt.Errorf("cannot Read from directory %s", d.name)
-}
-func (d *vfsgen۰DirInfo) Close() error               { return nil }
-func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }
-
-func (d *vfsgen۰DirInfo) Name() string       { return d.name }
-func (d *vfsgen۰DirInfo) Size() int64        { return 0 }
-func (d *vfsgen۰DirInfo) Mode() os.FileMode  { return 0755 | os.ModeDir }
-func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
-func (d *vfsgen۰DirInfo) IsDir() bool        { return true }
-func (d *vfsgen۰DirInfo) Sys() interface{}   { return nil }
-
-// vfsgen۰Dir is an opened dir instance.
-type vfsgen۰Dir struct {
-	*vfsgen۰DirInfo
-	pos int // Position within entries for Seek and Readdir.
-}
-
-func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
-	if offset == 0 && whence == io.SeekStart {
-		d.pos = 0
-		return 0, nil
-	}
-	return 0, fmt.Errorf("unsupported Seek in directory %s", d.name)
-}
-
-func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
-	if d.pos >= len(d.entries) && count > 0 {
-		return nil, io.EOF
-	}
-	if count <= 0 || count > len(d.entries)-d.pos {
-		count = len(d.entries) - d.pos
-	}
-	e := d.entries[d.pos : d.pos+count]
-	d.pos += count
-	return e, nil
-}
diff --git a/deploy/resources_test.go b/deploy/resources_test.go
deleted file mode 100644
index ea563c3..0000000
--- a/deploy/resources_test.go
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-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.
-*/
-
-package deploy
-
-import (
-	"strings"
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestGetResource(t *testing.T) {
-	assert.NotEmpty(t, Resource("operator-service-account.yaml"))
-	assert.NotEmpty(t, Resource("/operator-service-account.yaml"))
-	assert.NotEmpty(t, ResourceAsString("operator-service-account.yaml"))
-	assert.NotEmpty(t, ResourceAsString("/operator-service-account.yaml"))
-	assert.Contains(t, Resources("/"), "operator-service-account.yaml")
-}
-
-func TestGetNoResource(t *testing.T) {
-	assert.Empty(t, Resource("operator-service-account.json"))
-	assert.Empty(t, Resource("/operator-service-account.json"))
-	assert.Empty(t, ResourceAsString("operator-service-account.json"))
-	assert.Empty(t, ResourceAsString("/operator-service-account.json"))
-	assert.NotContains(t, Resources("/"), "operator-service-account.json")
-}
-
-func TestResources(t *testing.T) {
-	assert.Contains(t, Resources("/"), "operator-service-account.yaml")
-	assert.NotContains(t, Resources("/"), "resources.go")
-	for _, res := range Resources("/") {
-		if strings.Contains(res, "java.tmpl") {
-			assert.Fail(t, "Resources should not return nested files")
-		}
-		if strings.Contains(res, "templates") {
-			assert.Fail(t, "Resources should not return nested dirs")
-		}
-	}
-	assert.Contains(t, Resources("/templates"), "java.tmpl")
-	assert.Empty(t, Resources("/olm-catalog"))
-}
diff --git a/deploy/user-cluster-role.yaml b/deploy/user-cluster-role.yaml
deleted file mode 100644
index c37b6ff..0000000
--- a/deploy/user-cluster-role.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-# ---------------------------------------------------------------------------
-# 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.
-# ---------------------------------------------------------------------------
-
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
-  name: camel-k:edit
-  labels:
-    app: "camel-k"
-    # Add these permissions to the "admin" and "edit" default roles.
-    rbac.authorization.k8s.io/aggregate-to-admin: "true"
-    rbac.authorization.k8s.io/aggregate-to-edit: "true"
-rules:
-- apiGroups: ["camel.apache.org"]
-  resources: ["*"]
-  verbs: ["*"]
diff --git a/docs/modules/ROOT/pages/contributing/developers.adoc b/docs/modules/ROOT/pages/contributing/developers.adoc
index 5ef434d..0271ba2 100644
--- a/docs/modules/ROOT/pages/contributing/developers.adoc
+++ b/docs/modules/ROOT/pages/contributing/developers.adoc
@@ -43,7 +43,8 @@ This is a high-level overview of the project structure:
 | Path						| Content
 | https://github.com/apache/camel-k/tree/master/build[/build]			| Contains the Docker and Maven build configuration.
 | https://github.com/apache/camel-k/tree/master/cmd[/cmd]			| Contains the entry points (the *main* functions) for the **camel-k** binary (manager) and the **kamel** client tool.
-| https://github.com/apache/camel-k/tree/master/deploy[/deploy]		| Contains Kubernetes resource files that are used by the **kamel** client during installation. The `/deploy/resources.go` file is kept in sync with the content of the directory (`make build-embed-resources`), so that resources can be used from within the go code.
+| https://github.com/apache/camel-k/tree/master/config[/config]		| Contains Kubernetes resource files, specifically for use with the operator-sdk, that are used by the **kamel** client during installation. The `/pkg/resources/resources.go` file is kept in sync with the content of the directory (`make build-resources`), so that resources can be used from within the go code.
+| https://github.com/apache/camel-k/tree/master/deploy[/deploy]		| Contains Kubernetes resource files, used by the **kamel** client during installation. The `/pkg/resources.go` file is kept in sync with the content of the directory (`make build-resources`), so that resources can be used from within the go code.
 | https://github.com/apache/camel-k/tree/master/docs[/docs]			| Contains the documentation website based on https://antora.org/[Antora].
 | https://github.com/apache/camel-k/tree/master/e2e[/e2e]			| Include integration tests to ensure that the software interacts correctly with Kubernetes and OpenShift.
 | https://github.com/apache/camel-k/tree/master/examples[/examples]			| Various examples of Camel K usage.
@@ -195,3 +196,36 @@ After you set up the IDE task, with Java 11+ to be used by default, you can run
 
 NOTE: The operator can be fully debugged in Minishift, because it uses OpenShift S2I binary builds under the hood.
 The build phase cannot be (currently) debugged in Minikube because the Kaniko builder requires that the operator and the publisher pod share a common persistent volume.
+
+[publishing]
+== Building Metadata for Publishing the Operator in Operator Hub
+----
+
+Publishing to an operator hub requires creation and submission of metadata, required in a specific
+https://github.com/operator-framework/operator-registry/#manifest-format[format]. The
+https://sdk.operatorframework.io/docs/cli[operator-sdk] provides tools to help with the creation of this metadata.
+
+There are two formats for the publishing of the metadata:
+=== Package Manifests
+The legacy packaging format used for deploying the operator to an OLM registry. While deprecated in Openshift 4.5+,
+it is still supported and used on that and other cluster types. A single CSV is generated, comprising of the operator
+CRDs, and additional files. All versions of the operator metadata are located into a single directory.
+
+To generate the metadata for camel-k in the legacy format, use the following command:
+----
+make build-olm
+----
+The CSV and accompanying files are located in `deploy/olm-catalog`.
+**Note. these files are under version control.**
+
+
+=== `bundles`
+The latest packaging format used for deploying the operator to an OLM registry. This generates a CSV and related metadata
+files in a directory named `bundle`. The directory contains a Dockerfile that allows for building the bundle into a
+single image. It is this image that is submitted to the OLM registry.
+
+To generate the bundle for camel-k, use the following command:
+----
+make bundle
+----
+The bundle directory is created at the root of the camel-k project filesystem.
diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index caed85a..0c9f1aa 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -817,7 +817,7 @@ func ServiceAccount(ns, name string) func() *corev1.ServiceAccount {
 */
 
 func CreateOperatorServiceAccount(ns string) error {
-	return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "operator-service-account.yaml")
+	return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "/manager/operator-service-account.yaml")
 }
 
 func CreateOperatorRole(ns string) (err error) {
@@ -826,13 +826,13 @@ func CreateOperatorRole(ns string) (err error) {
 		panic(err)
 	}
 	if oc {
-		return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "operator-role-openshift.yaml")
+		return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "/rbac/operator-role-openshift.yaml")
 	}
-	return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "operator-role-kubernetes.yaml")
+	return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "/rbac/operator-role-kubernetes.yaml")
 }
 
 func CreateOperatorRoleBinding(ns string) error {
-	return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "operator-role-binding.yaml")
+	return install.Resource(TestContext, TestClient(), ns, true, install.IdentityResourceCustomizer, "/rbac/operator-role-binding.yaml")
 }
 
 func CreateKamelPod(ns string, name string, command ...string) error {
diff --git a/go.mod b/go.mod
index 2216328..a94bd89 100644
--- a/go.mod
+++ b/go.mod
@@ -43,6 +43,7 @@ require (
 	gopkg.in/inf.v0 v0.9.1
 	gopkg.in/yaml.v2 v2.3.0
 	k8s.io/api v0.18.9
+	k8s.io/apiextensions-apiserver v0.18.6
 	k8s.io/apimachinery v0.18.9
 	k8s.io/client-go v12.0.0+incompatible
 	k8s.io/gengo v0.0.0-20200205140755-e0e292d8aa12
diff --git a/helm/camel-k/crds/crd-build.yaml b/helm/camel-k/crds/crd-build.yaml
index 7d732ef..603c60d 100644
--- a/helm/camel-k/crds/crd-build.yaml
+++ b/helm/camel-k/crds/crd-build.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: builds.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/helm/camel-k/crds/crd-camel-catalog.yaml b/helm/camel-k/crds/crd-camel-catalog.yaml
index a18d657..4d33593 100644
--- a/helm/camel-k/crds/crd-camel-catalog.yaml
+++ b/helm/camel-k/crds/crd-camel-catalog.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: camelcatalogs.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/helm/camel-k/crds/crd-integration-kit.yaml b/helm/camel-k/crds/crd-integration-kit.yaml
index beec770..335ddb4 100644
--- a/helm/camel-k/crds/crd-integration-kit.yaml
+++ b/helm/camel-k/crds/crd-integration-kit.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrationkits.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/helm/camel-k/crds/crd-integration-platform.yaml b/helm/camel-k/crds/crd-integration-platform.yaml
index 9cd1afd..7d1e156 100644
--- a/helm/camel-k/crds/crd-integration-platform.yaml
+++ b/helm/camel-k/crds/crd-integration-platform.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrationplatforms.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/helm/camel-k/crds/crd-integration.yaml b/helm/camel-k/crds/crd-integration.yaml
index 16178af..147f9fa 100644
--- a/helm/camel-k/crds/crd-integration.yaml
+++ b/helm/camel-k/crds/crd-integration.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: integrations.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/helm/camel-k/crds/crd-kamelet-binding.yaml b/helm/camel-k/crds/crd-kamelet-binding.yaml
index 2c95ef4..9ae1705 100644
--- a/helm/camel-k/crds/crd-kamelet-binding.yaml
+++ b/helm/camel-k/crds/crd-kamelet-binding.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: kameletbindings.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/helm/camel-k/crds/crd-kamelet.yaml b/helm/camel-k/crds/crd-kamelet.yaml
index b79e7dc..e8371f9 100644
--- a/helm/camel-k/crds/crd-kamelet.yaml
+++ b/helm/camel-k/crds/crd-kamelet.yaml
@@ -18,11 +18,11 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  labels:
-    app: "camel-k"
   annotations:
     controller-gen.kubebuilder.io/version: v0.4.1
   creationTimestamp: null
+  labels:
+    app: camel-k
   name: kamelets.camel.apache.org
 spec:
   group: camel.apache.org
diff --git a/pkg/apis/camel/v1/common_types.go b/pkg/apis/camel/v1/common_types.go
index 2d50208..cf785ce 100644
--- a/pkg/apis/camel/v1/common_types.go
+++ b/pkg/apis/camel/v1/common_types.go
@@ -53,10 +53,10 @@ type FailureRecovery struct {
 
 // A TraitSpec contains the configuration of a trait
 type TraitSpec struct {
+	// TraitConfiguration --
 	Configuration TraitConfiguration `json:"configuration"`
 }
 
-// TraitConfiguration --
 type TraitConfiguration struct {
 	RawMessage `json:",inline"`
 }
diff --git a/pkg/base/root.go b/pkg/base/root.go
new file mode 100644
index 0000000..9fbd640
--- /dev/null
+++ b/pkg/base/root.go
@@ -0,0 +1,63 @@
+/*
+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.
+*/
+package base
+
+import (
+	"os"
+	"path/filepath"
+)
+
+var (
+	GoModDirectory string
+)
+
+func FileExists(name string) bool {
+	stat, err := os.Stat(name)
+	if err != nil {
+		if os.IsNotExist(err) {
+			return false
+		}
+	}
+	return !stat.IsDir()
+}
+
+func init() {
+
+	// Save the original directory the process started in.
+	wd, err := os.Getwd()
+	if err != nil {
+		panic(err)
+	}
+	initialDir, err := filepath.Abs(wd)
+	if err != nil {
+		panic(err)
+	}
+
+	// Find the module dir..
+	current := ""
+	for next := initialDir; current != next; next = filepath.Dir(current) {
+		current = next
+		if FileExists(filepath.Join(current, "go.mod")) && FileExists(filepath.Join(current, "go.sum")) {
+			GoModDirectory = current
+			break
+		}
+	}
+
+	if GoModDirectory == "" {
+		panic("could not find the root module directory")
+	}
+}
diff --git a/pkg/cmd/init.go b/pkg/cmd/init.go
index c347a73..036ecb1 100644
--- a/pkg/cmd/init.go
+++ b/pkg/cmd/init.go
@@ -24,7 +24,7 @@ import (
 	"strings"
 	"text/template"
 
-	"github.com/apache/camel-k/deploy"
+	"github.com/apache/camel-k/pkg/resources"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/spf13/cobra"
 )
@@ -90,7 +90,7 @@ func (o *initCmdOptions) writeFromTemplate(language v1.Language, fileName string
 	params := TemplateParameters{
 		Name: simpleName,
 	}
-	rawData := deploy.ResourceAsString(fmt.Sprintf("/templates/%s.tmpl", language))
+	rawData := resources.ResourceAsString(fmt.Sprintf("/templates/%s.tmpl", language))
 	if rawData == "" {
 		return fmt.Errorf("cannot find template for language %s", string(language))
 	}
diff --git a/pkg/cmd/install.go b/pkg/cmd/install.go
index b2d0d8e..426eba6 100644
--- a/pkg/cmd/install.go
+++ b/pkg/cmd/install.go
@@ -35,7 +35,6 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/runtime"
 
-	"github.com/apache/camel-k/deploy"
 	"github.com/apache/camel-k/pkg/apis"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/client"
diff --git a/pkg/cmd/trait_help.go b/pkg/cmd/trait_help.go
index a000ba1..2af58c3 100644
--- a/pkg/cmd/trait_help.go
+++ b/pkg/cmd/trait_help.go
@@ -29,7 +29,7 @@ import (
 	"github.com/spf13/cobra"
 	"gopkg.in/yaml.v2"
 
-	"github.com/apache/camel-k/deploy"
+	"github.com/apache/camel-k/pkg/resources"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/trait"
 	"github.com/apache/camel-k/pkg/util/indentedwriter"
@@ -102,7 +102,7 @@ func (command *traitHelpCommandOptions) run(cmd *cobra.Command, args []string) e
 	var catalog = trait.NewCatalog(command.Context, nil)
 
 	var traitMetaData = &traitMetaData{}
-	err := yaml.Unmarshal(deploy.Resource("/traits.yaml"), traitMetaData)
+	err := yaml.Unmarshal(resources.Resource("/traits.yaml"), traitMetaData)
 	if err != nil {
 		return err
 	}
diff --git a/pkg/controller/integrationplatform/create.go b/pkg/controller/integrationplatform/create.go
index e2da62e..059d88a 100644
--- a/pkg/controller/integrationplatform/create.go
+++ b/pkg/controller/integrationplatform/create.go
@@ -19,9 +19,8 @@ package integrationplatform
 
 import (
 	"context"
-	"strings"
 
-	"github.com/apache/camel-k/deploy"
+	"github.com/apache/camel-k/pkg/resources"
 
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/install"
@@ -45,13 +44,11 @@ func (action *createAction) CanHandle(platform *v1.IntegrationPlatform) bool {
 }
 
 func (action *createAction) Handle(ctx context.Context, platform *v1.IntegrationPlatform) (*v1.IntegrationPlatform, error) {
-	for _, k := range deploy.Resources("/") {
-		if strings.HasPrefix(k, "camel-catalog-") {
-			action.L.Infof("Installing camel catalog: %s", k)
-			err := install.Resources(ctx, action.client, platform.Namespace, true, install.IdentityResourceCustomizer, k)
-			if err != nil {
-				return nil, err
-			}
+	for _, k := range resources.ResourcesWithPrefix("/camel-catalog-") {
+		action.L.Infof("Installing camel catalog: %s", k)
+		err := install.Resources(ctx, action.client, platform.Namespace, true, install.IdentityResourceCustomizer, k)
+		if err != nil {
+			return nil, err
 		}
 	}
 
diff --git a/pkg/controller/integrationplatform/create_test.go b/pkg/controller/integrationplatform/create_test.go
index 5725db9..2441240 100644
--- a/pkg/controller/integrationplatform/create_test.go
+++ b/pkg/controller/integrationplatform/create_test.go
@@ -22,9 +22,9 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/apache/camel-k/deploy"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/platform"
+	"github.com/apache/camel-k/pkg/resources"
 	"github.com/apache/camel-k/pkg/util/log"
 	"github.com/apache/camel-k/pkg/util/test"
 	"github.com/rs/xid"
@@ -59,20 +59,18 @@ func TestCreate(t *testing.T) {
 	assert.Nil(t, err)
 	assert.NotEmpty(t, list.Items)
 
-	for _, k := range deploy.Resources("/") {
-		if strings.HasPrefix(k, "camel-catalog-") {
-			found := false
+	for _, k := range resources.ResourcesWithPrefix("/camel-catelog-") {
+		found := false
 
-			for _, c := range list.Items {
-				n := strings.TrimSuffix(k, ".yaml")
-				n = strings.ToLower(n)
+		for _, c := range list.Items {
+			n := strings.TrimSuffix(k, ".yaml")
+			n = strings.ToLower(n)
 
-				if c.Name == n {
-					found = true
-				}
+			if c.Name == n {
+				found = true
 			}
-
-			assert.True(t, found)
 		}
+
+		assert.True(t, found)
 	}
 }
diff --git a/pkg/install/builder.go b/pkg/install/builder.go
index f8af463..3072e24 100644
--- a/pkg/install/builder.go
+++ b/pkg/install/builder.go
@@ -40,16 +40,16 @@ func BuilderServiceAccountRoles(ctx context.Context, c client.Client, namespace
 
 func installBuilderServiceAccountRolesOpenShift(ctx context.Context, c client.Client, namespace string) error {
 	return ResourcesOrCollect(ctx, c, namespace, nil, true, IdentityResourceCustomizer,
-		"builder-service-account.yaml",
-		"builder-role-openshift.yaml",
-		"builder-role-binding.yaml",
+		"/manager/builder-service-account.yaml",
+		"/rbac/builder-role-openshift.yaml",
+		"/rbac/builder-role-binding.yaml",
 	)
 }
 
 func installBuilderServiceAccountRolesKubernetes(ctx context.Context, c client.Client, namespace string) error {
 	return ResourcesOrCollect(ctx, c, namespace, nil, true, IdentityResourceCustomizer,
-		"builder-service-account.yaml",
-		"builder-role-kubernetes.yaml",
-		"builder-role-binding.yaml",
+		"/manager/builder-service-account.yaml",
+		"/rbac/builder-role-kubernetes.yaml",
+		"/rbac/builder-role-binding.yaml",
 	)
 }
diff --git a/pkg/install/cluster.go b/pkg/install/cluster.go
index fcbd327..04fe75c 100644
--- a/pkg/install/cluster.go
+++ b/pkg/install/cluster.go
@@ -34,8 +34,8 @@ import (
 	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
 	apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
 
-	"github.com/apache/camel-k/deploy"
 	"github.com/apache/camel-k/pkg/client"
+	"github.com/apache/camel-k/pkg/resources"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
 )
 
@@ -90,37 +90,37 @@ func SetupClusterWideResourcesOrCollect(ctx context.Context, clientProvider clie
 	}
 
 	// Install CRD for Integration Platform (if needed)
-	if err := installCRD(ctx, c, "IntegrationPlatform", "v1", "crd-integration-platform.yaml", downgradeToCRDv1beta1, collection); err != nil {
+	if err := installCRD(ctx, c, "IntegrationPlatform", "v1", "camel.apache.org_integrationplatforms.yaml", downgradeToCRDv1beta1, collection); err != nil {
 		return err
 	}
 
 	// Install CRD for Integration Kit (if needed)
-	if err := installCRD(ctx, c, "IntegrationKit", "v1", "crd-integration-kit.yaml", downgradeToCRDv1beta1, collection); err != nil {
+	if err := installCRD(ctx, c, "IntegrationKit", "v1", "camel.apache.org_integrationkits.yaml", downgradeToCRDv1beta1, collection); err != nil {
 		return err
 	}
 
 	// Install CRD for Integration (if needed)
-	if err := installCRD(ctx, c, "Integration", "v1", "crd-integration.yaml", downgradeToCRDv1beta1, collection); err != nil {
+	if err := installCRD(ctx, c, "Integration", "v1", "camel.apache.org_integrations.yaml", downgradeToCRDv1beta1, collection); err != nil {
 		return err
 	}
 
 	// Install CRD for Camel Catalog (if needed)
-	if err := installCRD(ctx, c, "CamelCatalog", "v1", "crd-camel-catalog.yaml", downgradeToCRDv1beta1, collection); err != nil {
+	if err := installCRD(ctx, c, "CamelCatalog", "v1", "camel.apache.org_camelcatalogs.yaml", downgradeToCRDv1beta1, collection); err != nil {
 		return err
 	}
 
 	// Install CRD for Build (if needed)
-	if err := installCRD(ctx, c, "Build", "v1", "crd-build.yaml", downgradeToCRDv1beta1, collection); err != nil {
+	if err := installCRD(ctx, c, "Build", "v1", "camel.apache.org_builds.yaml", downgradeToCRDv1beta1, collection); err != nil {
 		return err
 	}
 
 	// Install CRD for Kamelet (if needed)
-	if err := installCRD(ctx, c, "Kamelet", "v1alpha1", "crd-kamelet.yaml", downgradeToCRDv1beta1, collection); err != nil {
+	if err := installCRD(ctx, c, "Kamelet", "v1alpha1", "camel.apache.org_kamelets.yaml", downgradeToCRDv1beta1, collection); err != nil {
 		return err
 	}
 
 	// Install CRD for KameletBinding (if needed)
-	if err := installCRD(ctx, c, "KameletBinding", "v1alpha1", "crd-kamelet-binding.yaml", downgradeToCRDv1beta1, collection); err != nil {
+	if err := installCRD(ctx, c, "KameletBinding", "v1alpha1", "camel.apache.org_kameletbindings.yaml", downgradeToCRDv1beta1, collection); err != nil {
 		return err
 	}
 
@@ -228,7 +228,7 @@ func IsCRDInstalled(ctx context.Context, c client.Client, kind string, version s
 }
 
 func installCRD(ctx context.Context, c client.Client, kind string, version string, resourceName string, converter ResourceCustomizer, collection *kubernetes.Collection) error {
-	crd, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), deploy.ResourceAsString(resourceName))
+	crd, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), resources.ResourceAsString("/crd/bases/"+resourceName))
 	if err != nil {
 		return err
 	}
@@ -285,7 +285,7 @@ func IsClusterRoleInstalled(ctx context.Context, c client.Client) (bool, error)
 }
 
 func installClusterRole(ctx context.Context, c client.Client, collection *kubernetes.Collection) error {
-	obj, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), deploy.ResourceAsString("/user-cluster-role.yaml"))
+	obj, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), resources.ResourceAsString("/rbac/user-cluster-role.yaml"))
 	if err != nil {
 		return err
 	}
diff --git a/pkg/install/common.go b/pkg/install/common.go
index c5170a0..2abcda6 100644
--- a/pkg/install/common.go
+++ b/pkg/install/common.go
@@ -21,7 +21,7 @@ import (
 	"context"
 	"strings"
 
-	"github.com/apache/camel-k/deploy"
+	"github.com/apache/camel-k/pkg/resources"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/client"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -65,7 +65,7 @@ func Resource(ctx context.Context, c client.Client, namespace string, force bool
 // ResourceOrCollect --
 func ResourceOrCollect(ctx context.Context, c client.Client, namespace string, collection *kubernetes.Collection,
 	force bool, customizer ResourceCustomizer, name string) error {
-	obj, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), deploy.ResourceAsString(name))
+	obj, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), resources.ResourceAsString(name))
 	if err != nil {
 		return err
 	}
diff --git a/pkg/install/kamelets.go b/pkg/install/kamelets.go
index 7298820..e10330f 100644
--- a/pkg/install/kamelets.go
+++ b/pkg/install/kamelets.go
@@ -22,9 +22,9 @@ import (
 	"path"
 	"strings"
 
-	"github.com/apache/camel-k/deploy"
 	"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
 	"github.com/apache/camel-k/pkg/client"
+	"github.com/apache/camel-k/pkg/resources"
 	"github.com/apache/camel-k/pkg/util/defaults"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
 	"github.com/pkg/errors"
@@ -40,50 +40,48 @@ const kameletReadOnlyLabel = "camel.apache.org/kamelet.readonly"
 
 // KameletCatalog installs the bundlet KameletCatalog into one namespace
 func KameletCatalog(ctx context.Context, c client.Client, namespace string) error {
-	if deploy.DirExists(kameletDir) {
-		for _, res := range deploy.Resources(kameletDir) {
-			if !strings.HasSuffix(res, ".yaml") && !strings.HasSuffix(res, ".yml") {
-				continue
-			}
+	for _, res := range resources.Resources(kameletDir) {
+		if !strings.HasSuffix(res, ".yaml") && !strings.HasSuffix(res, ".yml") {
+			continue
+		}
 
-			obj, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), deploy.ResourceAsString(path.Join(kameletDir, res)))
+		obj, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), resources.ResourceAsString(path.Join(kameletDir, res)))
+		if err != nil {
+			return err
+		}
+		if k, ok := obj.(*v1alpha1.Kamelet); ok {
+			existing := &v1alpha1.Kamelet{}
+			err = c.Get(ctx, types.NamespacedName{Namespace: namespace, Name: k.Name}, existing)
 			if err != nil {
-				return err
-			}
-			if k, ok := obj.(*v1alpha1.Kamelet); ok {
-				existing := &v1alpha1.Kamelet{}
-				err = c.Get(ctx, types.NamespacedName{Namespace: namespace, Name: k.Name}, existing)
-				if err != nil {
-					if k8serrors.IsNotFound(err) {
-						existing = nil
-					} else {
-						return err
-					}
+				if k8serrors.IsNotFound(err) {
+					existing = nil
+				} else {
+					return err
 				}
+			}
 
-				if existing == nil || existing.Annotations[kamelVersionAnnotation] != defaults.Version {
-					err := Resource(ctx, c, namespace, true, func(object runtime.Object) runtime.Object {
-						if o, ok := object.(metav1.Object); ok {
-							if o.GetAnnotations() == nil {
-								o.SetAnnotations(make(map[string]string))
-							}
-							o.GetAnnotations()[kamelVersionAnnotation] = defaults.Version
-
-							if o.GetLabels() == nil {
-								o.SetLabels(make(map[string]string))
-							}
-							o.GetLabels()[kameletBundledLabel] = "true"
-							o.GetLabels()[kameletReadOnlyLabel] = "true"
+			if existing == nil || existing.Annotations[kamelVersionAnnotation] != defaults.Version {
+				err := Resource(ctx, c, namespace, true, func(object runtime.Object) runtime.Object {
+					if o, ok := object.(metav1.Object); ok {
+						if o.GetAnnotations() == nil {
+							o.SetAnnotations(make(map[string]string))
 						}
-						return object
-					}, path.Join(kameletDir, res))
+						o.GetAnnotations()[kamelVersionAnnotation] = defaults.Version
 
-					if err != nil {
-						return errors.Wrapf(err, "could not create resource %q", res)
+						if o.GetLabels() == nil {
+							o.SetLabels(make(map[string]string))
+						}
+						o.GetLabels()[kameletBundledLabel] = "true"
+						o.GetLabels()[kameletReadOnlyLabel] = "true"
 					}
-				}
+					return object
+				}, path.Join(kameletDir, res))
 
+				if err != nil {
+					return errors.Wrapf(err, "could not create resource %q", res)
+				}
 			}
+
 		}
 	}
 
diff --git a/pkg/install/operator.go b/pkg/install/operator.go
index a317251..cd58afa 100644
--- a/pkg/install/operator.go
+++ b/pkg/install/operator.go
@@ -33,9 +33,9 @@ import (
 	"k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/apimachinery/pkg/util/intstr"
 
-	"github.com/apache/camel-k/deploy"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/pkg/client"
+	"github.com/apache/camel-k/pkg/resources"
 	"github.com/apache/camel-k/pkg/util/envvar"
 	"github.com/apache/camel-k/pkg/util/knative"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -214,54 +214,54 @@ func OperatorOrCollect(ctx context.Context, c client.Client, cfg OperatorConfigu
 
 func installOpenShift(ctx context.Context, c client.Client, namespace string, customizer ResourceCustomizer, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, customizer,
-		"operator-service-account.yaml",
-		"operator-role-openshift.yaml",
-		"operator-role-binding.yaml",
-		"operator-deployment.yaml",
+		"/manager/operator-service-account.yaml",
+		"/rbac/operator-role-openshift.yaml",
+		"/rbac/operator-role-binding.yaml",
+		"/manager/operator-deployment.yaml",
 	)
 }
 
 func installKubernetes(ctx context.Context, c client.Client, namespace string, customizer ResourceCustomizer, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, customizer,
-		"operator-service-account.yaml",
-		"operator-role-kubernetes.yaml",
-		"operator-role-binding.yaml",
-		"operator-deployment.yaml",
+		"/manager/operator-service-account.yaml",
+		"/rbac/operator-role-kubernetes.yaml",
+		"/rbac/operator-role-binding.yaml",
+		"/manager/operator-deployment.yaml",
 	)
 }
 
 func installKnative(ctx context.Context, c client.Client, namespace string, customizer ResourceCustomizer, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, customizer,
-		"operator-role-knative.yaml",
-		"operator-role-binding-knative.yaml",
+		"/rbac/operator-role-knative.yaml",
+		"/rbac/operator-role-binding-knative.yaml",
 	)
 }
 
 func installEvents(ctx context.Context, c client.Client, namespace string, customizer ResourceCustomizer, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, customizer,
-		"operator-role-events.yaml",
-		"operator-role-binding-events.yaml",
+		"/rbac/operator-role-events.yaml",
+		"/rbac/operator-role-binding-events.yaml",
 	)
 }
 
 func installServiceMonitors(ctx context.Context, c client.Client, namespace string, customizer ResourceCustomizer, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, customizer,
-		"operator-role-servicemonitors.yaml",
-		"operator-role-binding-servicemonitors.yaml",
+		"/rbac/operator-role-servicemonitors.yaml",
+		"/rbac/operator-role-binding-servicemonitors.yaml",
 	)
 }
 
 func installStrimziBindings(ctx context.Context, c client.Client, namespace string, customizer ResourceCustomizer, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, customizer,
-		"operator-role-strimzi.yaml",
-		"operator-role-binding-strimzi.yaml",
+		"/rbac/operator-role-strimzi.yaml",
+		"/rbac/operator-role-binding-strimzi.yaml",
 	)
 }
 
 func installMonitoringResources(ctx context.Context, c client.Client, namespace string, customizer ResourceCustomizer, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, customizer,
-		"operator-pod-monitor.yaml",
-		"operator-prometheus-rule.yaml",
+		"/prometheus/operator-pod-monitor.yaml",
+		"/prometheus/operator-prometheus-rule.yaml",
 	)
 }
 
@@ -285,7 +285,7 @@ func PlatformOrCollect(ctx context.Context, c client.Client, clusterType string,
 	if err != nil {
 		return nil, err
 	}
-	platformObject, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), deploy.ResourceAsString("platform-cr.yaml"))
+	platformObject, err := kubernetes.LoadResourceFromYaml(c.GetScheme(), resources.ResourceAsString("/samples/bases/camel_v1_integrationplatform.yaml"))
 	if err != nil {
 		return nil, err
 	}
@@ -321,6 +321,6 @@ func PlatformOrCollect(ctx context.Context, c client.Client, clusterType string,
 // ExampleOrCollect --
 func ExampleOrCollect(ctx context.Context, c client.Client, namespace string, collection *kubernetes.Collection, force bool) error {
 	return ResourcesOrCollect(ctx, c, namespace, collection, force, IdentityResourceCustomizer,
-		"cr-example.yaml",
+		"/samples/bases/camel_v1_integration.yaml",
 	)
 }
diff --git a/pkg/resources/resources.go b/pkg/resources/resources.go
new file mode 100644
index 0000000..f5b0e39
--- /dev/null
+++ b/pkg/resources/resources.go
@@ -0,0 +1,783 @@
+/*
+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 vfsgen; DO NOT EDIT.
+
+package resources
+
+import (
+	"bytes"
+	"compress/gzip"
+	"fmt"
+	"io"
+	"io/ioutil"
+	"net/http"
+	"os"
+	pathpkg "path"
+	"time"
+)
+
+// assets statically implements the virtual filesystem provided to vfsgen.
+var assets = func() http.FileSystem {
+	fs := vfsgen۰FS{
+		"/": &vfsgen۰DirInfo{
+			name:    "/",
+			modTime: time.Time{},
+		},
+		"/addons": &vfsgen۰DirInfo{
+			name:    "addons",
+			modTime: time.Time{},
+		},
+		"/addons/master": &vfsgen۰DirInfo{
+			name:    "master",
+			modTime: time.Time{},
+		},
+		"/addons/master/master-role-binding.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "master-role-binding.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 357,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\x3d\x4f\xc4\x30\x0c\x86\xf7\xfc\x0a\xab\x7b\x83\xd8\x50\x36\x58\xd8\x18\x8a\xc4\xee\xa6\x06\x4c\x93\x38\xca\x47\x07\xaa\xfe\x77\xd4\x16\xe9\x7a\xd2\xa9\x37\x26\x8f\x5e\xfb\xf1\x3b\x72\x18\x0c\x74\xe2\xe8\x85\xc3\xc0\xe1\x4b\x61\xe4\x0f\x4a\x99\x25\x18\x48\x3d\x5a\x8d\xb5\x7c\x4b\xe2\x5f\x2c\x2c\x41\x8f\x4f\x59\xb3\x3c\x4c\x8f\xca\x53\xc1\x01\x0b\x1a\x05\x10\xd0\x93\x81\x79\x06\xfd\x86\x9e\x60\x59\xfe\xff\x72\x [...]
+		},
+		"/addons/master/master-role-configmap.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "master-role-configmap.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 342,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x8d\xb1\x4e\x04\x31\x0c\x44\xfb\x7c\x85\xb5\xfd\x2e\xa2\x43\xf9\x01\x3a\x0a\x0a\x7a\x6f\x62\xee\xac\x4d\x62\xcb\x49\x0e\x89\xd3\xfd\x3b\x22\x7b\x2b\x21\x68\xa8\x3c\x7e\x33\xf6\x6c\x5c\xa2\x87\x57\x49\xe4\x50\xf9\x8d\xac\xb2\x14\x0f\xb6\x62\x58\xb0\xb7\xb3\x18\x7f\x62\x63\x29\xcb\xf6\x54\x17\x96\x87\xcb\xa3\xcb\xd4\x30\x62\x43\xef\x00\x0a\x66\xf2\x70\xbd\xc2\xf2\x82\x99\xe0\x76\xbb\xb3\xaa\x18\x7e\x18\x63\xdd\xdd\x [...]
+		},
+		"/addons/master/master-role-lease.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "master-role-lease.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 389,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x8e\x31\x4e\xc4\x30\x10\x45\x7b\x9f\x62\x94\x3e\x41\x74\xc8\x17\xa0\xa3\xa0\xa0\x9f\xd8\x5f\xac\x15\xc7\x63\x8d\xed\x45\x62\xb5\x77\x47\xeb\x04\x69\x21\xdb\x7d\xff\x19\xbf\x79\x4b\x48\xde\xd2\xbb\x44\x18\xce\xe1\x03\x5a\x82\x24\x4b\x3a\xb3\x9b\xb8\xd5\x93\x68\xf8\xe6\x1a\x24\x4d\xcb\x4b\x99\x82\x3c\x9d\x9f\xcd\x8a\xca\x9e\x2b\x5b\x43\x94\x78\x85\xa5\xcb\x85\xa6\x37\x5e\x41\xd7\xeb\xde\x95\xcc\xee\x6e\xd0\x9f\xdb\x [...]
+		},
+		"/crd": &vfsgen۰DirInfo{
+			name:    "crd",
+			modTime: time.Time{},
+		},
+		"/crd/bases": &vfsgen۰DirInfo{
+			name:    "bases",
+			modTime: time.Time{},
+		},
+		"/crd/bases/camel.apache.org_builds.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel.apache.org_builds.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 315171,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfd\x73\x1b\x37\x92\x30\x8e\xff\x9e\xbf\x02\xa5\x6c\x95\xa4\x8b\x48\xd9\x77\xf9\xee\xed\x69\xaf\x2e\xa5\x58\x72\x4e\x95\xd8\xd6\x63\xca\xc9\xf7\x2a\x9b\xdb\x02\x67\x40\x12\xab\x19\x60\x02\x60\x28\x73\x9f\x3c\xff\xfb\xa7\xd0\x00\xe6\x85\x2f\x62\x63\x48\xca\x72\x32\xf8\xc5\x16\xc9\xe9\x01\x1a\x8d\x46\xbf\xf7\x97\x64\xb0\xbf\xf1\xc5\x97\xe4\x07\x9e\x30\xa1\x59\x4a\x8c\x24\x66\xc6\xc8\x65\x41\x93\x19\x23\x23\x39\x [...]
+		},
+		"/crd/bases/camel.apache.org_camelcatalogs.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel.apache.org_camelcatalogs.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 13131,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x4b\x73\xe3\xb8\x11\xbe\xf3\x57\x74\x8d\x0e\xb3\x5b\x65\x51\x3b\x49\x0e\x29\xe5\xa4\x68\x3c\x15\xd5\xcc\xda\x2e\x4b\x3b\x5b\x7b\x84\xc8\x16\x85\x31\x08\x30\x00\x28\x59\x49\xe5\xbf\xa7\x00\x90\x22\x29\x89\x24\xe8\xd5\x94\xf3\x70\x9f\x24\xa2\xd1\xe8\xfe\xfa\xc9\xc7\x08\xc6\xd7\xa3\x60\x04\x5f\x68\x84\x5c\x61\x0c\x5a\x80\xde\x22\xcc\x32\x12\x6d\x11\x96\x62\xa3\xf7\x44\x22\x7c\x12\x39\x8f\x89\xa6\x82\xc3\x0f\xb3\x [...]
+		},
+		"/crd/bases/camel.apache.org_integrationkits.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel.apache.org_integrationkits.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 7813,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x58\x5f\x8f\xe2\xc8\x11\x7f\xf7\xa7\x28\x2d\x0f\x7b\x27\x0d\xe6\x36\xc9\x43\x44\x9e\x08\x3b\xa3\xa0\xdd\x9d\x19\x0d\xec\x9d\x4e\xda\x97\xc2\x2e\x4c\x1d\xed\x6e\xa7\xbb\x0d\x33\x89\xf2\xdd\xa3\xee\xb6\xc1\x1e\x6c\x60\xb8\x5d\x3f\x81\xab\xeb\x7f\xd5\xaf\xca\x3d\x80\xe1\xf7\x7b\xa2\x01\x7c\xe6\x84\xa4\xa1\x14\xac\x02\xbb\x26\x98\x14\x98\xac\x09\xe6\x6a\x65\x77\xa8\x09\xee\x54\x29\x53\xb4\xac\x24\xfc\x34\x99\xdf\xfd\x [...]
+		},
+		"/crd/bases/camel.apache.org_integrationplatforms.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel.apache.org_integrationplatforms.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 16884,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\xdf\x8f\xe2\x38\xf2\x7f\xcf\x5f\x51\x1a\x1e\x66\x57\x6a\x60\xe7\xfb\xbd\x87\x13\xf7\x70\xea\x65\x66\x74\x68\x66\xba\x5b\x0d\x33\xab\x7d\x34\x49\x11\xbc\x38\x76\xce\x3f\x9a\x61\x4f\xf7\xbf\x9f\x5c\x4e\x20\x40\x12\x42\x77\xaf\x4e\xba\x8d\x5f\xba\x21\x76\xb9\x7e\x7e\x5c\xae\x22\x03\x18\xbe\xde\x88\x06\xf0\x99\xc7\x28\x0d\x26\x60\x15\xd8\x35\xc2\x6d\xce\xe2\x35\xc2\x5c\xad\xec\x96\x69\x84\x8f\xca\xc9\x84\x59\xae\x [...]
+		},
+		"/crd/bases/camel.apache.org_integrations.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel.apache.org_integrations.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 14483,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1b\x4d\x73\xe2\x38\xf6\xee\x5f\xf1\x2a\x1c\xba\xbb\x2a\x98\xe9\x99\x3d\x6c\xb1\x27\x96\xee\xd4\xb2\x9d\x4e\x52\x81\x9e\xa9\x3e\x0a\xfb\x61\x34\x91\x25\xaf\x24\x43\x98\xad\xfd\xef\x5b\x7a\xb2\xc1\x06\xdb\x10\xd2\xb3\x33\x3b\x83\x4f\x89\xa5\xa7\xf7\xfd\x29\xd3\x83\xfe\xb7\x7b\x82\x1e\xdc\xf2\x08\xa5\xc1\x18\xac\x02\xbb\x44\x18\x65\x2c\x5a\x22\x4c\xd5\xc2\xae\x99\x46\xb8\x51\xb9\x8c\x99\xe5\x4a\xc2\xdb\xd1\xf4\xe6\x [...]
+		},
+		"/crd/bases/camel.apache.org_kameletbindings.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel.apache.org_kameletbindings.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 36345,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x4f\x23\xb9\xd2\xf0\xf7\xfc\x8a\x12\xac\x34\x20\xd1\xb9\x10\x98\x9d\xc9\xfb\x61\xc4\xc2\xb0\x6f\xce\xce\x00\x22\x70\x8e\xf6\x81\x39\x92\xd3\x5d\x49\xbc\x74\xdb\x7d\x6c\x77\x42\x9e\x85\xff\xfe\xc8\x76\x77\xd2\xb9\xf4\x25\x04\xe6\xcc\x48\x6d\x69\x34\xa4\xdb\x2e\xd7\xdd\xe5\xb2\x2b\xd9\x05\xe7\xf5\x5a\x6d\x17\xbe\x50\x17\x99\x44\x0f\x14\x07\x35\x42\x38\x09\x89\x3b\x42\xe8\xf1\x81\x9a\x10\x81\x70\xce\x23\xe6\x [...]
+		},
+		"/crd/bases/camel.apache.org_kamelets.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel.apache.org_kamelets.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 24017,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x7d\x4f\xeb\x38\xba\xff\xbf\x9f\xe2\x11\x8c\x34\x1c\x89\x94\x96\xc2\x99\x73\x7a\xff\x40\x0c\x1c\xf6\xf6\x0e\x03\x88\xc2\xae\xe6\xc2\x59\xc9\x4d\x9e\xb6\x5e\x12\x3b\x6b\x3b\x14\x76\xe0\xbb\x5f\xd9\x4e\xda\xf4\x25\x89\x53\x0a\x7b\x74\xb5\x96\x46\x43\x52\xfb\xe7\xe7\xcd\x8f\xdf\x7e\x27\xdb\xe0\x6d\xae\x34\xb6\xe1\x9c\xfa\xc8\x24\x06\xa0\x38\xa8\x31\xc2\x71\x4c\xfc\x31\x42\x9f\x0f\xd5\x84\x08\x84\x33\x9e\xb0\x80\x [...]
+		},
+		"/default": &vfsgen۰DirInfo{
+			name:    "default",
+			modTime: time.Time{},
+		},
+		"/manager": &vfsgen۰DirInfo{
+			name:    "manager",
+			modTime: time.Time{},
+		},
+		"/manager/builder-service-account.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "builder-service-account.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1038,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x3d\x6f\xdb\x30\x14\xdc\xf9\x2b\x0e\xd6\x92\x00\xfe\x68\x3b\xba\x93\x9a\xd8\xa8\xd0\xc0\x06\x22\xa7\x41\xc6\x67\xf1\x59\x7a\x08\x45\xaa\x24\x15\xc5\xff\xbe\xa0\x6c\x37\x09\xba\x86\x9b\xa0\xd3\x7d\xf0\x4e\x19\x66\x9f\x77\x54\x86\x3b\xa9\xd8\x06\xd6\x88\x0e\xb1\x61\xe4\x1d\x55\x0d\xa3\x74\x87\x38\x90\x67\xac\x5d\x6f\x35\x45\x71\x16\x57\x79\xb9\xbe\x46\x6f\x35\x7b\x38\xcb\x70\x1e\xad\xf3\xac\x32\x54\xce\x46\x2f\x [...]
+		},
+		"/manager/operator-deployment.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-deployment.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 2395,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x55\xc1\x6e\xe3\x36\x10\xbd\xeb\x2b\x1e\xac\xcb\x2e\x10\xdb\x49\xd1\x02\x0b\xf5\xa4\x26\x4e\x63\x34\xb5\x0d\xcb\xdb\x60\x4f\x05\x4d\x8d\x25\x22\x14\x47\x25\x29\x7b\xd5\xaf\x2f\x28\x5b\x8e\xed\x4d\xd3\x1e\x02\x2c\x4f\x96\x66\xe6\xcd\x7b\x33\x4f\x74\x8c\xe1\xfb\x9d\x28\xc6\xa3\x92\x64\x1c\xe5\xf0\x0c\x5f\x12\xd2\x5a\xc8\x92\x90\xf1\xc6\xef\x84\x25\xdc\x73\x63\x72\xe1\x15\x1b\x7c\x48\xb3\xfb\x8f\x68\x4c\x4e\x16\x6c\x [...]
+		},
+		"/manager/operator-service-account.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-service-account.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1039,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\x9b\x40\x14\xbc\xef\xaf\x18\x99\x4b\x22\xf9\xa3\xed\xd1\x3d\xd1\xc4\x56\x51\x23\x5b\x0a\x4e\xa3\x1c\x9f\xe1\x19\x9e\x02\xfb\xe8\xee\x12\xe2\x7f\x5f\x2d\xb6\x9b\x44\xbd\x66\x6f\x88\x61\x3e\x76\x86\x04\xb3\xcf\x3b\x26\xc1\x9d\x14\x6c\x3d\x97\x08\x8a\x50\x33\xd2\x8e\x8a\x9a\x91\xeb\x21\x0c\xe4\x18\x6b\xed\x6d\x49\x41\xd4\xe2\x2a\xcd\xd7\xd7\xe8\x6d\xc9\x0e\x6a\x19\xea\xd0\xaa\x63\x93\xa0\x50\x1b\x9c\xec\x [...]
+		},
+		"/manifests": &vfsgen۰DirInfo{
+			name:    "manifests",
+			modTime: time.Time{},
+		},
+		"/manifests/bases": &vfsgen۰DirInfo{
+			name:    "bases",
+			modTime: time.Time{},
+		},
+		"/manifests/bases/camel-k.clusterserviceversion.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel-k.clusterserviceversion.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 7816,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x59\x6d\x73\xa3\xb8\x96\xfe\xee\x5f\xa1\x4d\xaa\xf6\x76\xd7\x74\x1c\x8c\xf1\xd4\xd8\x53\x53\x7b\x89\x71\x1c\x25\x48\xc4\x01\x27\x6d\x6f\x6d\xed\xc8\xa0\x60\x61\x40\x2c\x08\x63\xb8\x7b\xff\xfb\x96\x04\x49\xdb\xdd\x49\x4f\xcf\xee\x2c\x5f\x62\xd0\x79\x79\xce\x39\xcf\x39\x48\xe4\x1c\x5c\xfc\x75\x57\xef\x1c\xd8\xcc\xa7\x69\x41\x03\x20\x38\x10\x5b\x0a\xcc\x8c\xf8\x5b\x0a\x5c\xfe\x2c\x2a\x92\x53\x70\xcd\xcb\x34\x20\x82\x [...]
+		},
+		"/prometheus": &vfsgen۰DirInfo{
+			name:    "prometheus",
+			modTime: time.Time{},
+		},
+		"/prometheus/operator-pod-monitor.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-pod-monitor.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1240,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\xb3\xda\x36\x14\xdd\xeb\x57\x9c\xc1\x9b\x64\x06\x4c\xdb\xa5\xbb\xa2\x2f\x30\xf5\xf4\x05\x3a\xcf\xa4\x99\x2c\x85\x74\xb1\xef\x3c\x5b\x57\x95\xe4\x38\xfc\xfb\x8e\x0c\x24\x64\xda\x45\x17\xd1\x4e\xe8\x72\x3e\xee\x39\x2e\xb0\xfa\x71\x47\x15\x78\x66\x43\x2e\x92\x45\x12\xa4\x8e\xb0\xf1\xda\x74\x84\x46\xce\x69\xd2\x81\xb0\x93\xd1\x59\x9d\x58\x1c\xde\x6c\x9a\xdd\x5b\x8c\xce\x52\x80\x38\x82\x04\x0c\x12\x48\x15\x30\x [...]
+		},
+		"/prometheus/operator-prometheus-rule.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-prometheus-rule.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 5408,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x97\xef\x6f\xda\x46\x18\xc7\xdf\xfb\xaf\xf8\x0a\xb7\x12\x99\x82\x81\x4c\xd9\x0b\xa6\x4e\xa2\x69\xd0\x50\x2b\xd8\x62\xba\xaa\x9a\xa6\xe8\xb0\x1f\xcc\x35\xe7\x3b\xf7\x7e\x40\x23\x96\xff\x7d\xba\x03\x5a\xdc\x2e\x49\xdb\xd0\x6e\x89\xdf\x24\x3e\x3f\x7e\x7e\x7d\x3f\x7e\xee\x88\xd1\xda\xdf\x15\xc5\x78\xc1\x33\x92\x86\x72\x58\x05\x3b\x27\xf4\x2b\x96\xcd\x09\xa9\x9a\xd9\x25\xd3\x84\x81\x72\x32\x67\x96\x2b\x89\x66\x3f\x1d\x [...]
+		},
+		"/rbac": &vfsgen۰DirInfo{
+			name:    "rbac",
+			modTime: time.Time{},
+		},
+		"/rbac/builder-role-binding.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "builder-role-binding.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1202,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xe3\x36\x14\x84\xef\xfc\x15\x03\xeb\x92\x00\xb6\xdc\xf6\x54\xb8\x27\x25\xb1\x5b\xa1\x81\x0d\x58\xce\x06\x39\x52\xd4\xb3\xf4\xd6\x14\xa9\x25\xa9\x28\xde\x5f\xbf\xa0\x6c\x6f\x12\x2c\x36\xa7\xf0\x26\xe8\x69\xde\x37\x9c\x51\x82\xd9\xe7\x1d\x91\xe0\x9e\x15\x19\x4f\x15\x82\x45\x68\x08\x59\x27\x55\x43\x28\xec\x3e\x0c\xd2\x11\x56\xb6\x37\x95\x0c\x6c\x0d\xae\xb2\x62\x75\x8d\xde\x54\xe4\x60\x0d\xc1\x3a\xb4\xd6\x [...]
+		},
+		"/rbac/builder-role-kubernetes.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "builder-role-kubernetes.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1451,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\x1b\x37\x10\xbd\xf3\x2b\x1e\x76\x2f\x49\x61\x49\x6d\x4f\x85\x7a\x52\x1d\xbb\x5d\x34\x90\x00\xaf\xd2\x20\x47\x8a\x3b\xda\x1d\x98\x4b\xb2\x43\xae\x37\xee\xd7\x17\xa4\xa4\x46\xae\x2f\x09\x10\x5e\x34\xa4\x1e\xdf\xbc\xc7\x37\x52\x8d\xc5\xf7\x5b\xaa\xc6\x7b\x36\xe4\x22\x75\x48\x1e\x69\x20\x6c\x82\x36\x03\xa1\xf5\xc7\x34\x6b\x21\xdc\xfb\xc9\x75\x3a\xb1\x77\x78\xb3\x69\xef\xdf\x62\x72\x1d\x09\xbc\x23\x78\xc1\x [...]
+		},
+		"/rbac/builder-role-openshift.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "builder-role-openshift.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 2116,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\x4f\x8f\xdb\xb6\x13\xbd\xf3\x53\x3c\x48\x97\xe4\x87\xb5\xfc\x6b\x4f\x85\x7b\x72\x37\xbb\xad\xd1\xc0\x06\x56\x4e\x83\x1c\xc7\xd4\x58\x1a\x2c\x45\xb2\x24\xb5\xca\xf6\xd3\x17\xa2\xed\xae\x1d\xa7\xff\xd0\x00\xd1\xc5\xa3\xe1\xf0\xcd\x7b\xf3\xc6\x2a\x31\xfb\x72\x8f\x2a\xf1\x56\x34\xdb\xc8\x0d\x92\x43\xea\x18\x4b\x4f\xba\x63\xd4\x6e\x9f\x46\x0a\x8c\x7b\x37\xd8\x86\x92\x38\x8b\x57\xcb\xfa\xfe\x35\x06\xdb\x70\x80\xb3\x [...]
+		},
+		"/rbac/operator-cluster-role-binding.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-cluster-role-binding.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1256,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x8f\xdb\x36\x10\xbd\xf3\x57\x3c\x58\x97\x04\x58\xcb\x6d\x4f\x85\x7b\x72\x36\xbb\xad\xd0\xc0\x06\x2c\xa7\x41\x8e\x34\x35\x96\xa6\x4b\x71\xd4\x21\xb5\xca\xf6\xd7\x17\x94\xed\x64\x17\x29\x72\x5a\xde\x04\x8e\xde\xc7\xbc\xc7\x02\xcb\xd7\x3b\xa6\xc0\x07\x76\x14\x22\x35\x48\x82\xd4\x11\x36\x83\x75\x1d\xa1\x96\x53\x9a\xac\x12\xee\x65\x0c\x8d\x4d\x2c\x01\x6f\x36\xf5\xfd\x5b\x8c\xa1\x21\x85\x04\x82\x28\x7a\x51\x32\x [...]
+		},
+		"/rbac/operator-role-binding-events.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-binding-events.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1219,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xfa\x46\x10\xc5\xef\xfb\x29\x9e\xf0\xe5\x1f\x09\x4c\xdb\x53\x45\x4f\x4e\x02\xad\xd5\x08\x24\x4c\x1a\xe5\xb8\xac\x07\x7b\x8a\xbd\xe3\xee\xae\x71\xe8\xa7\xaf\xd6\x40\x93\xa8\x6a\xd5\x43\xf6\x86\x18\xbf\xf9\xbd\x7d\x6f\x13\xcc\xbe\xee\xa8\x04\x4f\x6c\xc8\x7a\x2a\x11\x04\xa1\x26\x64\x9d\x36\x35\xa1\x90\x43\x18\xb4\x23\xac\xa4\xb7\xa5\x0e\x2c\x16\xdf\xb2\x62\x75\x87\xde\x96\xe4\x20\x96\x20\x0e\xad\x38\x52\x [...]
+		},
+		"/rbac/operator-role-binding-knative.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-binding-knative.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1221,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x8f\xdb\x36\x10\x85\xef\xfc\x15\x0f\xd6\x25\x01\xd6\x72\xdb\x53\xe1\x9e\x94\xcd\x6e\x2b\x34\xb0\x01\xcb\x69\x90\xe3\x98\x1a\x4b\x53\x4b\x1c\x95\xa4\xac\xb8\xbf\xbe\xa0\x6c\x77\x37\x28\x5a\xf4\x10\xde\x04\x8d\xde\x7c\x8f\xef\x29\xc3\xf2\xdb\x1d\x93\xe1\x83\x58\x76\x81\x6b\x44\x45\x6c\x19\xc5\x40\xb6\x65\x54\x7a\x8c\x13\x79\xc6\xb3\x8e\xae\xa6\x28\xea\xf0\xa6\xa8\x9e\xdf\x62\x74\x35\x7b\xa8\x63\xa8\x47\xaf\x [...]
+		},
+		"/rbac/operator-role-binding-leases.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-binding-leases.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1219,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x8f\xdb\x36\x10\x85\xef\xfc\x15\x0f\xd6\x25\x01\xd6\x72\xdb\x53\xe1\x9e\x9c\xcd\x6e\x2b\x34\xb0\x01\xcb\x69\x90\xe3\x98\x1a\x4b\xd3\xa5\x38\x2a\x49\xad\xe2\xfe\xfa\x82\xb2\xdd\xdd\xa0\x68\xd1\x43\x78\x13\x34\x7a\xf3\x3d\xbe\xa7\x02\xcb\x6f\x77\x4c\x81\x0f\x62\xd9\x47\x6e\x90\x14\xa9\x63\x6c\x06\xb2\x1d\xa3\xd6\x53\x9a\x28\x30\x1e\x75\xf4\x0d\x25\x51\x8f\x37\x9b\xfa\xf1\x2d\x46\xdf\x70\x80\x7a\x86\x06\xf4\x [...]
+		},
+		"/rbac/operator-role-binding-servicemonitors.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-binding-servicemonitors.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1237,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x8f\xdb\x36\x10\xbd\xf3\x57\x3c\x58\x97\x04\x58\xcb\x6d\x4f\x85\x7b\x52\x36\xeb\x56\x68\x60\x03\x96\xd3\x20\x47\x9a\x1a\x4b\x53\x4b\x1c\x75\x48\xad\xe2\xfe\xfa\x82\xb2\xdd\xdd\xa0\x68\x81\x02\xe1\xcd\xf0\xcc\xfb\x98\xf7\x94\x61\xf9\xed\x9e\xc9\xf0\x81\x1d\xf9\x40\x35\xa2\x20\xb6\x84\x62\xb0\xae\x25\x54\x72\x8a\x93\x55\xc2\x46\x46\x5f\xdb\xc8\xe2\xf1\xa6\xa8\x36\x6f\x31\xfa\x9a\x14\xe2\x09\xa2\xe8\x45\xc9\x [...]
+		},
+		"/rbac/operator-role-binding-strimzi.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-binding-strimzi.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1221,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xfa\x46\x10\xc5\xef\xfb\x29\x9e\xf0\xe5\x1f\x09\x4c\xdb\x53\x45\x4f\x4e\x02\xad\xd5\x08\x24\x4c\x1a\xe5\xb8\xac\x07\x7b\x8a\xbd\xe3\xee\xae\xe3\x90\x4f\x5f\xad\x81\x26\x51\xd5\xea\x7f\xc8\xde\x10\xc3\x9b\xdf\x9b\xf7\x48\x30\xfb\xba\xa7\x12\x3c\xb0\x21\xeb\xa9\x44\x10\x84\x9a\x90\x75\xda\xd4\x84\x42\x0e\x61\xd0\x8e\xb0\x92\xde\x96\x3a\xb0\x58\x7c\xcb\x8a\xd5\x0d\x7a\x5b\x92\x83\x58\x82\x38\xb4\xe2\x48\x [...]
+		},
+		"/rbac/operator-role-binding.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-binding.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1205,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x6f\xc2\x46\x10\x85\xef\xfb\x2b\x9e\xf0\x25\x91\xc0\xb4\x3d\x55\xf4\xe4\x24\xd0\x5a\x8d\x40\xc2\xa4\x51\x8e\xcb\x7a\xb0\xa7\xd8\x3b\xee\xee\x3a\x0e\xfd\xf5\xd5\x1a\x68\x12\x55\xcd\x29\x7b\xb3\x3c\x7e\xf3\xbd\x7d\xcf\x09\x66\xdf\x77\x54\x82\x47\x36\x64\x3d\x95\x08\x82\x50\x13\xb2\x4e\x9b\x9a\x50\xc8\x21\x0c\xda\x11\x56\xd2\xdb\x52\x07\x16\x8b\x9b\xac\x58\xdd\xa2\xb7\x25\x39\x88\x25\x88\x43\x2b\x8e\x54\x02\x [...]
+		},
+		"/rbac/operator-role-events.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-events.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1170,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xac\x4b\x02\xac\xe5\xb6\xa7\xc2\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x8e\x63\x69\x2c\x0d\x56\xe2\xa8\x43\x6a\x15\xf7\xeb\x0b\xca\x72\xb2\x41\xaf\xcb\x8b\x69\xf2\xe9\xcd\x7b\xf3\x86\x19\xd6\x6f\xb7\x5c\x86\x8f\x52\xb1\x0f\x5c\x23\x2a\x62\xcb\xd8\x0d\x54\xb5\x8c\x52\xcf\x71\x22\x63\x3c\xea\xe8\x6b\x8a\xa2\x1e\xef\x76\xe5\xe3\x7b\x8c\xbe\x66\x83\x7a\x86\x1a\x7a\x35\x76\x [...]
+		},
+		"/rbac/operator-role-knative.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-knative.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1442,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xac\x4b\x52\xac\xe5\xb6\xa7\xc2\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x8e\x63\x6a\x2c\x0d\x4c\x91\xea\x90\xb2\xb2\xfd\xfa\x42\xb2\xdc\x78\xb1\x45\x4f\x8b\xf2\xa2\x11\xf9\xf4\xe6\x3d\xbe\x51\x86\xe5\xdb\x2d\x93\xe1\xa3\x58\xf6\x91\x2b\xa4\x80\xd4\x30\x36\x1d\xd9\x86\x51\x86\x63\x1a\x48\x19\x8f\xa1\xf7\x15\x25\x09\x1e\xef\x36\xe5\xe3\x7b\xf4\xbe\x62\x45\xf0\x8c\xa0\x68\x [...]
+		},
+		"/rbac/operator-role-kubernetes.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-kubernetes.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 2375,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\xc1\x72\xdb\x36\x10\xbd\xf3\x2b\xde\x88\x97\xa4\x63\xc9\x6d\x4f\x1d\xf5\xa4\x26\x76\xab\x69\x46\x9a\x31\x95\x66\x72\x04\xc1\x15\xb5\x35\x88\x45\x01\x50\xb2\xfa\xf5\x1d\x40\x54\x22\x9b\xce\x8c\x0f\x9e\x86\x17\x2d\xc0\xe5\xdb\xb7\xfb\x9e\xb6\xc4\xf4\xf5\x9e\xa2\xc4\x07\xd6\x64\x03\x35\x88\x82\xb8\x23\x2c\x9c\xd2\x3b\x42\x25\xdb\x78\x50\x9e\x70\x2b\xbd\x6d\x54\x64\xb1\x78\xb3\xa8\x6e\xdf\xa2\xb7\x0d\x79\x88\x25\x [...]
+		},
+		"/rbac/operator-role-leases.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-leases.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1232,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\xdb\x46\x10\xbd\xef\xaf\x78\x10\x2f\x09\x60\xd1\x6d\x4f\x85\x7a\x52\x1d\xbb\x25\x1a\x48\x80\xa9\x34\xc8\x71\xb5\x1c\x91\x03\x2f\x77\xb6\xb3\x4b\x33\xee\xaf\x2f\x96\x92\x12\x1b\xbd\x86\xa7\xd1\xea\xf1\x7d\xec\x1b\x56\x58\xff\xb8\xc7\x54\xf8\xc8\x8e\x42\xa2\x0e\x59\x90\x07\xc2\x36\x5a\x37\x10\x5a\x39\xe5\xd9\x2a\xe1\x41\xa6\xd0\xd9\xcc\x12\xf0\x6e\xdb\x3e\xbc\xc7\x14\x3a\x52\x48\x20\x88\x62\x14\x25\x53\x [...]
+		},
+		"/rbac/operator-role-olm-cluster.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-olm-cluster.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1316,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x72\xdb\x36\x10\xbd\xe3\x2b\xde\x88\x87\x24\x1d\x8b\x6a\x7b\xea\xa8\x27\xd5\xb1\x5b\x4e\x33\xd2\x8c\xa9\x34\x93\x23\x44\xae\xc8\x1d\x83\x58\x74\x01\x9a\x71\xbf\xbe\x03\x4a\x4a\xac\xf1\xd5\xb8\x70\x09\x3e\xee\xbe\x87\xf7\x50\x60\xf9\x76\xcb\x14\xf8\xc4\x0d\xf9\x48\x2d\x92\x20\xf5\x84\x4d\xb0\x4d\x4f\xa8\xe5\x98\x26\xab\x84\x7b\x19\x7d\x6b\x13\x8b\xc7\xfb\x4d\x7d\xff\x01\xa3\x6f\x49\x21\x9e\x20\x8a\x41\x94\x [...]
+		},
+		"/rbac/operator-role-olm.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-olm.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 3963,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x56\x41\x8f\xdb\xb8\x0e\xbe\xfb\x57\x10\xc9\xa5\x7d\x98\x38\xef\xbd\xd3\x43\xde\x29\xdb\xce\xec\x06\x5b\x64\x80\xc9\x74\x8b\x1e\x69\x99\xb1\xb9\x91\x44\xad\x24\x27\x4d\x7f\xfd\x42\x8a\xd3\x71\xea\x99\x6d\x17\x28\x90\xcd\x25\x32\x45\x93\x1f\xbf\x8f\xa2\x35\x85\xd9\x8f\xfb\x15\x53\x78\xc7\x8a\x6c\xa0\x1a\xa2\x40\x6c\x09\x96\x0e\x55\x4b\xb0\x91\x6d\x3c\xa0\x27\xb8\x93\xce\xd6\x18\x59\x2c\xbc\x5a\x6e\xee\x5e\x43\x67\x [...]
+		},
+		"/rbac/operator-role-openshift.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-openshift.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 3153,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x54\xc1\x8e\xdb\x36\x10\xbd\xeb\x2b\x06\xd2\x25\x29\xd6\x76\xdb\x53\xe1\x9e\xdc\x64\xb7\x35\x1a\xd8\xc0\xda\x69\x90\xe3\x88\x1a\x4b\xd3\xa5\x38\x2c\x49\xd9\x71\xbf\xbe\x20\x25\x27\xf2\x6a\x17\x49\x81\x00\xeb\x8b\x47\xc3\xd1\x9b\x37\xf3\x9e\x58\xc0\xec\xfb\xfd\xb2\x02\xde\xb1\x22\xe3\xa9\x82\x20\x10\x1a\x82\x95\x45\xd5\x10\xec\xe4\x10\x4e\xe8\x08\xee\xa4\x33\x15\x06\x16\x03\xaf\x56\xbb\xbb\xd7\xd0\x99\x8a\x1c\x88\x [...]
+		},
+		"/rbac/operator-role-servicemonitors.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-servicemonitors.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1250,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xac\x4b\x02\xac\xe5\xb6\xa7\xc2\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x8e\x34\x35\x96\x06\x4b\x71\xd4\x21\xb5\x8a\xfb\xf5\x85\x68\xb9\xd9\x45\xae\xe1\xc5\x63\x72\x66\xde\x7b\xf3\x46\x05\xd6\x3f\xee\x98\x02\x1f\xd9\x51\x88\xd4\x20\x09\x52\x47\xd8\x0d\xd6\x75\x84\x5a\xce\x69\xb2\x4a\x78\x94\x31\x34\x36\xb1\x04\xbc\xdb\xd5\x8f\xef\x31\x86\x86\x14\x12\x08\xa2\xe8\x45\xc9\x [...]
+		},
+		"/rbac/operator-role-strimzi.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-strimzi.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1182,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x6e\xdb\x46\x10\xbd\xef\x57\x3c\x88\x97\x04\xb0\xa8\xb6\xa7\x42\x3d\xa9\x8e\xdd\x12\x0d\x24\xc0\x54\x1a\xe4\x38\x22\x47\xe4\x40\xe4\x0e\x3b\xbb\x34\xe3\x7c\x7d\xb1\x14\x55\x3b\xe8\x35\x7b\xe1\x0e\xf8\xf8\xe6\xbd\x79\xc3\x0c\xeb\x1f\x77\x5c\x86\x8f\x52\xb1\x0f\x5c\x23\x2a\x62\xcb\xd8\x0d\x54\xb5\x8c\x52\xcf\x71\x22\x63\x3c\xea\xe8\x6b\x8a\xa2\x1e\xef\x76\xe5\xe3\x7b\x8c\xbe\x66\x83\x7a\x86\x1a\x7a\x35\x76\x [...]
+		},
+		"/rbac/user-cluster-role.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "user-cluster-role.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1315,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\x8e\xdb\x36\x10\xbd\xf3\x2b\x1e\xa4\x4b\x52\xac\xe5\xb6\xa7\x42\x3d\xb9\x9b\xdd\x56\x68\x60\x03\x2b\xa7\x41\x50\xf4\x40\x8b\x63\x69\xb0\x14\xa9\x0e\xa9\x55\xb6\x5f\x5f\x90\xb6\x37\x5e\x14\x3d\x04\x08\x6f\x24\x87\x6f\xde\x9b\xf7\x58\x62\xf5\xed\x96\x2a\xf1\x9e\x3b\x72\x81\x0c\xa2\x47\x1c\x08\x9b\x49\x77\x03\xa1\xf5\xc7\xb8\x68\x21\xdc\xfb\xd9\x19\x1d\xd9\x3b\xbc\xd9\xb4\xf7\x6f\x31\x3b\x43\x02\xef\x08\x5e\x [...]
+		},
+		"/samples": &vfsgen۰DirInfo{
+			name:    "samples",
+			modTime: time.Time{},
+		},
+		"/samples/bases": &vfsgen۰DirInfo{
+			name:    "bases",
+			modTime: time.Time{},
+		},
+		"/samples/bases/camel_v1_build.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel_v1_build.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1018,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4f\x6f\x9b\x4e\x10\xbd\xef\xa7\x78\x32\x97\x44\x72\xec\xdf\xaf\x47\xf7\x44\x12\x5b\x45\x8d\xb0\x14\x9c\x46\x39\x8e\xd9\x31\x8c\x02\xbb\x74\x77\x09\xb6\xaa\x7e\xf7\x6a\xb1\xdd\x38\xea\x35\x73\x43\x0c\xef\xcf\xbc\x47\x82\x9b\xcf\x1b\x95\xe0\x41\x4a\x36\x9e\x35\x82\x45\xa8\x19\x69\x47\x65\xcd\x28\xec\x2e\x0c\xe4\x18\x2b\xdb\x1b\x4d\x41\xac\xc1\x55\x5a\xac\xae\xd1\x1b\xcd\x0e\xd6\x30\xac\x43\x6b\x1d\xab\x04\xa5\x [...]
+		},
+		"/samples/bases/camel_v1_camelcatalog.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel_v1_camelcatalog.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1025,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x3d\x6f\xdb\x30\x10\xdd\xf9\x2b\x1e\xac\x25\x01\x1c\xbb\xed\xe8\x4e\xaa\x63\xa3\x42\x03\x19\x88\x9c\x06\x19\xcf\xd2\x59\x3a\x44\x22\x59\x92\x8a\x62\x14\xfd\xef\x05\x65\xbb\x71\xd0\x35\xdc\x04\x9e\xde\xc7\xbd\xc7\x04\x37\x1f\x77\x54\x82\x3b\x29\x59\x7b\xae\x10\x0c\x42\xc3\x48\x2d\x95\x0d\xa3\x30\xfb\x30\x90\x63\xac\x4d\xaf\x2b\x0a\x62\x34\xae\xd2\x62\x7d\x8d\x5e\x57\xec\x60\x34\xc3\x38\x74\xc6\xb1\x4a\x50\x1a\x [...]
+		},
+		"/samples/bases/camel_v1_integration.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel_v1_integration.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1194,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\xe3\x38\x0c\xbd\xeb\x57\x3c\xc4\x87\x99\x01\xf2\x35\x7b\xf4\x9e\xb2\x99\x04\x63\xb4\x48\x80\x3a\xdd\xa2\x47\xc5\xa6\x6d\xa2\xb2\xe8\x95\xe4\xba\xf9\xf7\x0b\x39\x49\x9b\x62\xae\xd5\x49\x96\x49\xbe\xf7\xf8\xc8\x04\xb3\xaf\x3b\x2a\xc1\x3d\x17\x64\x3d\x95\x08\x82\xd0\x10\x56\x9d\x2e\x1a\x42\x2e\x55\x18\xb4\x23\x6c\xa5\xb7\xa5\x0e\x2c\x16\xdf\x57\xf9\xf6\x07\x7a\x5b\x92\x83\x58\x82\x38\xb4\xe2\x48\x25\x28\x [...]
+		},
+		"/samples/bases/camel_v1_integrationkit.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel_v1_integrationkit.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1027,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4f\x6f\x9b\x4e\x10\xbd\xef\xa7\x78\x32\x97\x44\x72\xec\xdf\xaf\x47\xf7\x44\x13\x5b\x45\x89\xb0\x14\x9c\x46\x39\x8e\x61\x0c\xa3\xc0\xee\x76\x77\x09\xb6\xaa\x7e\xf7\x6a\xb1\xdd\x38\xea\x35\x73\x43\x0c\xef\xcf\xbc\x47\x82\x9b\xcf\x1b\x95\xe0\x41\x4a\xd6\x9e\x2b\x04\x83\xd0\x30\x52\x4b\x65\xc3\x28\xcc\x2e\x0c\xe4\x18\x2b\xd3\xeb\x8a\x82\x18\x8d\xab\xb4\x58\x5d\xa3\xd7\x15\x3b\x18\xcd\x30\x0e\x9d\x71\xac\x12\x94\x [...]
+		},
+		"/samples/bases/camel_v1_integrationplatform.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel_v1_integrationplatform.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1058,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xcd\x6e\xdb\x3c\x10\xbc\xf3\x29\x06\xd6\x25\x01\x1c\xfb\xfb\x7a\x74\x4f\x6a\x62\xa3\x42\x03\xb9\x88\x9c\x06\x39\xae\xa5\xb5\xb4\x08\x45\xaa\x24\x15\xc5\x6f\x5f\x50\x96\x1b\x07\xbd\x86\x37\x81\xcb\xf9\xd9\x19\x25\xb8\xf9\xbc\xa3\x12\xdc\x4b\xc9\xc6\x73\x85\x60\x11\x1a\x46\xda\x51\xd9\x30\x0a\x7b\x08\x03\x39\xc6\xc6\xf6\xa6\xa2\x20\xd6\xe0\x2a\x2d\x36\xd7\xe8\x4d\xc5\x0e\xd6\x30\xac\x43\x6b\x1d\xab\x04\xa5\x35\x [...]
+		},
+		"/samples/bases/camel_v1_kamelet.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel_v1_kamelet.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1601,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x54\xc1\x6e\xe3\x46\x0c\xbd\xeb\x2b\x1e\xac\xcb\x2e\x10\x3b\x49\x8f\xea\xc9\xcd\x3a\xa8\xb1\x5b\x7b\x11\x79\xbb\xd8\x23\x2d\x51\x32\x61\x69\x66\x3a\x43\x45\xf1\xdf\x17\x23\xc9\xb1\x93\xa2\xb7\xe8\x36\x1c\x0e\xf9\x1e\xdf\xa3\x52\xcc\x3f\xee\x4b\x52\x7c\x93\x82\x4d\xe0\x12\x6a\xa1\x07\xc6\xd2\x51\x71\x60\xe4\xb6\xd2\x9e\x3c\xe3\xd1\x76\xa6\x24\x15\x6b\xf0\x69\x99\x3f\x7e\x46\x67\x4a\xf6\xb0\x86\x61\x3d\x5a\xeb\x39\x [...]
+		},
+		"/samples/bases/camel_v1_kameletbinding.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel_v1_kameletbinding.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1289,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xc1\xae\xdb\x36\x10\xbc\xf3\x2b\x06\xd6\x25\x01\x1c\xb9\xaf\x47\xf7\xe4\x38\x36\x22\x24\xb5\x81\x27\xa7\x41\x8e\x6b\x69\x2d\x2d\x4c\x91\x2c\x49\x59\xcf\x7f\x5f\x50\xb6\xfb\xec\xb6\x28\x72\x78\x3a\x51\xe4\x72\x67\x66\x67\x98\xe1\xc3\xdb\x7d\x2a\xc3\x57\xa9\xd8\x04\xae\x11\x2d\x62\xcb\x58\x38\xaa\x5a\x46\x69\x0f\x71\x20\xcf\x58\xdb\xde\xd4\x14\xc5\x1a\xbc\x5b\x94\xeb\xf7\xe8\x4d\xcd\x1e\xd6\x30\xac\x47\x67\x3d\x [...]
+		},
+		"/scorecard": &vfsgen۰DirInfo{
+			name:    "scorecard",
+			modTime: time.Time{},
+		},
+		"/templates": &vfsgen۰DirInfo{
+			name:    "templates",
+			modTime: time.Time{},
+		},
+		"/templates/groovy.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "groovy.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 207,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x34\x8e\xc1\x6a\xc3\x30\x0c\x86\xef\x7e\x8a\xff\x30\xb0\x03\xdb\x9c\x5d\x0d\x61\xb0\x5d\x36\xf6\x00\x3b\x9b\x46\x71\x4d\xed\x28\x28\x4e\x69\x28\x7d\xf7\xe2\xa6\x39\xea\x43\xdf\x27\x59\x8b\x83\xcf\x94\xde\x4e\x0e\xc9\x8f\x61\xf1\x81\xba\x20\xcc\xe7\x55\x29\x6b\xf1\x2f\xb1\x10\x56\x5e\x04\xc2\x4b\xa1\x19\x47\x12\x7a\xc5\xc0\x02\xba\xf8\x3c\x25\x72\x6a\x10\xce\x46\x97\x98\x49\xdc\xe6\x7e\x4e\x24\x91\xfb\xee\xa3\x6d\x5b\x [...]
+		},
+		"/templates/java.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "java.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 390,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\x90\x41\x4b\xf3\x40\x10\x86\xef\xfb\x2b\x5e\xc2\x77\x48\xe1\x33\xa9\xd7\x94\xa2\x54\x04\x45\x50\xf0\xe2\x79\x9b\x9d\xa4\xa3\x9b\x4c\x98\x6c\x6a\x4b\xc8\x7f\x97\x8d\x01\xb3\xb7\x9d\x7d\xf6\x79\x79\x27\xcf\x51\xda\x86\xfc\xcd\x57\x01\x6f\xdb\x7a\xb0\x35\xed\x3f\xed\xd9\x1a\xc3\x4d\x27\x1a\x20\x5a\x67\xb6\xb3\xe5\x89\xb2\x99\xcc\x8e\x03\x7b\x47\x9a\xbd\xcb\x10\xe8\xf0\x7b\xd9\x19\xd3\x0d\x47\xcf\x25\x4a\x6f\xfb\x1e\x [...]
+		},
+		"/templates/js.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "js.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 195,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x34\x8e\xb1\x6a\xc3\x30\x14\x45\x77\x7d\xc5\x1d\x0a\x92\xa1\xad\xdc\x55\x60\x0a\xed\xd2\xd2\x0f\xe8\x2c\xe2\x67\x47\x8e\xe4\x67\x9e\x64\x88\x09\xf9\xf7\xa0\x24\x1e\xef\x81\x73\xb8\xd6\xe2\xe0\x13\xc5\xb7\x93\x43\xf4\xf3\xb8\xfa\x91\xba\x29\x2b\x65\x2d\xfe\x25\x14\xc2\xc6\xab\x40\x78\x2d\x94\x71\x24\xa1\x57\x0c\x2c\xa0\xb3\x4f\x4b\x24\xa7\x06\xe1\x64\x74\x09\x89\xc4\x4d\xf9\x73\x21\x09\xdc\x77\x1f\x6d\xdb\xea\x46\x01\x [...]
+		},
+		"/templates/kts.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "kts.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 200,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x2c\x8e\x41\xca\xc2\x30\x10\x46\xf7\x39\xc5\x10\xfe\x45\x0a\xbf\xa6\x6e\x03\x45\xd0\x8d\xe2\x01\xdc\xb8\x09\x76\x5a\x43\x27\x9d\x32\x4d\xc1\x22\xde\x5d\x62\x5c\xbe\x61\xde\xe3\xb3\x16\xee\x3e\x22\x6d\x06\x07\xe4\xc7\x7e\xf1\x3d\x36\x03\x27\x0a\xa3\x52\xd6\xc2\x55\x42\x42\x58\x79\x11\x10\x5e\x12\xce\xf0\x40\xc1\x7f\xe8\x58\x00\x9f\x3e\x4e\x84\x4e\x75\xc2\xd1\xe8\x14\x22\x8a\x2b\xee\x7e\x42\x09\xdc\x36\xbb\xba\xae\x75\x [...]
+		},
+		"/templates/xml.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "xml.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 597,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x92\x4f\x4b\xf4\x30\x10\xc6\xcf\x6f\x3f\xc5\xbc\xe1\x3d\xbe\x69\xba\x7a\x91\x92\x76\x41\x41\x14\xd7\x93\x8a\x5e\x43\x3b\xdb\x06\xf3\xa7\x24\xa9\xcd\x22\x7e\x77\x69\xba\xae\x2b\x5e\x74\x4e\x2d\x33\xbf\xe7\x99\x79\x08\x5f\x47\xad\xe0\x05\x9d\x97\xd6\x54\x64\x95\x17\x04\xd0\x34\xb6\x95\xa6\xab\xc8\xc3\xfd\x25\x3d\x23\xeb\x3a\xe3\x7f\x29\x85\x46\x68\x54\xf4\xb9\x04\x25\x4c\x37\x8a\x0e\xab\x99\xa5\xb4\xce\x32\xee\xec\x [...]
+		},
+		"/templates/yaml.tmpl": &vfsgen۰CompressedFileInfo{
+			name:             "yaml.tmpl",
+			modTime:          time.Time{},
+			uncompressedSize: 230,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x44\x8e\x31\x4e\x04\x31\x0c\x45\xfb\x9c\xe2\x2b\xdb\x32\xd2\xd0\x5a\xa2\xa2\x41\xe2\x00\xd4\x66\xd7\x33\x44\x24\x71\xe4\x38\x12\x73\x7b\x94\x1d\xc1\xba\xfc\x7e\xf6\x7f\x17\x5c\xb9\x48\x5e\xbe\x09\x99\xeb\x3e\x78\x97\x97\x83\x4b\x0e\xe1\x82\x0f\x4b\x2e\x38\x74\x18\x4c\x87\x4b\xc7\x97\x98\x3c\x61\x53\x83\xfc\x70\x69\x59\x28\x2c\xd8\x4c\x0b\x05\x00\x18\x96\x08\xd1\x53\x11\xa3\xf9\x24\xde\xd3\xc6\xc6\x45\x5c\xac\x9f\x14\x [...]
+		},
+		"/camel-catalog-1.6.0.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "camel-catalog-1.6.0.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 89253,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x7d\x4b\x77\xdb\x3a\xb2\xee\x3c\xbf\x82\x6b\x67\x72\xce\xba\xcd\xea\xbd\x93\xd3\xbd\xef\xca\x1d\xd9\x72\xec\xd8\xb1\x1d\x27\x72\x27\xe9\x9e\xec\x05\x91\x90\x04\x8b\x24\x68\x00\x92\xed\xfc\xfa\xbb\xf0\xe0\x4b\x92\x8b\x22\x0d\xf8\x78\x60\x52\x44\xe1\x2b\xa0\xf0\x06\x0a\x55\x6f\xa3\xd8\xdf\xdf\x9b\xb7\xd1\x25\x4b\x68\x21\x69\x1a\x29\x1e\xa9\x25\x8d\x8e\x4a\x92\x2c\x69\x34\xe5\x73\xf5\x40\x04\x8d\x4e\xf9\xba\x48\x89\x [...]
+		},
+		"/crd-build.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "crd-build.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 315173,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\xfd\x73\x1b\x37\x92\x30\x8e\xff\x9e\xbf\x02\xa5\x6c\x95\xa4\x8b\x48\xd9\x77\xf9\xee\xed\x69\xaf\x2e\xa5\x58\x72\x4e\x95\xd8\xd6\x63\xca\xc9\xf7\x2a\x9b\xdb\x02\x67\x40\x12\xab\x19\x60\x02\x60\x28\x73\x9f\x3c\xff\xfb\xa7\xd0\x00\xe6\x85\x2f\x62\x63\x48\xca\x72\x32\xf8\xc5\x16\xc9\xe9\x01\x1a\x8d\x46\xbf\xf7\x97\x64\xb0\xbf\xf1\xc5\x97\xe4\x07\x9e\x30\xa1\x59\x4a\x8c\x24\x66\xc6\xc8\x65\x41\x93\x19\x23\x23\x39\x [...]
+		},
+		"/crd-camel-catalog.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "crd-camel-catalog.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 13133,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\x5f\x93\xe2\xb8\x11\x7f\xf7\xa7\xe8\x1a\x1e\xf6\xae\x6a\x30\xb7\x49\x1e\x52\xe4\x89\xb0\xb3\x15\x6a\xf7\x66\xa6\x06\x6e\xaf\xee\x51\xd8\x8d\xd1\x8e\x2c\x39\x92\x0c\x4b\x52\xf9\xee\x29\x49\x36\xb6\x01\xdb\xf2\x1c\x5b\x93\x3f\xd3\x4f\x60\xb5\xbb\x5b\xbf\xfe\x6b\x5b\x23\x18\x5f\x8f\x82\x11\x7c\xa6\x11\x72\x85\x31\x68\x01\x7a\x8b\x30\xcb\x48\xb4\x45\x58\x8a\x8d\xde\x13\x89\xf0\x51\xe4\x3c\x26\x9a\x0a\x0e\x3f\xcc\x [...]
+		},
+		"/crd-integration-kit.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "crd-integration-kit.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 7815,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x58\x5f\x93\xe2\xb8\x11\x7f\xf7\xa7\xe8\x1a\x1e\xf6\xae\x6a\x30\xb7\x49\x1e\x52\xe4\x89\xb0\x3b\x15\x6a\x77\x67\xa6\x06\xf6\xae\xae\x6a\x5f\x1a\xbb\x31\x7d\xc8\x92\x23\xc9\x30\x93\x54\xbe\x7b\x4a\x92\x0d\xf6\x60\x03\xc3\xed\xfa\x09\x2c\xa9\xfb\xd7\xff\x7e\xdd\xd6\x00\x86\xdf\xef\x89\x06\xf0\x99\x13\x92\x86\x52\xb0\x0a\xec\x9a\x60\x52\x60\xb2\x26\x98\xab\x95\xdd\xa1\x26\xb8\x53\xa5\x4c\xd1\xb2\x92\xf0\xd3\x64\x7e\x [...]
+		},
+		"/crd-integration-platform.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "crd-integration-platform.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 16886,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5b\xdf\x8f\xe2\x38\xf2\x7f\xcf\x5f\x51\x1a\x1e\x66\x57\x6a\x60\xe7\xfb\xbd\x87\x13\xf7\x70\xea\x65\x66\x74\x68\x66\xba\x5b\x0d\x33\xab\x7d\x34\x49\x11\xbc\x38\x76\xce\x3f\x9a\x61\x4f\xf7\xbf\x9f\x5c\x4e\x20\x40\x12\x42\x77\xaf\x4e\xba\x8d\x5f\xba\x21\x76\xf9\x53\x55\xae\x8f\xcb\x2e\x32\x80\xe1\xeb\xb5\x68\x00\x9f\x79\x8c\xd2\x60\x02\x56\x81\x5d\x23\xdc\xe6\x2c\x5e\x23\xcc\xd5\xca\x6e\x99\x46\xf8\xa8\x9c\x4c\x98\x [...]
+		},
+		"/crd-integration.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "crd-integration.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 14485,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1b\x4d\x73\xe2\x38\xf6\xee\x5f\xf1\x2a\x1c\xba\xbb\x2a\x98\xe9\x99\x3d\x6c\xb1\x27\x96\xee\xd4\xb2\x9d\x4e\x52\x81\x9e\xa9\x3e\x0a\xfb\x61\x34\x91\x25\xaf\x24\x43\x98\xad\xfd\xef\x5b\x7a\xb2\xc1\x06\xdb\x10\xd2\xb3\x33\x3b\x83\x4f\x89\xa5\xa7\xf7\xfd\x29\xd3\x83\xfe\xb7\x7b\x82\x1e\xdc\xf2\x08\xa5\xc1\x18\xac\x02\xbb\x44\x18\x65\x2c\x5a\x22\x4c\xd5\xc2\xae\x99\x46\xb8\x51\xb9\x8c\x99\xe5\x4a\xc2\xdb\xd1\xf4\xe6\x [...]
+		},
+		"/crd-kamelet-binding.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "crd-kamelet-binding.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 36347,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x4f\x23\xb9\xd2\xf0\xf7\xfc\x8a\x12\xac\x34\x20\xd1\xb9\x10\x98\x9d\xc9\xfb\x61\xc4\xc2\xb0\x6f\xce\xce\x00\x22\x70\x8e\xf6\x81\x39\x92\xd3\x5d\x49\xbc\x74\xdb\x7d\x6c\x77\x42\x9e\x85\xff\xfe\xc8\x76\x77\xd2\xb9\xf4\x25\x04\xe6\xcc\x48\x6d\x69\x34\x49\xb7\x5d\xae\xbb\xcb\x65\x17\xd9\x05\xe7\xf5\x5a\x6d\x17\xbe\x50\x17\x99\x44\x0f\x14\x07\x35\x42\x38\x09\x89\x3b\x42\xe8\xf1\x81\x9a\x10\x81\x70\xce\x23\xe6\x [...]
+		},
+		"/crd-kamelet.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "crd-kamelet.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 24019,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5c\x7d\x4f\xe3\x3a\xba\xff\xbf\x9f\xe2\x11\x1c\xe9\x30\x12\x29\x2d\x85\x39\x33\xbd\x7f\x20\x0e\x0c\x7b\x7b\x0f\x07\x10\x85\x5d\x9d\x0b\xb3\x92\x9b\x3c\x6d\xbd\x24\x76\xd6\x76\x28\xec\x81\xef\x7e\x65\x3b\x69\xd3\x97\x24\x4e\x29\xec\xe8\x6a\x2d\x8d\xa6\x4d\xed\x9f\x9f\x37\x3f\x7e\xfb\x91\x6d\xf0\x36\x57\x1a\xdb\x70\x4e\x7d\x64\x12\x03\x50\x1c\xd4\x18\xe1\x38\x26\xfe\x18\xa1\xcf\x87\x6a\x42\x04\xc2\x19\x4f\x58\x40\x [...]
+		},
+		"/operator-role-binding-leases.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-binding-leases.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1219,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x93\x41\x8f\xdb\x36\x10\x85\xef\xfc\x15\x0f\xd6\x25\x01\xd6\x72\xdb\x53\xe1\x9e\x9c\xcd\x6e\x2b\x34\xb0\x01\xcb\x69\x90\xe3\x98\x1a\x4b\xd3\xa5\x38\x2a\x49\xad\xe2\xfe\xfa\x82\xb2\xdd\xdd\xa0\x68\xd1\x43\x78\x13\x34\x7a\xf3\x3d\xbe\xa7\x02\xcb\x6f\x77\x4c\x81\x0f\x62\xd9\x47\x6e\x90\x14\xa9\x63\x6c\x06\xb2\x1d\xa3\xd6\x53\x9a\x28\x30\x1e\x75\xf4\x0d\x25\x51\x8f\x37\x9b\xfa\xf1\x2d\x46\xdf\x70\x80\x7a\x86\x06\xf4\x [...]
+		},
+		"/operator-role-leases.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "operator-role-leases.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1232,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4d\x6f\xdb\x46\x10\xbd\xef\xaf\x78\x10\x2f\x09\x60\xd1\x6d\x4f\x85\x7a\x52\x1d\xbb\x25\x1a\x48\x80\xa9\x34\xc8\x71\xb5\x1c\x91\x03\x2f\x77\xb6\xb3\x4b\x33\xee\xaf\x2f\x96\x92\x12\x1b\xbd\x86\xa7\xd1\xea\xf1\x7d\xec\x1b\x56\x58\xff\xb8\xc7\x54\xf8\xc8\x8e\x42\xa2\x0e\x59\x90\x07\xc2\x36\x5a\x37\x10\x5a\x39\xe5\xd9\x2a\xe1\x41\xa6\xd0\xd9\xcc\x12\xf0\x6e\xdb\x3e\xbc\xc7\x14\x3a\x52\x48\x20\x88\x62\x14\x25\x53\x [...]
+		},
+		"/traits.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "traits.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 33769,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3d\xfd\x6f\x1b\x37\x96\xbf\xf7\xaf\x20\x74\x07\xd8\x32\xa4\xb1\xd3\x45\xb7\x5d\xdf\xf5\x0a\x37\x49\x77\xdd\xe6\xc3\x17\xa7\x5d\x1c\x7a\x8b\x15\x35\xf3\x24\x31\xe6\x90\xb3\x24\x47\x8e\x7a\xb8\xff\xfd\xc0\xc7\xcf\x19\x8d\xed\x71\x62\x17\x5e\xe0\x90\x1f\x62\x49\x43\xf2\xf1\xf1\x7d\x7f\x70\x8c\xa2\xcc\xe8\xd3\x2f\xe6\x44\xd0\x1a\x4e\x09\x5d\xad\x98\x60\x66\xf7\x05\x21\x0d\xa7\x66\x25\x55\x7d\x4a\x56\x94\x6b\xb0\xdf\x [...]
+		},
+		"/user-global-kamelet-viewer-role-binding.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "user-global-kamelet-viewer-role-binding.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1250,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\xcd\x6e\xda\x4c\x14\xdd\xcf\x53\x1c\xe1\x4d\x22\x81\xf9\xbe\xae\x2a\x77\x45\x12\x68\xad\x46\x20\x61\xd2\x28\xcb\x8b\x7d\xb1\x6f\xb1\x67\xdc\x99\x71\x1c\xfa\xf4\xd5\x18\xc8\x8f\x2a\xb5\xaa\x94\xd9\x20\x34\x77\xce\xcf\x3d\xc7\x11\x26\xef\x77\x54\x84\x5b\xc9\x59\x3b\x2e\xe0\x0d\x7c\xc5\x98\xb5\x94\x57\x8c\xcc\xec\x7c\x4f\x96\xb1\x30\x9d\x2e\xc8\x8b\xd1\xb8\x98\x65\x8b\x4b\x74\xba\x60\x0b\xa3\x19\xc6\xa2\x31\x96\x [...]
+		},
+		"/user-global-kamelet-viewer-role.yaml": &vfsgen۰CompressedFileInfo{
+			name:             "user-global-kamelet-viewer-role.yaml",
+			modTime:          time.Time{},
+			uncompressedSize: 1166,
+
+			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x53\x4f\x6f\xfa\x46\x14\xbc\xef\xa7\x18\xe1\x4b\x22\x81\x69\x7b\xaa\xe8\x89\x26\xd0\x5a\x8d\x40\xc2\xa4\x51\x8e\x8b\xfd\xb0\x9f\x58\xef\xba\x6f\xd7\x38\xf4\xd3\x57\x6b\x4c\x43\xf4\xbb\x66\x2f\xeb\x3f\xe3\x37\x33\x3b\xe3\x04\xb3\xef\x5b\x2a\xc1\x0b\x17\x64\x3d\x95\x08\x0e\xa1\x26\x2c\x5b\x5d\xd4\x84\xdc\x1d\x43\xaf\x85\xb0\x76\x9d\x2d\x75\x60\x67\xf1\xb0\xcc\xd7\x8f\xe8\x6c\x49\x02\x67\x09\x4e\xd0\x38\x21\x95\xa0\x [...]
+		},
+	}
+	fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/addons"].(os.FileInfo),
+		fs["/camel-catalog-1.6.0.yaml"].(os.FileInfo),
+		fs["/crd"].(os.FileInfo),
+		fs["/crd-build.yaml"].(os.FileInfo),
+		fs["/crd-camel-catalog.yaml"].(os.FileInfo),
+		fs["/crd-integration-kit.yaml"].(os.FileInfo),
+		fs["/crd-integration-platform.yaml"].(os.FileInfo),
+		fs["/crd-integration.yaml"].(os.FileInfo),
+		fs["/crd-kamelet-binding.yaml"].(os.FileInfo),
+		fs["/crd-kamelet.yaml"].(os.FileInfo),
+		fs["/default"].(os.FileInfo),
+		fs["/manager"].(os.FileInfo),
+		fs["/manifests"].(os.FileInfo),
+		fs["/operator-role-binding-leases.yaml"].(os.FileInfo),
+		fs["/operator-role-leases.yaml"].(os.FileInfo),
+		fs["/prometheus"].(os.FileInfo),
+		fs["/rbac"].(os.FileInfo),
+		fs["/samples"].(os.FileInfo),
+		fs["/scorecard"].(os.FileInfo),
+		fs["/templates"].(os.FileInfo),
+		fs["/traits.yaml"].(os.FileInfo),
+		fs["/user-global-kamelet-viewer-role-binding.yaml"].(os.FileInfo),
+		fs["/user-global-kamelet-viewer-role.yaml"].(os.FileInfo),
+	}
+	fs["/addons"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/addons/master"].(os.FileInfo),
+	}
+	fs["/addons/master"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/addons/master/master-role-binding.tmpl"].(os.FileInfo),
+		fs["/addons/master/master-role-configmap.tmpl"].(os.FileInfo),
+		fs["/addons/master/master-role-lease.tmpl"].(os.FileInfo),
+	}
+	fs["/crd"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/crd/bases"].(os.FileInfo),
+	}
+	fs["/crd/bases"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/crd/bases/camel.apache.org_builds.yaml"].(os.FileInfo),
+		fs["/crd/bases/camel.apache.org_camelcatalogs.yaml"].(os.FileInfo),
+		fs["/crd/bases/camel.apache.org_integrationkits.yaml"].(os.FileInfo),
+		fs["/crd/bases/camel.apache.org_integrationplatforms.yaml"].(os.FileInfo),
+		fs["/crd/bases/camel.apache.org_integrations.yaml"].(os.FileInfo),
+		fs["/crd/bases/camel.apache.org_kameletbindings.yaml"].(os.FileInfo),
+		fs["/crd/bases/camel.apache.org_kamelets.yaml"].(os.FileInfo),
+	}
+	fs["/manager"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/manager/builder-service-account.yaml"].(os.FileInfo),
+		fs["/manager/operator-deployment.yaml"].(os.FileInfo),
+		fs["/manager/operator-service-account.yaml"].(os.FileInfo),
+	}
+	fs["/manifests"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/manifests/bases"].(os.FileInfo),
+	}
+	fs["/manifests/bases"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/manifests/bases/camel-k.clusterserviceversion.yaml"].(os.FileInfo),
+	}
+	fs["/prometheus"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/prometheus/operator-pod-monitor.yaml"].(os.FileInfo),
+		fs["/prometheus/operator-prometheus-rule.yaml"].(os.FileInfo),
+	}
+	fs["/rbac"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/rbac/builder-role-binding.yaml"].(os.FileInfo),
+		fs["/rbac/builder-role-kubernetes.yaml"].(os.FileInfo),
+		fs["/rbac/builder-role-openshift.yaml"].(os.FileInfo),
+		fs["/rbac/operator-cluster-role-binding.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-binding-events.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-binding-knative.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-binding-leases.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-binding-servicemonitors.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-binding-strimzi.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-binding.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-events.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-knative.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-kubernetes.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-leases.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-olm-cluster.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-olm.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-openshift.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-servicemonitors.yaml"].(os.FileInfo),
+		fs["/rbac/operator-role-strimzi.yaml"].(os.FileInfo),
+		fs["/rbac/user-cluster-role.yaml"].(os.FileInfo),
+	}
+	fs["/samples"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/samples/bases"].(os.FileInfo),
+	}
+	fs["/samples/bases"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/samples/bases/camel_v1_build.yaml"].(os.FileInfo),
+		fs["/samples/bases/camel_v1_camelcatalog.yaml"].(os.FileInfo),
+		fs["/samples/bases/camel_v1_integration.yaml"].(os.FileInfo),
+		fs["/samples/bases/camel_v1_integrationkit.yaml"].(os.FileInfo),
+		fs["/samples/bases/camel_v1_integrationplatform.yaml"].(os.FileInfo),
+		fs["/samples/bases/camel_v1_kamelet.yaml"].(os.FileInfo),
+		fs["/samples/bases/camel_v1_kameletbinding.yaml"].(os.FileInfo),
+	}
+	fs["/templates"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
+		fs["/templates/groovy.tmpl"].(os.FileInfo),
+		fs["/templates/java.tmpl"].(os.FileInfo),
+		fs["/templates/js.tmpl"].(os.FileInfo),
+		fs["/templates/kts.tmpl"].(os.FileInfo),
+		fs["/templates/xml.tmpl"].(os.FileInfo),
+		fs["/templates/yaml.tmpl"].(os.FileInfo),
+	}
+
+	return fs
+}()
+
+type vfsgen۰FS map[string]interface{}
+
+func (fs vfsgen۰FS) Open(path string) (http.File, error) {
+	path = pathpkg.Clean("/" + path)
+	f, ok := fs[path]
+	if !ok {
+		return nil, &os.PathError{Op: "open", Path: path, Err: os.ErrNotExist}
+	}
+
+	switch f := f.(type) {
+	case *vfsgen۰CompressedFileInfo:
+		gr, err := gzip.NewReader(bytes.NewReader(f.compressedContent))
+		if err != nil {
+			// This should never happen because we generate the gzip bytes such that they are always valid.
+			panic("unexpected error reading own gzip compressed bytes: " + err.Error())
+		}
+		return &vfsgen۰CompressedFile{
+			vfsgen۰CompressedFileInfo: f,
+			gr:                        gr,
+		}, nil
+	case *vfsgen۰DirInfo:
+		return &vfsgen۰Dir{
+			vfsgen۰DirInfo: f,
+		}, nil
+	default:
+		// This should never happen because we generate only the above types.
+		panic(fmt.Sprintf("unexpected type %T", f))
+	}
+}
+
+// vfsgen۰CompressedFileInfo is a static definition of a gzip compressed file.
+type vfsgen۰CompressedFileInfo struct {
+	name              string
+	modTime           time.Time
+	compressedContent []byte
+	uncompressedSize  int64
+}
+
+func (f *vfsgen۰CompressedFileInfo) Readdir(count int) ([]os.FileInfo, error) {
+	return nil, fmt.Errorf("cannot Readdir from file %s", f.name)
+}
+func (f *vfsgen۰CompressedFileInfo) Stat() (os.FileInfo, error) { return f, nil }
+
+func (f *vfsgen۰CompressedFileInfo) GzipBytes() []byte {
+	return f.compressedContent
+}
+
+func (f *vfsgen۰CompressedFileInfo) Name() string       { return f.name }
+func (f *vfsgen۰CompressedFileInfo) Size() int64        { return f.uncompressedSize }
+func (f *vfsgen۰CompressedFileInfo) Mode() os.FileMode  { return 0444 }
+func (f *vfsgen۰CompressedFileInfo) ModTime() time.Time { return f.modTime }
+func (f *vfsgen۰CompressedFileInfo) IsDir() bool        { return false }
+func (f *vfsgen۰CompressedFileInfo) Sys() interface{}   { return nil }
+
+// vfsgen۰CompressedFile is an opened compressedFile instance.
+type vfsgen۰CompressedFile struct {
+	*vfsgen۰CompressedFileInfo
+	gr      *gzip.Reader
+	grPos   int64 // Actual gr uncompressed position.
+	seekPos int64 // Seek uncompressed position.
+}
+
+func (f *vfsgen۰CompressedFile) Read(p []byte) (n int, err error) {
+	if f.grPos > f.seekPos {
+		// Rewind to beginning.
+		err = f.gr.Reset(bytes.NewReader(f.compressedContent))
+		if err != nil {
+			return 0, err
+		}
+		f.grPos = 0
+	}
+	if f.grPos < f.seekPos {
+		// Fast-forward.
+		_, err = io.CopyN(ioutil.Discard, f.gr, f.seekPos-f.grPos)
+		if err != nil {
+			return 0, err
+		}
+		f.grPos = f.seekPos
+	}
+	n, err = f.gr.Read(p)
+	f.grPos += int64(n)
+	f.seekPos = f.grPos
+	return n, err
+}
+func (f *vfsgen۰CompressedFile) Seek(offset int64, whence int) (int64, error) {
+	switch whence {
+	case io.SeekStart:
+		f.seekPos = 0 + offset
+	case io.SeekCurrent:
+		f.seekPos += offset
+	case io.SeekEnd:
+		f.seekPos = f.uncompressedSize + offset
+	default:
+		panic(fmt.Errorf("invalid whence value: %v", whence))
+	}
+	return f.seekPos, nil
+}
+func (f *vfsgen۰CompressedFile) Close() error {
+	return f.gr.Close()
+}
+
+// vfsgen۰DirInfo is a static definition of a directory.
+type vfsgen۰DirInfo struct {
+	name    string
+	modTime time.Time
+	entries []os.FileInfo
+}
+
+func (d *vfsgen۰DirInfo) Read([]byte) (int, error) {
+	return 0, fmt.Errorf("cannot Read from directory %s", d.name)
+}
+func (d *vfsgen۰DirInfo) Close() error               { return nil }
+func (d *vfsgen۰DirInfo) Stat() (os.FileInfo, error) { return d, nil }
+
+func (d *vfsgen۰DirInfo) Name() string       { return d.name }
+func (d *vfsgen۰DirInfo) Size() int64        { return 0 }
+func (d *vfsgen۰DirInfo) Mode() os.FileMode  { return 0755 | os.ModeDir }
+func (d *vfsgen۰DirInfo) ModTime() time.Time { return d.modTime }
+func (d *vfsgen۰DirInfo) IsDir() bool        { return true }
+func (d *vfsgen۰DirInfo) Sys() interface{}   { return nil }
+
+// vfsgen۰Dir is an opened dir instance.
+type vfsgen۰Dir struct {
+	*vfsgen۰DirInfo
+	pos int // Position within entries for Seek and Readdir.
+}
+
+func (d *vfsgen۰Dir) Seek(offset int64, whence int) (int64, error) {
+	if offset == 0 && whence == io.SeekStart {
+		d.pos = 0
+		return 0, nil
+	}
+	return 0, fmt.Errorf("unsupported Seek in directory %s", d.name)
+}
+
+func (d *vfsgen۰Dir) Readdir(count int) ([]os.FileInfo, error) {
+	if d.pos >= len(d.entries) && count > 0 {
+		return nil, io.EOF
+	}
+	if count <= 0 || count > len(d.entries)-d.pos {
+		count = len(d.entries) - d.pos
+	}
+	e := d.entries[d.pos : d.pos+count]
+	d.pos += count
+	return e, nil
+}
diff --git a/deploy/resources_support.go b/pkg/resources/resources_support.go
similarity index 83%
rename from deploy/resources_support.go
rename to pkg/resources/resources_support.go
index 79fbdd7..7caa892 100644
--- a/deploy/resources_support.go
+++ b/pkg/resources/resources_support.go
@@ -15,17 +15,21 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
-package deploy
+package resources
 
 import (
 	"bytes"
 	"io/ioutil"
+	"path/filepath"
 	"strings"
 	"text/template"
 
 	"github.com/apache/camel-k/pkg/util/log"
 )
 
+//
+//go:generate go run ../../cmd/util/vfs-gen deploy config
+//
 // ResourceAsString returns the named resource content as string
 func ResourceAsString(name string) string {
 	return string(Resource(name))
@@ -79,6 +83,21 @@ func DirExists(dirName string) bool {
 	return true
 }
 
+// ResourcesWithPrefix lists all file names that begins with the give path prefix
+// If pathPrefix is a path of directories then be sure to end it with a '/'
+func ResourcesWithPrefix(pathPrefix string) []string {
+	dirPath := filepath.Dir(pathPrefix)
+
+	var res []string
+	for _, path := range Resources(dirPath) {
+		if result, _ := filepath.Match(pathPrefix+"*", path); result {
+			res = append(res, path)
+		}
+	}
+
+	return res
+}
+
 // Resources lists all file names in the given path (starts with '/')
 func Resources(dirName string) []string {
 	dir, err := assets.Open(dirName)
@@ -104,7 +123,7 @@ func Resources(dirName string) []string {
 	var res []string
 	for _, f := range files {
 		if !f.IsDir() {
-			res = append(res, f.Name())
+			res = append(res, filepath.Join(dirName, f.Name()))
 		}
 	}
 	return res
diff --git a/pkg/resources/resources_test.go b/pkg/resources/resources_test.go
new file mode 100644
index 0000000..bde823f
--- /dev/null
+++ b/pkg/resources/resources_test.go
@@ -0,0 +1,114 @@
+/*
+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.
+*/
+
+package resources
+
+import (
+	"fmt"
+	"strings"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
+	"k8s.io/apimachinery/pkg/util/yaml"
+)
+
+func TestGetResource(t *testing.T) {
+	assert.NotEmpty(t, Resource("manager/operator-service-account.yaml"))
+	assert.NotEmpty(t, Resource("/manager/operator-service-account.yaml"))
+	assert.NotEmpty(t, ResourceAsString("manager/operator-service-account.yaml"))
+	assert.NotEmpty(t, ResourceAsString("/manager/operator-service-account.yaml"))
+	assert.Contains(t, Resources("/manager"), "/manager/operator-service-account.yaml")
+}
+
+func TestGetNoResource(t *testing.T) {
+	assert.Empty(t, Resource("manager/operator-service-account.json"))
+	assert.Empty(t, Resource("/manager/operator-service-account.json"))
+	assert.Empty(t, ResourceAsString("manager/operator-service-account.json"))
+	assert.Empty(t, ResourceAsString("/manager/operator-service-account.json"))
+	assert.NotContains(t, Resources("/"), "/manager/operator-service-account.json")
+}
+
+func TestResources(t *testing.T) {
+	assert.Contains(t, Resources("/manager"), "/manager/operator-service-account.yaml")
+	assert.Contains(t, Resources("/manager/"), "/manager/operator-service-account.yaml")
+	assert.NotContains(t, Resources("/manager"), "kustomize.yaml")
+	assert.Empty(t, Resources("/dirnotexist"))
+
+	for _, res := range Resources("/") {
+		if strings.Contains(res, "java.tmpl") {
+			assert.Fail(t, "Resources should not return nested files")
+		}
+		if strings.Contains(res, "templates") {
+			assert.Fail(t, "Resources should not return nested dirs")
+		}
+	}
+	assert.Contains(t, Resources("/templates"), "/templates/java.tmpl")
+	assert.Empty(t, Resources("/olm-catalog"))
+}
+
+func TestResourcesWithPrefix(t *testing.T) {
+	assert.Contains(t, ResourcesWithPrefix("/manager/"), "/manager/operator-service-account.yaml")
+	assert.Contains(t, ResourcesWithPrefix("/manager/op"), "/manager/operator-service-account.yaml")
+	assert.Contains(t, ResourcesWithPrefix("/manager/operator-service-account"), "/manager/operator-service-account.yaml")
+
+	assert.Contains(t, ResourcesWithPrefix("/traits"), "/traits.yaml")
+
+	// directory needs the slash on the end
+	assert.NotContains(t, ResourcesWithPrefix("/manager"), "/manager/operator-service-account.yaml")
+	// need to get to at least the same directory as the required files
+	assert.NotContains(t, ResourcesWithPrefix("/"), "/manager/operator-service-account.yaml")
+}
+
+func TestTemplateResource(t *testing.T) {
+	fname := "master-role-lease.tmpl"
+	name := "myintegration-master"
+	ns := "test-nm"
+
+	var templateData = struct {
+		Namespace      string
+		Name           string
+		ServiceAccount string
+	}{
+		Namespace:      ns,
+		Name:           name,
+		ServiceAccount: "default",
+	}
+
+	data, err := TemplateResource(fmt.Sprintf("/addons/master/%s", fname), templateData)
+	assert.NoError(t, err)
+
+	jsonSrc, err := yaml.ToJSON([]byte(data))
+	assert.NoError(t, err)
+
+	uns := unstructured.Unstructured{}
+	err = uns.UnmarshalJSON(jsonSrc)
+	assert.NoError(t, err)
+
+	assert.Equal(t, uns.GetName(), name)
+	assert.Equal(t, uns.GetNamespace(), ns)
+}
+
+func TestCRDResources(t *testing.T) {
+	assert.NotEmpty(t, Resource("/crd/bases/camel.apache.org_builds.yaml"))
+	assert.NotEmpty(t, Resource("/crd/bases/camel.apache.org_camelcatalogs.yaml"))
+	assert.NotEmpty(t, Resource("/crd/bases/camel.apache.org_integrationkits.yaml"))
+	assert.NotEmpty(t, Resource("/crd/bases/camel.apache.org_integrationplatforms.yaml"))
+	assert.NotEmpty(t, Resource("/crd/bases/camel.apache.org_integrations.yaml"))
+	assert.NotEmpty(t, Resource("/crd/bases/camel.apache.org_kameletbindings.yaml"))
+	assert.NotEmpty(t, Resource("/crd/bases/camel.apache.org_kamelets.yaml"))
+}
diff --git a/pkg/util/camel/catalog.go b/pkg/util/camel/catalog.go
index 70e02a5..451d857 100644
--- a/pkg/util/camel/catalog.go
+++ b/pkg/util/camel/catalog.go
@@ -22,14 +22,13 @@ import (
 	"io/ioutil"
 	"os"
 	"path"
-	"strings"
 
 	yaml2 "gopkg.in/yaml.v2"
 
 	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
 
-	"github.com/apache/camel-k/deploy"
 	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+	"github.com/apache/camel-k/pkg/resources"
 	"github.com/apache/camel-k/pkg/util/defaults"
 	"github.com/apache/camel-k/pkg/util/kubernetes"
 	"github.com/apache/camel-k/pkg/util/maven"
@@ -48,15 +47,13 @@ func QuarkusCatalog() (*RuntimeCatalog, error) {
 func catalogForRuntimeProvider(provider v1.RuntimeProvider) (*RuntimeCatalog, error) {
 	catalogs := make([]v1.CamelCatalog, 0)
 
-	for _, name := range deploy.Resources("/") {
-		if strings.HasPrefix(name, "camel-catalog-") {
-			var c v1.CamelCatalog
-			if err := yaml2.Unmarshal(deploy.Resource(name), &c); err != nil {
-				return nil, err
-			}
-
-			catalogs = append(catalogs, c)
+	for _, name := range resources.ResourcesWithPrefix("/camel-catalog-") {
+		var c v1.CamelCatalog
+		if err := yaml2.Unmarshal(resources.Resource(name), &c); err != nil {
+			return nil, err
 		}
+
+		catalogs = append(catalogs, c)
 	}
 
 	return findBestMatch(catalogs, v1.RuntimeSpec{
diff --git a/script/Makefile b/script/Makefile
index 16893a9..88e6bd3 100644
--- a/script/Makefile
+++ b/script/Makefile
@@ -23,6 +23,7 @@ KANIKO_VERSION := 0.17.1
 BASE_IMAGE := adoptopenjdk/openjdk11:slim
 LOCAL_REPOSITORY := /tmp/artifacts/m2
 IMAGE_NAME := docker.io/apache/camel-k
+METADATA_IMAGE_NAME := $(IMAGE_NAME)-metadata
 RELEASE_GIT_REMOTE := upstream
 GIT_COMMIT := $(shell git rev-list -1 HEAD)
 LINT_GOGC := 10
@@ -170,7 +171,7 @@ build-kamel:
 
 build-resources: bundle-kamelets
 	./script/build_catalog.sh $(RUNTIME_VERSION) -Dcatalog.file=camel-catalog-$(RUNTIME_VERSION).yaml -Dcatalog.runtime=quarkus -Dstaging.repo="$(STAGING_RUNTIME_REPO)"
-	./script/embed_resources.sh deploy
+	go generate ./pkg/...
 
 bundle-kamelets:
 	./script/bundle_kamelets.sh $(KAMELET_CATALOG_REPO) $(KAMELET_CATALOG_REPO_BRANCH)
@@ -178,8 +179,7 @@ bundle-kamelets:
 build-submodules:
 	./script/build_submodules.sh
 
-build-olm:
-	./script/build_olm.sh $(VERSION)
+
 
 build-compile-integration-tests:
 	go test -c -tags="integration" ./e2e/common
@@ -199,6 +199,7 @@ clean:
 	rm -rf build/_output
 	rm -rf camel-k-client-*.tar.gz
 	rm -rf camel-k-examples-*.tar.gz
+	rm -rf bundle
 
 dep:
 	go mod tidy
@@ -336,6 +337,7 @@ $(BUNDLE_CAMEL_APIS):
 	operator-sdk generate kustomize manifests --apis-dir $(addprefix api_, $@) -q
 	@# Adds the licence header to the csv file.
 	./script/add_license.sh config/manifests ./script/headers/yaml.txt
+	./script/add_createdAt.sh config/manifests/bases
 	@# Clean up temporary working api directories
 	rm -rf api_*
 
@@ -350,9 +352,17 @@ else
 endif
 	@# Adds the licence headers to the csv file
 	./script/add_license.sh bundle/manifests ./script/headers/yaml.txt
-	@#operator-sdk bundle validate ./bundle
+	operator-sdk bundle validate ./bundle
+
+#
+# Build old csv metadata. This is being phased out (not yet deprecated)
+# use 'make bundle' for newer bundle format
+#
+build-olm: generate-crd $(BUNDLE_CAMEL_APIS)
+	./script/build_olm.sh
+	@# Adds the licence headers to the csv file
+	./script/add_license.sh deploy/olm-catalog/camel-k-dev ./script/headers/yaml.txt
 
-# Build the bundle image
-bundle-build:
-	cd bundle
-	docker build -f Dockerfile -t $(BUNDLE_IMG) .
+# Build the bundle image.
+bundle-build: bundle
+	cd bundle && docker build -f Dockerfile -t $(METADATA_IMAGE_NAME) .
diff --git a/script/embed_resources.sh b/script/add_createdAt.sh
similarity index 71%
rename from script/embed_resources.sh
rename to script/add_createdAt.sh
index 7c90590..89324a5 100755
--- a/script/embed_resources.sh
+++ b/script/add_createdAt.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -15,16 +15,26 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-if [ $# -ne 1 ]; then
-    echo "Error invoking embed_resources.sh: directory argument required"
-    exit 1
-fi
-
 location=$(dirname $0)
+rootdir=$location/../
+
+cd $rootdir
+
+#
+# Requires directory to find the files in
+#
 
-cd $location/..
-destdir=$1
+dir=$1
+
+if [ ! -d "$dir" ]; then
+  echo "Error: Cannot find directory."
+	exit 1
+fi
 
-echo "Building virtual file system for the \"$destdir\" directory..."
+created=$(date --utc +%FT%TZ)
 
-go run ./cmd/util/vfs-gen/ $destdir
+set +e
+for file in `find "$dir" -type f`; do
+  sed -i "s/createdAt: .*/createdAt: ${created}/" ${file}
+done
+set -e
diff --git a/script/add_license.sh b/script/add_license.sh
index 2401b2a..c1a95b2 100755
--- a/script/add_license.sh
+++ b/script/add_license.sh
@@ -28,6 +28,7 @@ go build ./cmd/util/license-check/
 
 dir=$1
 header=$2
+ignore=$3
 
 if [ ! -d "$dir" ]; then
   echo "Error: Cannot find directory."
@@ -42,6 +43,10 @@ fi
 set +e
 failed=0
 find "$dir" -type f -print0 | while IFS= read -r -d '' file; do
+  if [ -n "${ignore}" ] && [[ "${file}" == *"${ignore}"* ]]; then
+    continue
+  fi
+
   ./license-check "$file" "$header" &> /dev/null
 	if [ $? -ne 0 ]; then
 		cat "$header" <(echo) "$file" > "${file}.new"
@@ -51,7 +56,3 @@ find "$dir" -type f -print0 | while IFS= read -r -d '' file; do
 	fi
 done
 set -e
-
-#if [ $failed -ne 0 ]; then
-#  exit 1
-#fi
diff --git a/script/build_olm.sh b/script/build_olm.sh
index ffdae30..33caccd 100755
--- a/script/build_olm.sh
+++ b/script/build_olm.sh
@@ -15,19 +15,44 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+echo "=== This is the deprecated generation of csv metadata. Use 'make bundle' for the newer bundle format ==="
+
 location=$(dirname $0)
 olm_catalog=${location}/../deploy/olm-catalog
+config=${location}/../config
+
+cd $location/..
 
-if [ "$#" -ne 1 ]; then
-    echo "usage: $0 version"
-    exit 1
+version=$(make -s get-version | tr '[:upper:]' '[:lower:]')
+olm_dest=${olm_catalog}/camel-k-dev
+
+if [ -d ${olm_dest}/triage ]; then
+  rm -rf ${olm_dest}/triage
 fi
 
-version=$1
+#
+# Use the triage directory for building the csv to avoid
+# overwriting the CRDs and needlessly changing their format
+#
+mkdir -p ${olm_dest}/triage
 
-cd $location/..
+kustomize build config/manifests | operator-sdk generate packagemanifests \
+  --version ${version} \
+  --output-dir ${olm_dest}/triage \
+  --channel stable \
+  --default-channel
 
-operator-sdk generate csv --csv-version ${version} --csv-config deploy/olm-catalog/csv-config.yaml --update-crds
+if [ -f ${olm_dest}/triage/${version}/camel-k.clusterserviceversion.yaml ]; then
+  cp -f ${olm_dest}/triage/${version}/camel-k.clusterserviceversion.yaml ${olm_dest}/${version}/camel-k.v${version}.clusterserviceversion.yaml
+else
+  echo "ERROR: Failed to generate the CSV package manifest"
+  exit 1
+fi
 
-rm $olm_catalog/camel-k-dev/${version}/crd-*.yaml 2>/dev/null || true
-cp $location/../deploy/crd-*.yaml $olm_catalog/camel-k-dev/${version}/
+if [ ${olm_dest}/triage/camel-k.package.yaml ]; then
+  cp -f ${olm_dest}/triage/camel-k.package.yaml ${olm_dest}/camel-k-dev.package.yaml
+fi
+
+if [ -d ${olm_dest}/triage ]; then
+  rm -rf ${olm_dest}/triage
+fi
diff --git a/script/gen_crd.sh b/script/gen_crd.sh
index 63853d1..f212292 100755
--- a/script/gen_crd.sh
+++ b/script/gen_crd.sh
@@ -20,49 +20,52 @@ set -e
 location=$(dirname $0)
 apidir=$location/../pkg/apis/camel
 
-echo "Generating CRDs..."
-
 cd $apidir
-$CONTROLLER_GEN crd paths=./... output:crd:artifacts:config=false output:crd:dir=../../../deploy/crds crd:crdVersions=v1
+$CONTROLLER_GEN crd paths=./... output:crd:artifacts:config=../../../config/crd/bases output:crd:dir=../../../config/crd/bases crd:crdVersions=v1
 
-# cleanup
-rm -r ./config
+# cleanup working directory in $apidir
+rm -rf ./config
 
 # to root
 cd ../../../
 
 version=$(make -s get-version | tr '[:upper:]' '[:lower:]')
-echo "Version for OLM: $version"
 
 deploy_crd_file() {
   source=$1
 
+  # Make a copy to serve as the base for post-processing
+  cp $source "${source}.orig"
+
+  # Post-process source
+  cat ./script/headers/yaml.txt > $source
+  echo "" >> $source
+  if [[ "$OSTYPE" == "linux-gnu"* ]]; then
+    cat "${source}.orig" | sed -n '/^---/,/^status/p;/^status/q' \
+      | sed '1d;$d' \
+      | sed '/creationTimestamp:/a\  labels:\n    app: camel-k' >> $source
+  elif [[ "$OSTYPE" == "darwin"* ]]; then
+    # Mac OSX
+    cat "${source}.orig" | sed -n '/^---/,/^status/p;/^status/q' \
+      | sed '1d;$d' \
+      | sed $'s/^  creationTimestamp:/  creationTimestamp:\\\n  labels:\\\n    app: camel-k/' >> $source
+  fi
+
   for dest in ${@:2}; do
-    cat ./script/headers/yaml.txt > $dest
-    echo "" >> $dest
-    if [[ "$OSTYPE" == "linux-gnu"* ]]; then
-      cat $source | sed -n '/^---/,/^status/p;/^status/q' \
-        | sed '1d;$d' \
-        | sed 's/^metadata:/metadata:\n  labels:\n    app: "camel-k"/' >> $dest
-    elif [[ "$OSTYPE" == "darwin"* ]]; then
-      # Mac OSX
-      cat $source | sed -n '/^---/,/^status/p;/^status/q' \
-        | sed '1d;$d' \
-        | sed $'s/^metadata:/metadata:\\\n  labels:\\\n    app: "camel-k"/' >> $dest
-    fi
+    cp $source $dest
   done
 
+  # Remove the copy as no longer required
+  rm -f "${source}.orig"
 }
 
 deploy_crd() {
   name=$1
   plural=$2
 
-  deploy_crd_file ./deploy/crds/camel.apache.org_$plural.yaml \
-    ./deploy/crd-$name.yaml \
+  deploy_crd_file ./config/crd/bases/camel.apache.org_$plural.yaml \
     ./helm/camel-k/crds/crd-$name.yaml \
-    ./deploy/olm-catalog/camel-k-dev/$version/$plural.camel.apache.org.crd.yaml \
-    ./config/crd/bases/camel.apache.org_$plural.yaml
+    ./deploy/olm-catalog/camel-k-dev/$version/camel.apache.org_$plural.yaml
 }
 
 deploy_crd build builds
@@ -72,5 +75,3 @@ deploy_crd integration-kit integrationkits
 deploy_crd integration-platform integrationplatforms
 deploy_crd kamelet kamelets
 deploy_crd kamelet-binding kameletbindings
-
-rm -r ./deploy/crds