You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2020/10/21 07:40:02 UTC

[camel-k] branch api created (now 778ae8a)

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

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


      at 778ae8a  API: add license files

This branch includes the following new commits:

     new 1a2989f  API: remove unnecessary packages
     new f4d78be  API: remove unnecessary packages
     new 3a17864  API: remove unnecessary packages
     new b9b7479  API: using only relevant apis
     new 8dbc762  API: using only relevant apis
     new 615fda2  API: move scheme registration and remove controller-runtime
     new 778ae8a  API: add license files

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel-k] 07/07: API: add license files

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 778ae8a2bd63403fcfb27904fe53ce6ae5af8275
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Apr 30 18:48:44 2020 +0200

    API: add license files
---
 LICENSE | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 NOTICE  |  11 ++++
 2 files changed, 214 insertions(+)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..f4f1281
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
\ No newline at end of file


[camel-k] 05/07: API: using only relevant apis

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 8dbc7625ef2cb214dce0e3706a708ab6b38cce5d
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Apr 30 18:00:28 2020 +0200

    API: using only relevant apis
---
 go.sum | 353 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 353 insertions(+)

diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..1a30309
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,353 @@
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
+github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
+github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
+github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
+github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
+github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
+github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
+github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
+github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
+github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
+github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
+github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
+github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
+github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
+github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
+github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
+github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
+github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
+github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
+github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
+github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
+github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
+github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
+github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
+github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
+github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
+github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
+github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
+github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
+github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
+github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
+github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
+github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
+github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
+github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
+github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
+github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
+github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
+github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
+github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
+github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
+github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
+github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
+github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
+github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
+github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
+github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
+github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
+github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
+github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
+github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
+github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
+github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
+github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
+github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
+github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
+github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
+github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
+github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
+github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
+github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
+github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
+github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
+github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
+github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
+github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
+github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
+github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
+github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
+github.com/googleapis/gnostic v0.3.1 h1:WeAefnSUHlBb0iJKwxFDZdbfGwkd7xRNuV+IpXMJhYk=
+github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
+github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
+github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
+github.com/grpc-ecosystem/go-grpc-middleware v0.0.0-20190222133341-cfaf5686ec79/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
+github.com/grpc-ecosystem/grpc-gateway v1.3.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
+github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
+github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
+github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo=
+github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
+github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
+github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.4.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
+github.com/onsi/gomega v1.3.0/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
+github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
+github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
+github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
+github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
+github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
+github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
+github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
+github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
+github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
+github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
+go.uber.org/atomic v0.0.0-20181018215023-8dc6146f7569/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/multierr v0.0.0-20180122172545-ddea229ff1df/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/zap v0.0.0-20180814183419-67bc79d13d15/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU=
+golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
+golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180112015858-5ccada7d0a7b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc h1:gkKoSkUmnU6bpS/VhkuO27bzQeSA51uaEfbOW5dNb68=
+golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180117170059-2c42eef0765b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f h1:25KHgbfyiSm6vwQLbM3zZIe1v9p/3ea4Rz+nnM5K/i4=
+golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU=
+gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
+gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
+gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
+gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
+gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
+gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
+gopkg.in/yaml.v2 v2.0.0/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
+gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
+gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+k8s.io/api v0.0.0-20190918155943-95b840bb6a1f/go.mod h1:uWuOHnjmNrtQomJrvEBg0c0HRNyQ+8KTEERVsK0PW48=
+k8s.io/api v0.16.4 h1:O06Ed/hgLiCrzW1SHp6HAhqcTnYHtK80bP5rXoHakpM=
+k8s.io/api v0.16.4/go.mod h1:AtzMnsR45tccQss5q8RnF+W8L81DH6XwXwo/joEx9u0=
+k8s.io/apiextensions-apiserver v0.0.0-20190918161926-8f644eb6e783/go.mod h1:xvae1SZB3E17UpV59AWc271W/Ph25N+bjPyR63X6tPY=
+k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655/go.mod h1:nL6pwRT8NgfF8TT68DBI8uEePRt89cSvoXUVqbkWHq4=
+k8s.io/apimachinery v0.16.4 h1:+VNiyTcctUvBBRUxfulwL2I6TGratkR1oAoULuas/HI=
+k8s.io/apimachinery v0.16.4/go.mod h1:llRdnznGEAqC3DcNm6yEj472xaFVfLM7hnYofMb12tQ=
+k8s.io/apiserver v0.0.0-20190918160949-bfa5e2e684ad/go.mod h1:XPCXEwhjaFN29a8NldXA901ElnKeKLrLtREO9ZhFyhg=
+k8s.io/client-go v0.0.0-20190918160344-1fbdaa4c8d90/go.mod h1:J69/JveO6XESwVgG53q3Uz5OSfgsv4uxpScmmyYOOlk=
+k8s.io/client-go v0.16.4 h1:sf+FEZXYhJNjpTZapQDLvvN+0kBeUTxCYxlXcVdhv2E=
+k8s.io/client-go v0.16.4/go.mod h1:ZgxhFDxSnoKY0J0U2/Y1C8obKDdlhGPZwA7oHH863Ok=
+k8s.io/code-generator v0.0.0-20190912054826-cd179ad6a269/go.mod h1:V5BD6M4CyaN5m+VthcclXWsVcT1Hu+glwa1bi3MIsyE=
+k8s.io/component-base v0.0.0-20190918160511-547f6c5d7090/go.mod h1:933PBGtQFJky3TEwYx4aEPZ4IxqhWh3R6DCmzqIn1hA=
+k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
+k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
+k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
+k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
+k8s.io/klog v0.4.0 h1:lCJCxf/LIowc2IGS9TPjWDyXY4nOmdGdfcwwDQCOURQ=
+k8s.io/klog v0.4.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
+k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf h1:EYm5AW/UUDbnmnI+gK0TJDVK9qPLhM+sRHYanNKw0EQ=
+k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
+k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE=
+k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
+modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
+modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
+modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
+modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
+modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
+sigs.k8s.io/controller-runtime v0.4.0 h1:wATM6/m+3w8lj8FXNaO6Fs/rq/vqoOjO1Q116Z9NPsg=
+sigs.k8s.io/controller-runtime v0.4.0/go.mod h1:ApC79lpY3PHW9xj/w9pj+lYkLgwAAUZwfXkME1Lajns=
+sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
+sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
+sigs.k8s.io/testing_frameworks v0.1.2/go.mod h1:ToQrwSC3s8Xf/lADdZp3Mktcql9CG0UAmdJG9th5i0w=
+sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
+sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=


[camel-k] 03/07: API: remove unnecessary packages

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 3a178645747dc8a711d88cc451e857eaf9a3da88
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Apr 30 17:50:15 2020 +0200

    API: remove unnecessary packages
---
 pkg/client/client.go     | 256 -----------------------------------------------
 pkg/client/fastmapper.go |  93 -----------------
 2 files changed, 349 deletions(-)

diff --git a/pkg/client/client.go b/pkg/client/client.go
deleted file mode 100644
index 9de66ad..0000000
--- a/pkg/client/client.go
+++ /dev/null
@@ -1,256 +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 client
-
-import (
-	"io/ioutil"
-	"os"
-	"path/filepath"
-
-	user "github.com/mitchellh/go-homedir"
-	"github.com/operator-framework/operator-sdk/pkg/k8sutil"
-	"github.com/pkg/errors"
-	"github.com/sirupsen/logrus"
-
-	"k8s.io/apimachinery/pkg/api/meta"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-
-	"k8s.io/client-go/kubernetes"
-	clientscheme "k8s.io/client-go/kubernetes/scheme"
-	"k8s.io/client-go/rest"
-	"k8s.io/client-go/tools/clientcmd"
-	clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
-
-	clientcmdlatest "k8s.io/client-go/tools/clientcmd/api/latest"
-	controller "sigs.k8s.io/controller-runtime/pkg/client"
-	"sigs.k8s.io/controller-runtime/pkg/client/config"
-	"sigs.k8s.io/controller-runtime/pkg/manager"
-
-	"github.com/apache/camel-k/pkg/apis"
-)
-
-const inContainerNamespaceFile = "/var/run/secrets/kubernetes.io/serviceaccount/namespace"
-
-// Client is an abstraction for a k8s client
-type Client interface {
-	controller.Client
-	kubernetes.Interface
-	GetScheme() *runtime.Scheme
-	GetConfig() *rest.Config
-	GetCurrentNamespace(kubeConfig string) (string, error)
-}
-
-// Injectable identifies objects that can receive a Client
-type Injectable interface {
-	InjectClient(Client)
-}
-
-// Provider is used to provide a new instance of the Client each time it's required
-type Provider struct {
-	Get func() (Client, error)
-}
-
-type defaultClient struct {
-	controller.Client
-	kubernetes.Interface
-	scheme *runtime.Scheme
-	config *rest.Config
-}
-
-func (c *defaultClient) GetScheme() *runtime.Scheme {
-	return c.scheme
-}
-
-func (c *defaultClient) GetConfig() *rest.Config {
-	return c.config
-}
-
-func (c *defaultClient) GetCurrentNamespace(kubeConfig string) (string, error) {
-	return GetCurrentNamespace(kubeConfig)
-}
-
-// NewOutOfClusterClient creates a new k8s client that can be used from outside the cluster
-func NewOutOfClusterClient(kubeconfig string) (Client, error) {
-	initialize(kubeconfig)
-	// using fast discovery from outside the cluster
-	return NewClient(true)
-}
-
-// NewClient creates a new k8s client that can be used from outside or in the cluster
-func NewClient(fastDiscovery bool) (Client, error) {
-	// Get a config to talk to the apiserver
-	cfg, err := config.GetConfig()
-	if err != nil {
-		return nil, err
-	}
-
-	scheme := clientscheme.Scheme
-
-	// Setup Scheme for all resources
-	if err := apis.AddToScheme(scheme); err != nil {
-		return nil, err
-	}
-
-	var clientset kubernetes.Interface
-	if clientset, err = kubernetes.NewForConfig(cfg); err != nil {
-		return nil, err
-	}
-
-	var mapper meta.RESTMapper
-	if fastDiscovery {
-		mapper = newFastDiscoveryRESTMapper(cfg)
-	}
-
-	// Create a new client to avoid using cache (enabled by default on operator-sdk client)
-	clientOptions := controller.Options{
-		Scheme: scheme,
-		Mapper: mapper,
-	}
-	dynClient, err := controller.New(cfg, clientOptions)
-	if err != nil {
-		return nil, err
-	}
-
-	return &defaultClient{
-		Client:    dynClient,
-		Interface: clientset,
-		scheme:    clientOptions.Scheme,
-		config:    cfg,
-	}, nil
-}
-
-// FromManager creates a new k8s client from a manager object
-func FromManager(manager manager.Manager) (Client, error) {
-	var err error
-	var clientset kubernetes.Interface
-	if clientset, err = kubernetes.NewForConfig(manager.GetConfig()); err != nil {
-		return nil, err
-	}
-	return &defaultClient{
-		Client:    manager.GetClient(),
-		Interface: clientset,
-		scheme:    manager.GetScheme(),
-		config:    manager.GetConfig(),
-	}, nil
-}
-
-// init initialize the k8s client for usage outside the cluster
-func initialize(kubeconfig string) {
-	if kubeconfig == "" {
-		// skip out-of-cluster initialization if inside the container
-		if kc, err := shouldUseContainerMode(); kc && err == nil {
-			return
-		} else if err != nil {
-			logrus.Errorf("could not determine if running in a container: %v", err)
-		}
-		var err error
-		kubeconfig, err = getDefaultKubeConfigFile()
-		if err != nil {
-			panic(err)
-		}
-	}
-	os.Setenv(k8sutil.KubeConfigEnvVar, kubeconfig)
-}
-
-func getDefaultKubeConfigFile() (string, error) {
-	dir, err := user.Dir()
-	if err != nil {
-		return "", err
-	}
-	return filepath.Join(dir, ".kube", "config"), nil
-}
-
-// GetCurrentNamespace --
-func GetCurrentNamespace(kubeconfig string) (string, error) {
-	if kubeconfig == "" {
-		kubeContainer, err := shouldUseContainerMode()
-		if err != nil {
-			return "", err
-		}
-		if kubeContainer {
-			return getNamespaceFromKubernetesContainer()
-		}
-	}
-	if kubeconfig == "" {
-		var err error
-		kubeconfig, err = getDefaultKubeConfigFile()
-		if err != nil {
-			logrus.Errorf("Cannot get information about current user: %v", err)
-		}
-	}
-	if kubeconfig == "" {
-		return "default", nil
-	}
-
-	data, err := ioutil.ReadFile(kubeconfig)
-	if err != nil {
-		return "", err
-	}
-	conf := clientcmdapi.NewConfig()
-	if len(data) == 0 {
-		return "", errors.New("kubernetes config file is empty")
-	}
-
-	decoded, _, err := clientcmdlatest.Codec.Decode(data, &schema.GroupVersionKind{Version: clientcmdlatest.Version, Kind: "Config"}, conf)
-	if err != nil {
-		return "", err
-	}
-
-	clientcmdconfig := decoded.(*clientcmdapi.Config)
-
-	cc := clientcmd.NewDefaultClientConfig(*clientcmdconfig, &clientcmd.ConfigOverrides{})
-	ns, _, err := cc.Namespace()
-	return ns, err
-}
-
-func shouldUseContainerMode() (bool, error) {
-	// When kube config is set, container mode is not used
-	if os.Getenv(k8sutil.KubeConfigEnvVar) != "" {
-		return false, nil
-	}
-	// Use container mode only when the kubeConfigFile does not exist and the container namespace file is present
-	configFile, err := getDefaultKubeConfigFile()
-	if err != nil {
-		return false, err
-	}
-	configFilePresent := true
-	_, err = os.Stat(configFile)
-	if err != nil && os.IsNotExist(err) {
-		configFilePresent = false
-	} else if err != nil {
-		return false, err
-	}
-	if !configFilePresent {
-		_, err := os.Stat(inContainerNamespaceFile)
-		if os.IsNotExist(err) {
-			return false, nil
-		}
-		return true, err
-	}
-	return false, nil
-}
-
-func getNamespaceFromKubernetesContainer() (string, error) {
-	var nsba []byte
-	var err error
-	if nsba, err = ioutil.ReadFile(inContainerNamespaceFile); err != nil {
-		return "", err
-	}
-	return string(nsba), nil
-}
diff --git a/pkg/client/fastmapper.go b/pkg/client/fastmapper.go
deleted file mode 100644
index 82b33b8..0000000
--- a/pkg/client/fastmapper.go
+++ /dev/null
@@ -1,93 +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 client
-
-import (
-	"github.com/sirupsen/logrus"
-	"k8s.io/apimachinery/pkg/api/meta"
-	"k8s.io/apimachinery/pkg/util/wait"
-	"k8s.io/client-go/discovery"
-	"k8s.io/client-go/rest"
-	"k8s.io/client-go/restmapper"
-
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-// FastMapperAllowedAPIGroups contains a set of API groups that are allowed when using the fastmapper.
-// Those must correspond to all groups used by the "kamel" binary tool when running out-of-cluster.
-var FastMapperAllowedAPIGroups = map[string]bool{
-	"":                          true, // core APIs
-	"apiextensions.k8s.io":      true,
-	"apps":                      true,
-	"batch":                     true,
-	"camel.apache.org":          true,
-	"rbac.authorization.k8s.io": true,
-	"console.openshift.io":      true, // OpenShift console resources
-	"operators.coreos.com":      true, // Operator SDK OLM
-}
-
-// newFastDiscoveryRESTMapper comes from https://github.com/kubernetes-sigs/controller-runtime/pull/592.
-// We may leverage the controller-runtime bits in the future, if that gets merged upstream.
-func newFastDiscoveryRESTMapper(config *rest.Config) meta.RESTMapper {
-	return meta.NewLazyRESTMapperLoader(func() (meta.RESTMapper, error) {
-		return newFastDiscoveryRESTMapperWithFilter(config, func(g *metav1.APIGroup) bool {
-			return FastMapperAllowedAPIGroups[g.Name]
-		})
-	})
-}
-
-func newFastDiscoveryRESTMapperWithFilter(config *rest.Config, filter func(*metav1.APIGroup) bool) (meta.RESTMapper, error) {
-	dc := discovery.NewDiscoveryClientForConfigOrDie(config)
-	groups, err := dc.ServerGroups()
-	if err != nil {
-		return nil, err
-	}
-	wg := wait.Group{}
-	totalCount := 0
-	pickedCount := 0
-	grs := make([]*restmapper.APIGroupResources, 0)
-	for _, group := range groups.Groups {
-		pinnedGroup := group
-		pick := filter(&pinnedGroup)
-		logrus.Debugf("Group: %s %v", group.Name, pick)
-		totalCount++
-		if !pick {
-			continue
-		}
-		pickedCount++
-		gr := &restmapper.APIGroupResources{
-			Group:              group,
-			VersionedResources: make(map[string][]metav1.APIResource),
-		}
-		grs = append(grs, gr)
-		wg.Start(func() { discoverGroupResources(dc, gr) })
-	}
-	wg.Wait()
-	logrus.Debugf("Picked %d/%d", pickedCount, totalCount)
-	return restmapper.NewDiscoveryRESTMapper(grs), nil
-}
-
-func discoverGroupResources(dc discovery.DiscoveryInterface, gr *restmapper.APIGroupResources) {
-	for _, version := range gr.Group.Versions {
-		resources, err := dc.ServerResourcesForGroupVersion(version.GroupVersion)
-		if err != nil {
-			logrus.Fatal(err, version.GroupVersion)
-		}
-		gr.VersionedResources[version.Version] = resources.APIResources
-	}
-}


[camel-k] 01/07: API: remove unnecessary packages

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1a2989fffa1bc1525b30e6dc50f361bb934bc596
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Apr 30 17:45:29 2020 +0200

    API: remove unnecessary packages
---
 .dockerignore                                      |    1 -
 .github/pull_request_template.md                   |   18 -
 .github/workflows/build.yml                        |   54 -
 .github/workflows/builder.yml                      |  132 -
 .github/workflows/knative.yml                      |  320 --
 .github/workflows/kubernetes.yml                   |  129 -
 .github/workflows/openshift.yml                    |  154 -
 .github/workflows/release.yml                      |  137 -
 .github/workflows/validate.yml                     |   45 -
 .gitignore                                         |  146 -
 .golangci.yml                                      |   69 -
 .mvn/wrapper/MavenWrapperDownloader.java           |  110 -
 .mvn/wrapper/maven-wrapper.jar                     |  Bin 48337 -> 0 bytes
 .mvn/wrapper/maven-wrapper.properties              |    1 -
 .pre-commit-config.yaml                            |   23 -
 .travis.yml                                        |   51 -
 KEYS                                               | 1773 ---------
 LICENSE                                            |  203 -
 Makefile                                           |    1 -
 NOTICE                                             |   11 -
 README.adoc                                        |  397 +-
 addons/master/master.go                            |  214 --
 addons/master/zz_desc_generated.go                 |    1 -
 addons/master/zz_generated_doc.go                  |    1 -
 addons/register_3scale.go                          |   27 -
 addons/register_master.go                          |   27 -
 addons/threescale/3scale.go                        |  138 -
 addons/threescale/3scale_test.go                   |  114 -
 addons/threescale/zz_desc_generated.go             |    1 -
 addons/threescale/zz_generated_doc.go              |    1 -
 addons/zz_desc_generated.go                        |    1 -
 addons/zz_generated_doc.go                         |    1 -
 build/Dockerfile                                   |   38 -
 build/maven/pom-catalog.xml                        |  129 -
 build/maven/pom-runtime.xml                        |  378 --
 cmd/kamel/main.go                                  |   54 -
 cmd/manager/main.go                                |    1 -
 cmd/util/doc-gen/generators/generators.go          |   69 -
 cmd/util/doc-gen/generators/traitdocgen.go         |  359 --
 cmd/util/doc-gen/generators/traitmetadatagen.go    |  172 -
 cmd/util/doc-gen/main.go                           |   48 -
 cmd/util/license-check/main.go                     |   56 -
 cmd/util/vfs-gen/main.go                           |  158 -
 deploy/addons/master/master-role-binding.tmpl      |   16 -
 deploy/addons/master/master-role.tmpl              |   27 -
 deploy/builder-role-binding.yaml                   |   30 -
 deploy/builder-role-kubernetes.yaml                |   60 -
 deploy/builder-role-openshift.yaml                 |  104 -
 deploy/builder-service-account.yaml                |   23 -
 deploy/camel-catalog-1.3.0-SNAPSHOT-main.yaml      | 3135 ---------------
 deploy/camel-catalog-1.3.0-SNAPSHOT-quarkus.yaml   | 1524 --------
 deploy/cr-example.yaml                             |   37 -
 deploy/crd-build.yaml                              |   65 -
 deploy/crd-camel-catalog.yaml                      |   53 -
 deploy/crd-integration-kit.yaml                    |   56 -
 deploy/crd-integration-platform.yaml               |   48 -
 deploy/crd-integration.yaml                        |   59 -
 deploy/olm-catalog/.vfsignore                      |    1 -
 .../camel-k.v0.3.3.clusterserviceversion.yaml      |  290 --
 .../camel-k.v0.3.4.clusterserviceversion.yaml      |  397 --
 deploy/olm-catalog/camel-k/0.3.4/crd-build.yaml    |   54 -
 .../camel-k/0.3.4/crd-camel-catalog.yaml           |   42 -
 .../camel-k/0.3.4/crd-integration-context.yaml     |   49 -
 .../camel-k/0.3.4/crd-integration-platform.yaml    |   41 -
 .../olm-catalog/camel-k/0.3.4/crd-integration.yaml |   45 -
 .../camel-k.v1.0.0-M1.clusterserviceversion.yaml   |  399 --
 deploy/olm-catalog/camel-k/1.0.0-m1/crd-build.yaml |   54 -
 .../camel-k/1.0.0-m1/crd-camel-catalog.yaml        |   42 -
 .../camel-k/1.0.0-m1/crd-integration-kit.yaml      |   49 -
 .../camel-k/1.0.0-m1/crd-integration-platform.yaml |   41 -
 .../camel-k/1.0.0-m1/crd-integration.yaml          |   45 -
 .../camel-k.v1.0.0-M2.clusterserviceversion.yaml   |  402 --
 deploy/olm-catalog/camel-k/1.0.0-m2/crd-build.yaml |   54 -
 .../camel-k/1.0.0-m2/crd-camel-catalog.yaml        |   42 -
 .../camel-k/1.0.0-m2/crd-integration-kit.yaml      |   49 -
 .../camel-k/1.0.0-m2/crd-integration-platform.yaml |   41 -
 .../camel-k/1.0.0-m2/crd-integration.yaml          |   52 -
 .../camel-k.v1.0.0-m3.clusterserviceversion.yaml   |  402 --
 deploy/olm-catalog/camel-k/1.0.0-m3/crd-build.yaml |   54 -
 .../camel-k/1.0.0-m3/crd-camel-catalog.yaml        |   42 -
 .../camel-k/1.0.0-m3/crd-integration-kit.yaml      |   49 -
 .../camel-k/1.0.0-m3/crd-integration-platform.yaml |   41 -
 .../camel-k/1.0.0-m3/crd-integration.yaml          |   45 -
 .../camel-k.v1.0.0-m4.clusterserviceversion.yaml   |  402 --
 deploy/olm-catalog/camel-k/1.0.0-m4/crd-build.yaml |   54 -
 .../camel-k/1.0.0-m4/crd-camel-catalog.yaml        |   42 -
 .../camel-k/1.0.0-m4/crd-integration-kit.yaml      |   49 -
 .../camel-k/1.0.0-m4/crd-integration-platform.yaml |   41 -
 .../camel-k/1.0.0-m4/crd-integration.yaml          |   45 -
 .../camel-k.v1.0.0-rc1.clusterserviceversion.yaml  |  406 --
 .../olm-catalog/camel-k/1.0.0-rc1/crd-build.yaml   |   65 -
 .../camel-k/1.0.0-rc1/crd-camel-catalog.yaml       |   53 -
 .../camel-k/1.0.0-rc1/crd-integration-kit.yaml     |   56 -
 .../1.0.0-rc1/crd-integration-platform.yaml        |   48 -
 .../camel-k/1.0.0-rc1/crd-integration.yaml         |   59 -
 .../camel-k.v1.0.0-rc2.clusterserviceversion.yaml  |  420 ---
 .../olm-catalog/camel-k/1.0.0-rc2/crd-build.yaml   |   65 -
 .../camel-k/1.0.0-rc2/crd-camel-catalog.yaml       |   53 -
 .../camel-k/1.0.0-rc2/crd-integration-kit.yaml     |   56 -
 .../1.0.0-rc2/crd-integration-platform.yaml        |   48 -
 .../camel-k/1.0.0-rc2/crd-integration.yaml         |   59 -
 .../builds.camel.apache.org.crd.yaml               |   65 -
 ...el-k.v1.0.0-snapshot.clusterserviceversion.yaml |  456 ---
 .../camelcatalogs.camel.apache.org.crd.yaml        |   53 -
 .../integrationkits.camel.apache.org.crd.yaml      |   56 -
 .../integrationplatforms.camel.apache.org.crd.yaml |   48 -
 .../integrations.camel.apache.org.crd.yaml         |   59 -
 deploy/olm-catalog/camel-k/camel-k.package.yaml    |   22 -
 deploy/olm-catalog/csv-config.yaml                 |   27 -
 deploy/operator-deployment.yaml                    |   62 -
 deploy/operator-role-binding-events.yaml           |   30 -
 deploy/operator-role-binding-knative.yaml          |   30 -
 deploy/operator-role-binding.yaml                  |   30 -
 deploy/operator-role-events.yaml                   |   34 -
 deploy/operator-role-knative.yaml                  |   51 -
 deploy/operator-role-kubernetes.yaml               |  121 -
 deploy/operator-role-olm-cluster.yaml              |   43 -
 deploy/operator-role-olm.yaml                      |  236 --
 deploy/operator-role-openshift.yaml                |  173 -
 deploy/operator-service-account.yaml               |   23 -
 deploy/platform-cr.yaml                            |   23 -
 deploy/platform-integration-kit-groovy.yaml        |   30 -
 deploy/platform-integration-kit-java.yaml          |   30 -
 deploy/platform-integration-kit-js.yaml            |   30 -
 deploy/platform-integration-kit-knative.yaml       |   30 -
 deploy/platform-integration-kit-kotlin.yaml        |   30 -
 deploy/platform-integration-kit-main.yaml          |   29 -
 deploy/platform-integration-kit-xml.yaml           |   30 -
 deploy/platform-integration-kit-yaml.yaml          |   30 -
 deploy/prometheus-jmx-exporter.yaml                |  603 ---
 deploy/resources.go                                |  558 ---
 deploy/resources_support.go                        |  103 -
 deploy/resources_test.go                           |   56 -
 deploy/templates/groovy.tmpl                       |   24 -
 deploy/templates/java.tmpl                         |   33 -
 deploy/templates/js.tmpl                           |   22 -
 deploy/templates/kts.tmpl                          |   24 -
 deploy/templates/xml.tmpl                          |   33 -
 deploy/templates/yaml.tmpl                         |   27 -
 deploy/traits.yaml                                 |  776 ----
 deploy/user-cluster-role.yaml                      |   30 -
 docs/.gitignore                                    |    2 -
 docs/README.adoc                                   |   32 -
 docs/antora-playbook-dev.yml                       |   15 -
 docs/antora-playbook.yml                           |   15 -
 docs/antora.yml                                    |    7 -
 docs/charts/camel-k-0.1.0.tgz                      |  Bin 5060 -> 0 bytes
 docs/charts/camel-k-0.1.1.tgz                      |  Bin 5148 -> 0 bytes
 docs/charts/index.yaml                             |   54 -
 docs/index.html                                    |   12 -
 .../tekton/camel-k-pipeline-permissions.yaml       |  178 -
 .../tekton/camel-k-pipeline-task-definition.yaml   |   90 -
 .../tekton/camel-k-pipeline-task-run.yaml          |   30 -
 .../images/tekton/tekton-pipeline-definition.png   |  Bin 23836 -> 0 bytes
 .../images/tekton/tekton-pipeline-result.png       |  Bin 31685 -> 0 bytes
 .../assets/images/tekton/tekton-pipeline-run.png   |  Bin 21832 -> 0 bytes
 docs/modules/ROOT/nav-end.adoc                     |    4 -
 docs/modules/ROOT/nav.adoc                         |   45 -
 .../ROOT/pages/configuration/components.adoc       |   20 -
 .../ROOT/pages/configuration/configmap-secret.adoc |   79 -
 .../ROOT/pages/configuration/configuration.adoc    |   23 -
 .../ROOT/pages/configuration/dependencies.adoc     |   24 -
 docs/modules/ROOT/pages/configuration/logging.adoc |   15 -
 docs/modules/ROOT/pages/developers.adoc            |  195 -
 docs/modules/ROOT/pages/index.adoc                 |   26 -
 docs/modules/ROOT/pages/installation/gke.adoc      |   34 -
 .../ROOT/pages/installation/installation.adoc      |   47 -
 docs/modules/ROOT/pages/installation/minikube.adoc |   19 -
 .../modules/ROOT/pages/installation/minishift.adoc |   21 -
 .../modules/ROOT/pages/installation/openshift.adoc |   19 -
 .../pages/installation/registry/dockerhub.adoc     |   44 -
 .../ROOT/pages/installation/registry/gcr.adoc      |   37 -
 .../ROOT/pages/installation/registry/github.adoc   |   29 -
 .../ROOT/pages/installation/registry/registry.adoc |   42 -
 docs/modules/ROOT/pages/running/dev-mode.adoc      |   53 -
 docs/modules/ROOT/pages/running/running.adoc       |   42 -
 docs/modules/ROOT/pages/traits/3scale.adoc         |   52 -
 docs/modules/ROOT/pages/traits/affinity.adoc       |   74 -
 docs/modules/ROOT/pages/traits/builder.adoc        |   36 -
 docs/modules/ROOT/pages/traits/camel.adoc          |   35 -
 docs/modules/ROOT/pages/traits/container.adoc      |  130 -
 docs/modules/ROOT/pages/traits/cron.adoc           |   89 -
 docs/modules/ROOT/pages/traits/debug.adoc          |   30 -
 docs/modules/ROOT/pages/traits/dependencies.adoc   |   32 -
 docs/modules/ROOT/pages/traits/deployer.adoc       |   36 -
 docs/modules/ROOT/pages/traits/deployment.adoc     |   32 -
 docs/modules/ROOT/pages/traits/environment.adoc    |   36 -
 docs/modules/ROOT/pages/traits/gc.adoc             |   33 -
 docs/modules/ROOT/pages/traits/ingress.adoc        |   40 -
 docs/modules/ROOT/pages/traits/istio.adoc          |   38 -
 docs/modules/ROOT/pages/traits/jolokia.adoc        |   84 -
 docs/modules/ROOT/pages/traits/jvm.adoc            |   47 -
 .../modules/ROOT/pages/traits/knative-service.adoc |   72 -
 docs/modules/ROOT/pages/traits/knative.adoc        |   82 -
 docs/modules/ROOT/pages/traits/master.adoc         |   57 -
 docs/modules/ROOT/pages/traits/openapi.adoc        |   31 -
 docs/modules/ROOT/pages/traits/owner.adoc          |   40 -
 docs/modules/ROOT/pages/traits/platform.adoc       |   43 -
 docs/modules/ROOT/pages/traits/prometheus.adoc     |   53 -
 docs/modules/ROOT/pages/traits/pull-secret.adoc    |   46 -
 docs/modules/ROOT/pages/traits/quarkus.adoc        |   35 -
 docs/modules/ROOT/pages/traits/route.adoc          |   73 -
 docs/modules/ROOT/pages/traits/service.adoc        |   36 -
 docs/modules/ROOT/pages/traits/traits.adoc         |   63 -
 .../ROOT/pages/tutorials/tekton/tekton.adoc        |  236 --
 docs/modules/ROOT/pages/tutorials/tutorials.adoc   |    6 -
 docs/modules/ROOT/pages/uninstalling.adoc          |    9 -
 docs/package.json                                  |   18 -
 docs/yarn.lock                                     | 3975 --------------------
 e2e/builder/build_test.go                          |   72 -
 e2e/builder/doc.go                                 |   23 -
 e2e/builder/docker_hub_test.go                     |   58 -
 e2e/builder/files/Java.java                        |   28 -
 e2e/builder/files/groovy.groovy                    |   23 -
 e2e/builder/github_packages_test.go                |   59 -
 e2e/builder/global_test.go                         |   61 -
 e2e/common/addons_test.go                          |   72 -
 e2e/common/backward_compat_test.go                 |  121 -
 e2e/common/client_test.go                          |   61 -
 e2e/common/cron_test.go                            |   72 -
 e2e/common/dev_mode_test.go                        |   82 -
 e2e/common/doc.go                                  |   23 -
 e2e/common/files/Java.java                         |   28 -
 e2e/common/files/Master.java                       |   28 -
 e2e/common/files/Prop.java                         |   27 -
 e2e/common/files/RestConsumer.java                 |   29 -
 e2e/common/files/RestProducer.groovy               |   19 -
 e2e/common/files/cron-fallback.groovy              |   24 -
 e2e/common/files/cron-timer.groovy                 |   23 -
 e2e/common/files/cron.groovy                       |   23 -
 e2e/common/files/groovy.groovy                     |   23 -
 e2e/common/files/js-polyglot.js                    |   21 -
 e2e/common/files/js.js                             |   21 -
 e2e/common/files/kotlin.kts                        |   23 -
 e2e/common/files/prop.properties                   |    3 -
 e2e/common/files/xml.xml                           |   33 -
 e2e/common/files/yaml-polyglot.yaml                |   28 -
 e2e/common/files/yaml.yaml                         |   28 -
 e2e/common/init_test.go                            |   63 -
 e2e/common/install_test.go                         |   60 -
 e2e/common/offline_commands_test.go                |   49 -
 e2e/common/platformless_run_test.go                |   60 -
 e2e/common/rest_test.go                            |   95 -
 e2e/common/run_test.go                             |  117 -
 e2e/common/tekton_test.go                          |   44 -
 e2e/common/uninstall_test.go                       |  102 -
 e2e/common/upgrade_test.go                         |   95 -
 e2e/knative/doc.go                                 |   23 -
 e2e/knative/files/knative1.groovy                  |   27 -
 e2e/knative/files/knative2.groovy                  |   19 -
 e2e/knative/files/knative3.groovy                  |   19 -
 e2e/knative/files/knativech1.groovy                |   20 -
 e2e/knative/files/knativech2.groovy                |   19 -
 e2e/knative/files/knativeevt1.groovy               |   24 -
 e2e/knative/files/knativeevt2.groovy               |   22 -
 e2e/knative/files/knativegetpost1.groovy           |   21 -
 e2e/knative/files/knativegetpost2.groovy           |   19 -
 e2e/knative/files/knativemultihop1.groovy          |   24 -
 e2e/knative/files/knativemultihop2.groovy          |   21 -
 e2e/knative/files/knativemultihop3.groovy          |   24 -
 e2e/knative/files/petstore-api.yaml                |  111 -
 e2e/knative/files/petstore.groovy                  |   29 -
 e2e/knative/files/yaml.yaml                        |   28 -
 e2e/knative/knative_platform_test.go               |   78 -
 e2e/knative/knative_test.go                        |  132 -
 e2e/knative/openapi_test.go                        |   83 -
 e2e/support/test_staging_hooks.go                  |   55 -
 e2e/support/test_support.go                        | 1094 ------
 e2e/support/util/dump.go                           |  152 -
 e2e/support/util/log_scanner.go                    |   73 -
 e2e/support/util/temp_file.go                      |   72 -
 e2e/yaks/knative/receiver.groovy                   |   19 -
 e2e/yaks/knative/source.yaml                       |   39 -
 e2e/yaks/knative/sources.feature                   |    5 -
 e2e/yaks/knative/yaks-config.yaml                  |   12 -
 e2e/yaks/yaks-config.yaml                          |    2 -
 examples/AMQPBindToRegistry.java                   |   41 -
 examples/CaffeineCacheSample.java                  |   44 -
 examples/Master.java                               |   37 -
 examples/README.md                                 |    3 -
 examples/RestDSL.java                              |   36 -
 examples/Sample.java                               |   26 -
 examples/amqp.groovy                               |   39 -
 examples/amqp.js                                   |   31 -
 examples/camel-caffeine.groovy                     |   59 -
 examples/cron.groovy                               |   22 -
 examples/dns.js                                    |   32 -
 examples/greetings-api.json                        |   46 -
 examples/greetings.groovy                          |   26 -
 examples/hello.xml                                 |   30 -
 examples/kafka/README.adoc                         |   25 -
 examples/kafka/SampleKafkaConsumer.java            |   32 -
 examples/kafka/application.properties              |   24 -
 examples/knative/README.adoc                       |  136 -
 examples/knative/feed.groovy                       |   22 -
 examples/knative/messages-channel.yaml             |   21 -
 examples/knative/printer.groovy                    |   21 -
 examples/knative/reader.groovy                     |   20 -
 examples/knative/splitter.groovy                   |   22 -
 examples/knative/words-channel.yaml                |   21 -
 examples/knative/writer.groovy                     |   21 -
 examples/kotlin-routes.kts                         |   34 -
 examples/petstore-api.yaml                         |  111 -
 examples/petstore.groovy                           |   29 -
 examples/polyglot/JavaRoute.java                   |   31 -
 examples/polyglot/README.adoc                      |    8 -
 examples/polyglot/beans.groovy                     |   23 -
 examples/polyglot/routes.xml                       |   29 -
 examples/props.js                                  |   25 -
 examples/pulsar.groovy                             |   62 -
 examples/resources-data.txt                        |    1 -
 examples/resources-route.groovy                    |   29 -
 examples/routes-rest.js                            |   31 -
 examples/routes.groovy                             |   55 -
 examples/routes.js                                 |   37 -
 examples/routes.yaml                               |   27 -
 examples/saga/Flight.java                          |   46 -
 examples/saga/Payment.java                         |   49 -
 examples/saga/Readme.md                            |   48 -
 examples/saga/Saga.java                            |   42 -
 examples/saga/Train.java                           |   46 -
 examples/saga/lra-coordinator.yaml                 |   98 -
 examples/simple.groovy                             |   23 -
 examples/simple.js                                 |   21 -
 examples/tekton/README.md                          |    5 -
 examples/tekton/hello.groovy                       |   19 -
 helm/camel-k/.helmignore                           |   23 -
 helm/camel-k/Chart.yaml                            |   56 -
 helm/camel-k/README.md                             |   89 -
 helm/camel-k/crds/crd-build.yaml                   |   65 -
 helm/camel-k/crds/crd-camel-catalog.yaml           |   53 -
 helm/camel-k/crds/crd-integration-kit.yaml         |   56 -
 helm/camel-k/crds/crd-integration-platform.yaml    |   48 -
 helm/camel-k/crds/crd-integration.yaml             |   59 -
 helm/camel-k/templates/NOTES.txt                   |    8 -
 helm/camel-k/templates/_helpers.tpl                |   64 -
 helm/camel-k/templates/cluster-role.yaml           |   34 -
 helm/camel-k/templates/operator-role-binding.yaml  |   31 -
 helm/camel-k/templates/operator-role.yaml          |  237 --
 .../templates/operator-service-account.yaml        |   24 -
 helm/camel-k/templates/operator.yaml               |   65 -
 helm/camel-k/templates/platform.yaml               |   26 -
 helm/camel-k/values.yaml                           |   30 -
 mvnw                                               |  286 --
 mvnw.cmd                                           |  161 -
 pkg/builder/builder.go                             |  182 -
 pkg/builder/builder_steps.go                       |  427 ---
 pkg/builder/builder_steps_test.go                  |  208 -
 pkg/builder/builder_test.go                        |   66 -
 pkg/builder/builder_types.go                       |  124 -
 pkg/builder/builder_utils.go                       |   41 -
 pkg/builder/kaniko/kaniko.go                       |   21 -
 pkg/builder/runtime/main.go                        |  143 -
 pkg/builder/runtime/main_test.go                   |  229 --
 pkg/builder/runtime/quarkus.go                     |  221 --
 pkg/builder/runtime/runtime.go                     |   73 -
 pkg/builder/s2i/publisher.go                       |  194 -
 pkg/builder/s2i/s2i.go                             |   43 -
 pkg/builder/spectrum/publisher.go                  |   84 -
 pkg/builder/spectrum/spectrum.go                   |   43 -
 pkg/cmd/builder.go                                 |   52 -
 pkg/cmd/builder/builder.go                         |  115 -
 pkg/cmd/builder_test.go                            |   37 -
 pkg/cmd/completion.go                              |   39 -
 pkg/cmd/completion_bash.go                         |  268 --
 pkg/cmd/completion_zsh.go                          |   64 -
 pkg/cmd/delete.go                                  |  122 -
 pkg/cmd/delete_test.go                             |   37 -
 pkg/cmd/describe.go                                |   79 -
 pkg/cmd/describe_integration.go                    |  183 -
 pkg/cmd/describe_kit.go                            |  131 -
 pkg/cmd/describe_platform.go                       |  128 -
 pkg/cmd/get.go                                     |   89 -
 pkg/cmd/init.go                                    |  114 -
 pkg/cmd/install.go                                 |  602 ---
 pkg/cmd/install_test.go                            |   86 -
 pkg/cmd/kit.go                                     |   36 -
 pkg/cmd/kit_create.go                              |  227 --
 pkg/cmd/kit_create_test.go                         |   39 -
 pkg/cmd/kit_delete.go                              |  153 -
 pkg/cmd/kit_get.go                                 |   96 -
 pkg/cmd/kit_test.go                                |   31 -
 pkg/cmd/log.go                                     |   94 -
 pkg/cmd/log_test.go                                |   39 -
 pkg/cmd/operator.go                                |   37 -
 pkg/cmd/operator/operator.go                       |  167 -
 pkg/cmd/rebuild.go                                 |  109 -
 pkg/cmd/reset.go                                   |  130 -
 pkg/cmd/root.go                                    |  189 -
 pkg/cmd/root_test.go                               |  170 -
 pkg/cmd/run.go                                     |  722 ----
 pkg/cmd/run_test.go                                |  146 -
 pkg/cmd/trait_help.go                              |  259 --
 pkg/cmd/trait_help_test.go                         |   39 -
 pkg/cmd/uninstall.go                               |  371 --
 pkg/cmd/uninstall_test.go                          |   66 -
 pkg/cmd/util.go                                    |  239 --
 pkg/cmd/util_config.go                             |  195 -
 pkg/cmd/version.go                                 |   47 -
 pkg/controller/add_build.go                        |   26 -
 pkg/controller/add_integration.go                  |   26 -
 pkg/controller/add_integrationkit.go               |   26 -
 pkg/controller/add_integrationplatform.go          |   26 -
 pkg/controller/build/action.go                     |   54 -
 pkg/controller/build/build_controller.go           |  253 --
 pkg/controller/build/error.go                      |   48 -
 pkg/controller/build/initialize_pod.go             |  105 -
 pkg/controller/build/initialize_routine.go         |   50 -
 pkg/controller/build/log.go                        |   23 -
 pkg/controller/build/monitor_pod.go                |   99 -
 pkg/controller/build/monitor_routine.go            |   61 -
 pkg/controller/build/recovery.go                   |   97 -
 pkg/controller/build/schedule_pod.go               |  204 -
 pkg/controller/build/schedule_routine.go           |  161 -
 pkg/controller/controller.go                       |   34 -
 pkg/controller/integration/action.go               |   54 -
 pkg/controller/integration/build_kit.go            |  151 -
 pkg/controller/integration/deploy.go               |   64 -
 pkg/controller/integration/error.go                |   61 -
 pkg/controller/integration/initialize.go           |   60 -
 .../integration/integration_controller.go          |  303 --
 pkg/controller/integration/log.go                  |   23 -
 pkg/controller/integration/monitor.go              |  105 -
 pkg/controller/integration/platform_setup.go       |   85 -
 pkg/controller/integration/util.go                 |  142 -
 pkg/controller/integration/util_test.go            |  291 --
 pkg/controller/integrationkit/action.go            |   54 -
 pkg/controller/integrationkit/build.go             |  193 -
 pkg/controller/integrationkit/error.go             |   59 -
 pkg/controller/integrationkit/initialize.go        |   65 -
 .../integrationkit/integrationkit_controller.go    |  270 --
 pkg/controller/integrationkit/log.go               |   23 -
 pkg/controller/integrationkit/monitor.go           |   59 -
 pkg/controller/integrationplatform/action.go       |   54 -
 pkg/controller/integrationplatform/create.go       |   86 -
 pkg/controller/integrationplatform/create_test.go  |   78 -
 pkg/controller/integrationplatform/initialize.go   |  151 -
 .../integrationplatform/initialize_test.go         |  160 -
 .../integrationplatform_controller.go              |  190 -
 pkg/controller/integrationplatform/kaniko_cache.go |  113 -
 pkg/controller/integrationplatform/log.go          |   23 -
 pkg/controller/integrationplatform/monitor.go      |   58 -
 pkg/controller/integrationplatform/warm.go         |   78 -
 pkg/controller/integrationplatform/warm_test.go    |  138 -
 pkg/event/manager.go                               |  245 --
 pkg/install/builder.go                             |   55 -
 pkg/install/cluster.go                             |  239 --
 pkg/install/common.go                              |  130 -
 pkg/install/openshift.go                           |  181 -
 pkg/install/operator.go                            |  225 --
 pkg/install/optional.go                            |   47 -
 pkg/install/secret.go                              |   58 -
 pkg/metadata/doc.go                                |   19 -
 pkg/metadata/metadata.go                           |  112 -
 pkg/metadata/metadata_capabilities_test.go         |   57 -
 pkg/metadata/metadata_dependencies_test.go         |  749 ----
 pkg/metadata/metadata_http_test.go                 |  273 --
 pkg/metadata/metadata_uri_test.go                  |  298 --
 pkg/metadata/types.go                              |   27 -
 pkg/platform/defaults.go                           |  357 --
 pkg/platform/doc.go                                |   19 -
 pkg/platform/operator.go                           |   82 -
 pkg/platform/platform.go                           |  112 -
 pkg/platform/resources.go                          |   52 -
 pkg/trait/affinity.go                              |  279 --
 pkg/trait/affinity_test.go                         |  154 -
 pkg/trait/builder.go                               |  549 ---
 pkg/trait/builder_test.go                          |  161 -
 pkg/trait/camel.go                                 |  156 -
 pkg/trait/camel_test.go                            |  102 -
 pkg/trait/container.go                             |  504 ---
 pkg/trait/container_probes_test.go                 |  179 -
 pkg/trait/container_test.go                        |  149 -
 pkg/trait/cron.go                                  |  526 ---
 pkg/trait/cron_test.go                             |  520 ---
 pkg/trait/dependencies.go                          |  114 -
 pkg/trait/dependencies_test.go                     |  329 --
 pkg/trait/deployer.go                              |  141 -
 pkg/trait/deployer_test.go                         |   94 -
 pkg/trait/deployment.go                            |  199 -
 pkg/trait/deployment_test.go                       |  213 --
 pkg/trait/doc.go                                   |   19 -
 pkg/trait/environment.go                           |   88 -
 pkg/trait/environment_test.go                      |  244 --
 pkg/trait/gc.go                                    |  255 --
 pkg/trait/gc_test.go                               |   87 -
 pkg/trait/ingress.go                               |  149 -
 pkg/trait/ingress_test.go                          |  199 -
 pkg/trait/init.go                                  |   81 -
 pkg/trait/istio.go                                 |   86 -
 pkg/trait/istio_test.go                            |  165 -
 pkg/trait/jolokia.go                               |  232 --
 pkg/trait/jolokia_test.go                          |  278 --
 pkg/trait/jvm.go                                   |  169 -
 pkg/trait/jvm_test.go                              |  227 --
 pkg/trait/knative.go                               |  453 ---
 pkg/trait/knative_service.go                       |  325 --
 pkg/trait/knative_service_test.go                  |  325 --
 pkg/trait/knative_test.go                          |  533 ---
 pkg/trait/openapi.go                               |  306 --
 pkg/trait/openapi_test.go                          |   64 -
 pkg/trait/owner.go                                 |  141 -
 pkg/trait/owner_test.go                            |   96 -
 pkg/trait/platform.go                              |  123 -
 pkg/trait/platform_test.go                         |  172 -
 pkg/trait/prometheus.go                            |  246 --
 pkg/trait/prometheus_test.go                       |  205 -
 pkg/trait/pull_secret.go                           |   88 -
 pkg/trait/pull_secret_test.go                      |   81 -
 pkg/trait/quarkus.go                               |   62 -
 pkg/trait/quarkus_test.go                          |   89 -
 pkg/trait/route.go                                 |  188 -
 pkg/trait/route_test.go                            |  202 -
 pkg/trait/service.go                               |  136 -
 pkg/trait/service_test.go                          |  297 --
 pkg/trait/trait.go                                 |   99 -
 pkg/trait/trait_catalog.go                         |  220 --
 pkg/trait/trait_factory.go                         |   29 -
 pkg/trait/trait_register.go                        |   48 -
 pkg/trait/trait_test.go                            |  496 ---
 pkg/trait/trait_types.go                           |  751 ----
 pkg/trait/util.go                                  |  182 -
 pkg/trait/util_test.go                             |  101 -
 pkg/trait/zz_desc_generated.go                     |    1 -
 pkg/trait/zz_generated_doc.go                      |    1 -
 pkg/util/camel/catalog.go                          |  150 -
 pkg/util/camel/catalog_test.go                     |   44 -
 release.adoc                                       |  177 -
 script/Makefile                                    |  253 --
 script/build_catalog.sh                            |   33 -
 script/build_olm.sh                                |   33 -
 script/check_licenses.sh                           |   64 -
 script/cross_compile.sh                            |   63 -
 script/embed_resources.sh                          |   30 -
 script/gen_client.sh                               |   52 -
 script/gen_doc.sh                                  |   24 -
 script/gen_release_notes.sh                        |   69 -
 script/git_tag.sh                                  |   36 -
 script/headers/default-jvm.txt                     |   16 -
 script/headers/default.txt                         |   16 -
 script/headers/js.txt                              |   14 -
 script/headers/sh.txt                              |   14 -
 script/headers/xml.txt                             |   14 -
 script/headers/yaml.txt                            |   16 -
 script/images_push.sh                              |   27 -
 script/install_minikube.sh                         |   28 -
 script/install_minishift.sh                        |   43 -
 script/next_snapshot.sh                            |   30 -
 script/package_examples.sh                         |   30 -
 script/package_maven_artifacts.sh                  |   55 -
 script/prepare_release.sh                          |   27 -
 script/publish_base_images.sh                      |   32 -
 script/rat_check.sh                                |   29 -
 script/release_helm.sh                             |   30 -
 script/set_version.sh                              |   40 -
 script/travis_build.sh                             |   86 -
 script/trigger_nightly_build.sh                    |   20 -
 script/unsnapshot_olm.sh                           |   49 -
 558 files changed, 2 insertions(+), 64250 deletions(-)

diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index 6b9e372..0000000
--- a/.dockerignore
+++ /dev/null
@@ -1 +0,0 @@
-openshift.local.clusterup*
\ No newline at end of file
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
deleted file mode 100644
index 0755d0d..0000000
--- a/.github/pull_request_template.md
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- Description -->
-
-
-
-
-<!--
-Enter your extended release note in the below block. If the PR requires
-additional action from users switching to the new release, include the string
-"action required". If no release note is required, write "NONE". 
-
-You can (optionally) mark this PR with labels "kind/bug" or "kind/feature" to make sure
-the text is added to the right section of the release notes. 
--->
-
-**Release Note**
-```release-note
-NONE
-```
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
deleted file mode 100644
index 8d0d100..0000000
--- a/.github/workflows/build.yml
+++ /dev/null
@@ -1,54 +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.
-# ---------------------------------------------------------------------------
-
-name: build
-
-on:
-  pull_request:
-    branches:
-      - master
-  push:
-    branches:
-      - master
-jobs:
-  build:
-    strategy:
-      matrix:
-        # TODO: test an all the supported OS
-        # [ubuntu-latest, macos-latest, windows-latest]
-        os: [ubuntu-latest]
-    runs-on: ${{ matrix.os }}
-    steps:
-    - name: Set up JDK 11
-      uses: joschi/setup-jdk@v1
-      with:
-        java-version: openjdk11
-    - name: Install Go
-      uses: actions/setup-go@v1
-      with:
-        go-version: 1.13.x
-    - name: Checkout code
-      uses: actions/checkout@v2
-    - name: Cache modules
-      uses: actions/cache@v1
-      with:
-        path: ~/go/pkg/mod
-        key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
-        restore-keys: |
-          ${{ runner.os }}-go-
-    - name: Test
-      run: make
diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml
deleted file mode 100644
index a0a385a..0000000
--- a/.github/workflows/builder.yml
+++ /dev/null
@@ -1,132 +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.
-# ---------------------------------------------------------------------------
-
-name: builder
-
-on:
-  pull_request:
-    branches:
-      - master
-  push:
-    branches:
-      - master
-
-jobs:
-  build:
-
-    runs-on: ubuntu-latest
-
-    strategy:
-      matrix:
-        publisher: ["Buildah", "Spectrum", "Kaniko"]
-
-    steps:
-    - name: Checkout code
-      uses: actions/checkout@v2
-    - name: Cleanup
-      run: |
-        ls -lart
-        echo "Initial status:"
-        df -h
-
-        echo "Cleaning up resources:"
-        sudo swapoff -a
-        sudo rm -f /swapfile
-        sudo apt clean
-        docker rmi $(docker image ls -aq)
-
-        echo "Final status:"
-        df -h
-    - name: Set up JDK 11
-      uses: joschi/setup-jdk@v1
-      with:
-        java-version: openjdk11
-    - name: Set Go
-      uses: actions/setup-go@v1
-      with:
-        go-version: 1.13.x
-    - name: Get KinD (Kubernetes in Docker)
-      uses: engineerd/setup-kind@v0.1.0
-      with:
-        version: v0.6.1
-        skipClusterCreation: "true"
-    - name: Start KinD Cluster with Internal Registry
-      run: |
-        CLUSTER_NAME="kind"
-        REGISTRY_CONTAINER_NAME='kind-registry'
-        REGISTRY_PORT='5000'
-        docker run -d -p "${REGISTRY_PORT}:5000" --restart=always --name "${REGISTRY_CONTAINER_NAME}" registry:2
-
-        REGISTRY_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}")
-        cat <<EOF | kind create cluster --config=-
-        kind: Cluster
-        apiVersion: kind.x-k8s.io/v1alpha4
-        containerdConfigPatches:
-        - |-
-          [plugins."io.containerd.grpc.v1.cri".registry.mirrors."${REGISTRY_IP}:${REGISTRY_PORT}"]
-            endpoint = ["http://${REGISTRY_IP}:${REGISTRY_PORT}"]
-        EOF
-        for node in $(kind get nodes --name ${CLUSTER_NAME}); do
-          docker exec "${node}" sh -c "echo $(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}") registry >> /etc/hosts"
-        done
-    - name: Info
-      run: |
-        kubectl cluster-info
-        kubectl describe nodes
-    - name: Run IT
-      # Disable registry tests as not compatible with KinD
-      #env:
-      #  TEST_DOCKER_HUB_USERNAME: ${{ secrets.TEST_DOCKER_HUB_USERNAME }}
-      #  TEST_DOCKER_HUB_PASSWORD: ${{ secrets.TEST_DOCKER_HUB_PASSWORD }}
-      #  TEST_GITHUB_PACKAGES_REPO: ${{ secrets.TEST_GITHUB_PACKAGES_REPO }}
-      #  TEST_GITHUB_PACKAGES_USERNAME: ${{ secrets.TEST_GITHUB_PACKAGES_USERNAME }}
-      #  TEST_GITHUB_PACKAGES_PASSWORD: ${{ secrets.TEST_GITHUB_PACKAGES_PASSWORD }}
-      env:
-        KAMEL_INSTALL_BUILD_PUBLISH_STRATEGY: ${{ matrix.publisher }}
-      run: |
-        # Set the test to periodically cleanup the docker system
-        export KAMEL_TEST_CLEANUP="docker system prune -f"
-
-        # Compute registry parameters
-        CAMEL_K_REGISTRY=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "kind-registry")
-        echo "Using registry ${CAMEL_K_REGISTRY}:5000"
-        echo "Build project"
-        make build-kamel
-        echo "Adding maven artifacts to the image context"
-        make PACKAGE_ARTIFACTS_STRATEGY=download package-artifacts
-        echo "Copying binary file to docker dir"
-        mkdir -p ./build/_output/bin
-        cp ./kamel ./build/_output/bin/
-        echo "Building the images"
-        export LOCAL_IMAGE=localhost:5000/apache/camel-k:$(make version)
-        export IMAGE=${CAMEL_K_REGISTRY}:5000/apache/camel-k:$(make version)
-        docker build -t "${LOCAL_IMAGE}" -f build/Dockerfile .
-        docker push ${LOCAL_IMAGE}
-
-        # Make the Apache Snapshots repository enabled by efault
-        export KAMEL_INSTALL_MAVEN_REPOSITORIES=https://repository.apache.org/content/repositories/snapshots@id=apache-snapshots@snapshots
-
-        echo "installing camel k cluster resources"
-        ./kamel install --cluster-setup
-
-        # Then run integration tests
-        export KAMEL_INSTALL_REGISTRY=${CAMEL_K_REGISTRY}:5000
-        export KAMEL_INSTALL_REGISTRY_INSECURE=true
-        export KAMEL_INSTALL_OPERATOR_IMAGE=${IMAGE}
-        export CAMEL_K_TEST_IMAGE_NAME=${CAMEL_K_REGISTRY}:5000/apache/camel-k
-        export CAMEL_K_TEST_IMAGE_VERSION=$(make version)
-        make test-builder
diff --git a/.github/workflows/knative.yml b/.github/workflows/knative.yml
deleted file mode 100644
index 24d4013..0000000
--- a/.github/workflows/knative.yml
+++ /dev/null
@@ -1,320 +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.
-# ---------------------------------------------------------------------------
-
-name: knative
-
-on:
-  pull_request:
-    branches:
-      - master
-  push:
-    branches:
-      - master
-
-jobs:
-  test:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Checkout code
-      uses: actions/checkout@v2
-    - name: Cleanup
-      run: |
-        ls -lart
-        echo "Initial status:"
-        df -h
-
-        echo "Cleaning up resources:"
-        sudo swapoff -a
-        sudo rm -f /swapfile
-        sudo apt clean
-        docker rmi $(docker image ls -aq)
-
-        echo "Final status:"
-        df -h
-    - name: Set up JDK 11
-      uses: joschi/setup-jdk@v1
-      with:
-        java-version: openjdk11
-    - name: Set Go
-      uses: actions/setup-go@v1
-      with:
-        go-version: 1.13.x
-    - name: Get KinD (Kubernetes in Docker)
-      uses: engineerd/setup-kind@v0.1.0
-      with:
-        version: v0.6.1
-        skipClusterCreation: "true"
-    - name: Start KinD Cluster with Internal Registry
-      run: |
-        CLUSTER_NAME="kind"
-        REGISTRY_CONTAINER_NAME='kind-registry'
-        REGISTRY_PORT='5000'
-        docker run -d -p "${REGISTRY_PORT}:5000" --restart=always --name "${REGISTRY_CONTAINER_NAME}" registry:2
-
-        REGISTRY_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}")
-        cat <<EOF | kind create cluster --config=-
-        kind: Cluster
-        apiVersion: kind.x-k8s.io/v1alpha4
-        containerdConfigPatches:
-        - |-
-          [plugins."io.containerd.grpc.v1.cri".registry.mirrors."${REGISTRY_IP}:${REGISTRY_PORT}"]
-            endpoint = ["http://${REGISTRY_IP}:${REGISTRY_PORT}"]
-        EOF
-        for node in $(kind get nodes --name ${CLUSTER_NAME}); do
-          docker exec "${node}" sh -c "echo $(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}") registry >> /etc/hosts"
-        done
-    - name: Downgrade Kubectl
-      run: |
-        # It fails with version 1.18
-        sudo apt-get install -y --allow-downgrades kubectl=1.16.3-00
-
-    - name: Info
-      run: |
-        kubectl version
-        kubectl cluster-info
-        kubectl describe nodes
-    - name: Install Knative
-      run: |
-        # Prerequisites
-        sudo pip install yq
-
-        export SERVING_VERSION=v0.14.0
-        export EVENTING_VERSION=v0.14.1
-        export SOURCES_VERSION=v0.14.1
-
-        # Serving
-        kubectl apply --filename https://github.com/knative/serving/releases/download/$SERVING_VERSION/serving-crds.yaml
-        curl -L -s https://github.com/knative/serving/releases/download/$SERVING_VERSION/serving-core.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-        # Kourier
-        kubectl apply --filename https://github.com/knative/net-kourier/releases/download/$SERVING_VERSION/kourier.yaml
-        kubectl patch configmap/config-network \
-        --namespace knative-serving \
-        --type merge \
-        --patch '{"data":{"ingress.class":"kourier.ingress.networking.knative.dev"}}'
-
-        # Eventing
-        kubectl apply --filename https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/eventing-crds.yaml
-        curl -L -s https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/eventing-core.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-        # Eventing channels
-        curl -L -s https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/in-memory-channel.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-        # Eventing broker
-        curl -L -s https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/channel-broker.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-        # Camel Sources
-        kubectl apply --filename https://github.com/knative/eventing-contrib/releases/download/$SOURCES_VERSION/camel.yaml
-
-        # Wait for installation completed
-        while [ "$(kubectl get pod -n kourier-system --no-headers | wc -l)" == "0" ]; do echo "Waiting for pods to start in kourier-system"; kubectl get pod -n kourier-system; sleep 5; done
-        while [ "$(kubectl get pod -n kourier-system -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in kourier-system"; kubectl get pod -n kourier-system; sleep 5; done
-        while [ "$(kubectl get pod -n knative-serving -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in knative-serving"; kubectl get pod -n knative-serving; sleep 5; done
-        while [ "$(kubectl get pod -n knative-eventing -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in knative-eventing"; kubectl get pod -n knative-eventing; sleep 5; done
-        while [ "$(kubectl get pod -n knative-sources -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in knative-sources"; kubectl get pod -n knative-sources; sleep 5; done
-
-    - name: Run IT
-      run: |
-        # Set the test to periodically cleanup the docker system
-        export KAMEL_TEST_CLEANUP="docker system prune -f"
-
-        # Use spectrum builder (faster):
-        export KAMEL_INSTALL_BUILD_PUBLISH_STRATEGY=Spectrum
-
-        # Compute registry parameters
-        CAMEL_K_REGISTRY=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "kind-registry")
-        echo "Using registry ${CAMEL_K_REGISTRY}:5000"
-
-        echo "Build project"
-        make build-kamel
-        echo "Adding maven artifacts to the image context"
-        make PACKAGE_ARTIFACTS_STRATEGY=download package-artifacts
-        echo "Copying binary file to docker dir"
-        mkdir -p ./build/_output/bin
-        cp ./kamel ./build/_output/bin/
-        echo "Building the images"
-        export LOCAL_IMAGE=localhost:5000/apache/camel-k:$(make version)
-        export IMAGE=${CAMEL_K_REGISTRY}:5000/apache/camel-k:$(make version)
-        docker build -t "${LOCAL_IMAGE}" -f build/Dockerfile .
-        docker push ${LOCAL_IMAGE}
-
-        # Make the Apache Snapshots repository enabled by efault
-        export KAMEL_INSTALL_MAVEN_REPOSITORIES=https://repository.apache.org/content/repositories/snapshots@id=apache-snapshots@snapshots
-        
-        echo "installing camel k cluster resources"
-        ./kamel install --cluster-setup
-
-        # Then run integration tests
-        export KAMEL_INSTALL_REGISTRY=${CAMEL_K_REGISTRY}:5000
-        export KAMEL_INSTALL_REGISTRY_INSECURE=true
-        export KAMEL_INSTALL_OPERATOR_IMAGE=${IMAGE}
-        export CAMEL_K_TEST_IMAGE_NAME=${CAMEL_K_REGISTRY}:5000/apache/camel-k
-        export CAMEL_K_TEST_IMAGE_VERSION=$(make version)
-        make test-knative
-
-  yaks:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v2
-      - name: Cleanup
-        run: |
-          ls -lart
-          echo "Initial status:"
-          df -h
-
-          echo "Cleaning up resources:"
-          sudo swapoff -a
-          sudo rm -f /swapfile
-          sudo apt clean
-          docker rmi $(docker image ls -aq)
-
-          echo "Final status:"
-          df -h
-      - name: Set up JDK 11
-        uses: joschi/setup-jdk@v1
-        with:
-          java-version: openjdk11
-      - name: Set Go
-        uses: actions/setup-go@v1
-        with:
-          go-version: 1.13.x
-      - name: Get YAKS
-        run: |
-          export YAKS_VERSION=0.0.33
-          curl -L https://github.com/citrusframework/yaks/releases/download/v${YAKS_VERSION}/yaks_${YAKS_VERSION}_Linux_x86_64.tar.gz -o yaks.tar.gz
-          tar -zxf yaks.tar.gz
-          sudo mv yaks /usr/local/bin/
-      - name: Get KinD (Kubernetes in Docker)
-        uses: engineerd/setup-kind@v0.1.0
-        with:
-          version: v0.6.1
-          skipClusterCreation: "true"
-      - name: Start KinD Cluster with Internal Registry
-        run: |
-          CLUSTER_NAME="kind"
-          REGISTRY_CONTAINER_NAME='kind-registry'
-          REGISTRY_PORT='5000'
-          docker run -d -p "${REGISTRY_PORT}:5000" --restart=always --name "${REGISTRY_CONTAINER_NAME}" registry:2
-
-          REGISTRY_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}")
-          cat <<EOF | kind create cluster --config=-
-          kind: Cluster
-          apiVersion: kind.x-k8s.io/v1alpha4
-          containerdConfigPatches:
-          - |-
-            [plugins."io.containerd.grpc.v1.cri".registry.mirrors."${REGISTRY_IP}:${REGISTRY_PORT}"]
-              endpoint = ["http://${REGISTRY_IP}:${REGISTRY_PORT}"]
-          EOF
-          for node in $(kind get nodes --name ${CLUSTER_NAME}); do
-            docker exec "${node}" sh -c "echo $(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}") registry >> /etc/hosts"
-          done
-      - name: Downgrade Kubectl
-        run: |
-          # It fails with version 1.18
-          sudo apt-get install -y --allow-downgrades kubectl=1.16.3-00
-
-      - name: Info
-        run: |
-          kubectl version
-          kubectl cluster-info
-          kubectl describe nodes
-      - name: Install YAKS
-        run: |
-          yaks install --cluster-setup
-      - name: Install Knative
-        run: |
-          # Prerequisites
-          sudo pip install yq
-
-          export SERVING_VERSION=v0.14.0
-          export EVENTING_VERSION=v0.14.1
-          export SOURCES_VERSION=v0.14.1
-
-          # Serving
-          kubectl apply --filename https://github.com/knative/serving/releases/download/$SERVING_VERSION/serving-crds.yaml
-          curl -L -s https://github.com/knative/serving/releases/download/$SERVING_VERSION/serving-core.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-          # Kourier
-          kubectl apply --filename https://github.com/knative/net-kourier/releases/download/$SERVING_VERSION/kourier.yaml
-          kubectl patch configmap/config-network \
-          --namespace knative-serving \
-          --type merge \
-          --patch '{"data":{"ingress.class":"kourier.ingress.networking.knative.dev"}}'
-
-          # Eventing
-          kubectl apply --filename https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/eventing-crds.yaml
-          curl -L -s https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/eventing-core.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-          # Eventing channels
-          curl -L -s https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/in-memory-channel.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-          # Eventing broker
-          curl -L -s https://github.com/knative/eventing/releases/download/$EVENTING_VERSION/channel-broker.yaml | yq 'del(.spec.template.spec.containers[]?.resources)' -y | kubectl apply -f -
-
-          # Camel Sources
-          kubectl apply --filename https://github.com/knative/eventing-contrib/releases/download/$SOURCES_VERSION/camel.yaml
-
-          # Wait for installation completed
-          while [ "$(kubectl get pod -n kourier-system --no-headers | wc -l)" == "0" ]; do echo "Waiting for pods to start in kourier-system"; kubectl get pod -n kourier-system; sleep 5; done
-          while [ "$(kubectl get pod -n kourier-system -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in kourier-system"; kubectl get pod -n kourier-system; sleep 5; done
-          while [ "$(kubectl get pod -n knative-serving -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in knative-serving"; kubectl get pod -n knative-serving; sleep 5; done
-          while [ "$(kubectl get pod -n knative-eventing -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in knative-eventing"; kubectl get pod -n knative-eventing; sleep 5; done
-          while [ "$(kubectl get pod -n knative-sources -o 'jsonpath={range .items[*]}{.status.conditions[?(@.type=="Ready")].status}{"\n"}' | grep -v True | wc -l)" != "0" ]; do echo "Waiting for all pods to be ready in knative-sources"; kubectl get pod -n knative-sources; sleep 5; done
-
-      - name: Run IT
-        run: |
-          # Set the test to periodically cleanup the docker system
-          export KAMEL_TEST_CLEANUP="docker system prune -f"
-
-          # Use spectrum builder (faster):
-          export KAMEL_INSTALL_BUILD_PUBLISH_STRATEGY=Spectrum
-
-          # Compute registry parameters
-          CAMEL_K_REGISTRY=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "kind-registry")
-          echo "Using registry ${CAMEL_K_REGISTRY}:5000"
-
-          echo "Build project"
-          make build-kamel
-          echo "Adding maven artifacts to the image context"
-          make PACKAGE_ARTIFACTS_STRATEGY=download package-artifacts
-          echo "Copying binary file to docker dir"
-          mkdir -p ./build/_output/bin
-          cp ./kamel ./build/_output/bin/
-          echo "Building the images"
-          export LOCAL_IMAGE=localhost:5000/apache/camel-k:$(make version)
-          export IMAGE=${CAMEL_K_REGISTRY}:5000/apache/camel-k:$(make version)
-          docker build -t "${LOCAL_IMAGE}" -f build/Dockerfile .
-          docker push ${LOCAL_IMAGE}
-
-          # Make the Apache Snapshots repository enabled by efault
-          export KAMEL_INSTALL_MAVEN_REPOSITORIES=https://repository.apache.org/content/repositories/snapshots@id=apache-snapshots@snapshots
-
-          echo "Making kamel global"
-          sudo mv kamel /usr/local/bin/
-
-          echo "installing camel k cluster resources"
-          kamel install --cluster-setup
-
-          # Then run integration tests
-          export KAMEL_INSTALL_REGISTRY=${CAMEL_K_REGISTRY}:5000
-          export KAMEL_INSTALL_REGISTRY_INSECURE=true
-          export KAMEL_INSTALL_OPERATOR_IMAGE=${IMAGE}
-          export CAMEL_K_TEST_IMAGE_NAME=${CAMEL_K_REGISTRY}:5000/apache/camel-k
-          export CAMEL_K_TEST_IMAGE_VERSION=$(make version)
-
-          yaks test e2e/yaks
diff --git a/.github/workflows/kubernetes.yml b/.github/workflows/kubernetes.yml
deleted file mode 100644
index 4da0ef7..0000000
--- a/.github/workflows/kubernetes.yml
+++ /dev/null
@@ -1,129 +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.
-# ---------------------------------------------------------------------------
-
-name: kubernetes
-
-on:
-  pull_request:
-    branches:
-      - master
-  push:
-    branches:
-      - master
-
-jobs:
-  build:
-
-    runs-on: ubuntu-latest
-
-    steps:
-    - name: Checkout code
-      uses: actions/checkout@v2
-    - name: Cleanup
-      run: |
-        ls -lart
-        echo "Initial status:"
-        df -h
-
-        echo "Cleaning up resources:"
-        sudo swapoff -a
-        sudo rm -f /swapfile
-        sudo apt clean
-        docker rmi $(docker image ls -aq)
-
-        echo "Final status:"
-        df -h
-    - name: Set up JDK 11
-      uses: joschi/setup-jdk@v1
-      with:
-        java-version: openjdk11
-    - name: Set Go
-      uses: actions/setup-go@v1
-      with:
-        go-version: 1.13.x
-    - name: Get KinD (Kubernetes in Docker)
-      uses: engineerd/setup-kind@v0.1.0
-      with:
-        version: v0.6.1
-        skipClusterCreation: "true"
-    - name: Start KinD Cluster with Internal Registry
-      run: |
-        CLUSTER_NAME="kind"
-        REGISTRY_CONTAINER_NAME='kind-registry'
-        REGISTRY_PORT='5000'
-        docker run -d -p "${REGISTRY_PORT}:5000" --restart=always --name "${REGISTRY_CONTAINER_NAME}" registry:2
-
-        REGISTRY_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}")
-        cat <<EOF | kind create cluster --config=-
-        kind: Cluster
-        apiVersion: kind.x-k8s.io/v1alpha4
-        containerdConfigPatches:
-        - |-
-          [plugins."io.containerd.grpc.v1.cri".registry.mirrors."${REGISTRY_IP}:${REGISTRY_PORT}"]
-            endpoint = ["http://${REGISTRY_IP}:${REGISTRY_PORT}"]
-        EOF
-        for node in $(kind get nodes --name ${CLUSTER_NAME}); do
-          docker exec "${node}" sh -c "echo $(docker inspect --format '{{.NetworkSettings.IPAddress }}' "${REGISTRY_CONTAINER_NAME}") registry >> /etc/hosts"
-        done
-    - name: Info
-      run: |
-        kubectl cluster-info
-        kubectl describe nodes
-    - name: Run IT
-      # Disable registry tests as not compatible with KinD
-      #env:
-      #  TEST_DOCKER_HUB_USERNAME: ${{ secrets.TEST_DOCKER_HUB_USERNAME }}
-      #  TEST_DOCKER_HUB_PASSWORD: ${{ secrets.TEST_DOCKER_HUB_PASSWORD }}
-      #  TEST_GITHUB_PACKAGES_REPO: ${{ secrets.TEST_GITHUB_PACKAGES_REPO }}
-      #  TEST_GITHUB_PACKAGES_USERNAME: ${{ secrets.TEST_GITHUB_PACKAGES_USERNAME }}
-      #  TEST_GITHUB_PACKAGES_PASSWORD: ${{ secrets.TEST_GITHUB_PACKAGES_PASSWORD }}
-      run: |
-        # Set the test to periodically cleanup the docker system
-        export KAMEL_TEST_CLEANUP="docker system prune -f"
-
-        # Using Spectrum as builder (faster)
-        export KAMEL_INSTALL_BUILD_PUBLISH_STRATEGY=Spectrum
-
-        # Compute registry parameters
-        CAMEL_K_REGISTRY=$(docker inspect --format '{{.NetworkSettings.IPAddress }}' "kind-registry")
-        echo "Using registry ${CAMEL_K_REGISTRY}:5000"
-        echo "Build project"
-        make build-kamel
-        echo "Adding maven artifacts to the image context"
-        make PACKAGE_ARTIFACTS_STRATEGY=download package-artifacts
-        echo "Copying binary file to docker dir"
-        mkdir -p ./build/_output/bin
-        cp ./kamel ./build/_output/bin/
-        echo "Building the images"
-        export LOCAL_IMAGE=localhost:5000/apache/camel-k:$(make version)
-        export IMAGE=${CAMEL_K_REGISTRY}:5000/apache/camel-k:$(make version)
-        docker build -t "${LOCAL_IMAGE}" -f build/Dockerfile .
-        docker push ${LOCAL_IMAGE}
-
-        # Make the Apache Snapshots repository enabled by efault
-        export KAMEL_INSTALL_MAVEN_REPOSITORIES=https://repository.apache.org/content/repositories/snapshots@id=apache-snapshots@snapshots
-
-        echo "installing camel k cluster resources"
-        ./kamel install --cluster-setup
-
-        # Then run integration tests
-        export KAMEL_INSTALL_REGISTRY=${CAMEL_K_REGISTRY}:5000
-        export KAMEL_INSTALL_REGISTRY_INSECURE=true
-        export KAMEL_INSTALL_OPERATOR_IMAGE=${IMAGE}
-        export CAMEL_K_TEST_IMAGE_NAME=${CAMEL_K_REGISTRY}:5000/apache/camel-k
-        export CAMEL_K_TEST_IMAGE_VERSION=$(make version)
-        make test-integration
diff --git a/.github/workflows/openshift.yml b/.github/workflows/openshift.yml
deleted file mode 100644
index 0e7ac3d..0000000
--- a/.github/workflows/openshift.yml
+++ /dev/null
@@ -1,154 +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.
-# ---------------------------------------------------------------------------
-
-name: openshift-builder
-
-on:
-  pull_request:
-    branches:
-      - master
-  push:
-    branches:
-      - master
-
-jobs:
-  build:
-
-    runs-on: ubuntu-latest
-
-    steps:
-    - name: Checkout code
-      uses: actions/checkout@v2
-    - name: Cleanup
-      run: |
-        ls -lart
-        echo "Initial status:"
-        df -h
-
-        echo "Cleaning up resources:"
-        sudo swapoff -a
-        sudo rm -f /swapfile
-        sudo apt clean
-        docker rmi $(docker image ls -aq)
-
-        echo "Final status:"
-        df -h
-    - name: Set up JDK 11
-      uses: joschi/setup-jdk@v1
-      with:
-        java-version: openjdk11
-    - name: Set Go
-      uses: actions/setup-go@v1
-      with:
-        go-version: 1.13.x
-    - name: Get OpenShift Client (oc)
-      run: |
-        export OPENSHIFT_VERSION=v3.11.0
-        export OPENSHIFT_COMMIT=0cbc58b
-        export MAVEN_OPTS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
-
-        # set docker0 to promiscuous mode
-        sudo ip link set docker0 promisc on
-
-        # Download and install the oc binary
-        sudo mount --make-shared /
-
-        sudo apt-get install resolvconf
-        echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/head > /dev/null
-        echo "nameserver 8.8.4.4" | sudo tee /etc/resolvconf/resolv.conf.d/head > /dev/null
-        sudo service resolvconf restart
-
-        sudo service docker stop
-        sudo echo '{"insecure-registries": ["172.30.0.0/16"]}' | sudo tee /etc/docker/daemon.json > /dev/null
-        sudo service docker start
-
-        DOWNLOAD_URL=https://github.com/openshift/origin/releases/download/$OPENSHIFT_VERSION/openshift-origin-client-tools-$OPENSHIFT_VERSION-$OPENSHIFT_COMMIT-linux-64bit.tar.gz
-        wget -O client.tar.gz ${DOWNLOAD_URL}
-        tar xvzOf client.tar.gz > oc.bin
-        sudo mv oc.bin /usr/local/bin/oc
-        sudo chmod 755 /usr/local/bin/oc
-
-    - name: Start OpenShift Cluster
-      run: |
-        # Figure out this host's IP address
-        IP_ADDR="$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)"
-
-        # Setup cluster dir
-        sudo mkdir -p /home/runner/lib/oc
-        sudo chmod 777 /home/runner/lib/oc
-        cd /home/runner/lib/oc
-
-        # Start OpenShift
-        oc cluster up --public-hostname=$IP_ADDR --enable=persistent-volumes,registry,router
-        oc login -u system:admin
-
-        # Wait until we have a ready node in openshift
-        TIMEOUT=0
-        TIMEOUT_COUNT=60
-        until [ $TIMEOUT -eq $TIMEOUT_COUNT ]; do
-          if [ -n "$(oc get nodes | grep Ready)" ]; then
-            break
-          fi
-          echo "openshift is not up yet"
-          TIMEOUT=$((TIMEOUT+1))
-          sleep 5
-        done
-
-        if [ $TIMEOUT -eq $TIMEOUT_COUNT ]; then
-          echo "Failed to start openshift"
-          exit 1
-        fi
-
-        echo "openshift is deployed and reachable"
-
-    - name: Info
-      run: |
-        oc describe nodes
-    - name: Run IT
-      #env:
-      #  TEST_DOCKER_HUB_USERNAME: ${{ secrets.TEST_DOCKER_HUB_USERNAME }}
-      #  TEST_DOCKER_HUB_PASSWORD: ${{ secrets.TEST_DOCKER_HUB_PASSWORD }}
-      #  TEST_GITHUB_PACKAGES_REPO: ${{ secrets.TEST_GITHUB_PACKAGES_REPO }}
-      #  TEST_GITHUB_PACKAGES_USERNAME: ${{ secrets.TEST_GITHUB_PACKAGES_USERNAME }}
-      #  TEST_GITHUB_PACKAGES_PASSWORD: ${{ secrets.TEST_GITHUB_PACKAGES_PASSWORD }}
-      run: |
-        # Compute registry parameters
-        echo "Build project"
-        make build-kamel
-
-        echo "Adding maven artifacts to the image context"
-        make PACKAGE_ARTIFACTS_STRATEGY=download package-artifacts
-
-        echo "Copying binary file to docker dir"
-        mkdir -p ./build/_output/bin
-        cp ./kamel ./build/_output/bin/
-
-        echo "Building the images"
-        export IMAGE=docker.io/apache/camel-k:$(make version)
-        docker build -t "${IMAGE}" -f build/Dockerfile .
-
-        # Make the Apache Snapshots repository enabled by efault
-        export KAMEL_INSTALL_MAVEN_REPOSITORIES=https://repository.apache.org/content/repositories/snapshots@id=apache-snapshots@snapshots
-
-        echo "installing camel k cluster resources"
-        ./kamel install --cluster-setup
-
-        # Login as normal user
-        oc login -u developer
-
-        # Then run integration tests
-        make test-builder
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index b1d32e7..0000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,137 +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.
-# ---------------------------------------------------------------------------
-
-name: release
-
-on:
-  push:
-    tags:
-      - '*nightly*'
-
-jobs:
-  release:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Set up JDK 11
-      uses: joschi/setup-jdk@v1
-      with:
-        java-version: openjdk11
-    - name: Install Go
-      uses: actions/setup-go@v1
-      with:
-        go-version: 1.13.x
-    - name: Checkout code
-      uses: actions/checkout@v2
-    - name: Cache modules
-      uses: actions/cache@v1
-      with:
-        path: ~/go/pkg/mod
-        key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
-        restore-keys: |
-          ${{ runner.os }}-go-
-    - name: Prerequisites
-      run: |
-        export OPERATOR_SDK_VERSION=v0.15.2
-        curl -L https://github.com/operator-framework/operator-sdk/releases/download/v0.15.2/operator-sdk-${OPERATOR_SDK_VERSION}-x86_64-linux-gnu -o operator-sdk
-        chmod a+x operator-sdk
-        sudo mv operator-sdk /usr/local/bin
-
-    - name: Global Env
-      env:
-        TEST_DOCKER_HUB_USERNAME: ${{ secrets.TEST_DOCKER_HUB_USERNAME }}
-        TEST_DOCKER_HUB_PASSWORD: ${{ secrets.TEST_DOCKER_HUB_PASSWORD }}
-      run: |
-        VERSION=${GITHUB_REF##*/}
-        echo "Using VERSION=$VERSION"
-        echo "::set-env name=VERSION::$VERSION"
-
-        IMAGE_NAME=docker.io/${TEST_DOCKER_HUB_USERNAME:-testcamelk}/camel-k
-        echo "Using IMAGE_NAME=$IMAGE_NAME"
-        echo "::set-env name=IMAGE_NAME::$IMAGE_NAME"
-
-        MAVEN_REPOSITORY=$(make get-staging-repo)
-        echo "Using MAVEN_REPOSITORY=$MAVEN_REPOSITORY"
-        echo "::set-env name=MAVEN_REPOSITORY::$MAVEN_REPOSITORY"
-
-        docker login -u $TEST_DOCKER_HUB_USERNAME -p $TEST_DOCKER_HUB_PASSWORD
-
-    - name: Codegen
-      run: |
-        make VERSION=$VERSION IMAGE_NAME=$IMAGE_NAME codegen set-version build-resources
-
-    - name: Build
-      run: |
-        make VERSION=$VERSION IMAGE_NAME=$IMAGE_NAME release-nightly
-
-    - name: Check
-      run: ls -l
-
-    - name: Create Release
-      id: create_release
-      uses: actions/create-release@latest
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      with:
-        tag_name: ${{ env.VERSION }}
-        release_name: Release ${{ env.VERSION }}
-        body: |
-          Apache Camel K nightly build for testing (unstable).
-
-          To test it, download the client for your OS and run:
-
-          ```
-          kamel install --olm=false --maven-repository=${{ env.MAVEN_REPOSITORY }}
-          ```
-
-        draft: false
-        prerelease: true
-    - name: Upload Client Linux
-      uses: actions/upload-release-asset@v1
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      with:
-        upload_url: ${{ steps.create_release.outputs.upload_url }}
-        asset_path: ./camel-k-client-${{ env.VERSION }}-linux-64bit.tar.gz
-        asset_name: camel-k-client-${{ env.VERSION }}-linux-64bit.tar.gz
-        asset_content_type: application/tar+gzip
-    - name: Upload Client Mac
-      uses: actions/upload-release-asset@v1
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      with:
-        upload_url: ${{ steps.create_release.outputs.upload_url }}
-        asset_path: ./camel-k-client-${{ env.VERSION }}-mac-64bit.tar.gz
-        asset_name: camel-k-client-${{ env.VERSION }}-mac-64bit.tar.gz
-        asset_content_type: application/tar+gzip
-    - name: Upload Client Windows
-      uses: actions/upload-release-asset@v1
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      with:
-        upload_url: ${{ steps.create_release.outputs.upload_url }}
-        asset_path: ./camel-k-client-${{ env.VERSION }}-windows-64bit.tar.gz
-        asset_name: camel-k-client-${{ env.VERSION }}-windows-64bit.tar.gz
-        asset_content_type: application/tar+gzip
-    - name: Upload Examples
-      uses: actions/upload-release-asset@v1
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      with:
-        upload_url: ${{ steps.create_release.outputs.upload_url }}
-        asset_path: ./camel-k-examples-${{ env.VERSION }}.tar.gz
-        asset_name: camel-k-examples-${{ env.VERSION }}.tar.gz
-        asset_content_type: application/tar+gzip
diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
deleted file mode 100644
index f8c2be7..0000000
--- a/.github/workflows/validate.yml
+++ /dev/null
@@ -1,45 +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.
-# ---------------------------------------------------------------------------
-
-name: validate
-
-on: 
-  pull_request:
-    branches: 
-      - master
-  push:
-    branches:
-      - master
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Check out code
-        uses: actions/checkout@v2
-      - name: Cache modules
-        uses: actions/cache@v1
-        with:
-          path: ~/go/pkg/mod
-          key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
-          restore-keys: |
-            ${{ runner.os }}-go-
-      - name: Lint
-        run: |
-          curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b . v1.20.1
-          ./golangci-lint config path
-          ./golangci-lint --version
-          GOGC=20 ./golangci-lint run --verbose --deadline 15m --config .golangci.yml
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index b32db58..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,146 +0,0 @@
-# Go vendor
-/vendor
-
-# Binary files
-/kamel
-/license-check
-
-# Config files
-/kamel-config.yaml
-/.kamel/kamel-config.yaml
-
-# Released Packages
-*.tar.gz
-
-# Release Notes
-/release-notes.md
-
-# Unuseful file
-/deploy/operator.yaml
-
-# IDEs
-.idea
-*.iml
-.project
-.metadata
-.gopath
-
-# Temporary Build Files
-build/_output
-build/_test
-build/_maven_output
-
-# envrc
-.envrc
-
-# eclipse / vscode
-.settings
-.classpath
-.factorypath
-
-# Created by https://www.gitignore.io/api/go,vim,emacs,visualstudiocode
-
-### Emacs ###
-# -*- mode: gitignore; -*-
-*~
-\#*\#
-/.emacs.desktop
-/.emacs.desktop.lock
-*.elc
-auto-save-list
-tramp
-.\#*
-
-# Org-mode
-.org-id-locations
-*_archive
-
-# flymake-mode
-*_flymake.*
-
-# eshell files
-/eshell/history
-/eshell/lastdir
-
-# elpa packages
-/elpa/
-
-# reftex files
-*.rel
-
-# AUCTeX auto folder
-/auto/
-
-# cask packages
-.cask/
-dist/
-
-# Flycheck
-flycheck_*.el
-
-# server auth directory
-/server/
-
-# projectiles files
-.projectile
-projectile-bookmarks.eld
-
-# directory configuration
-.dir-locals.el
-
-# saveplace
-places
-
-# url cache
-url/cache/
-
-# cedet
-ede-projects.el
-
-# smex
-smex-items
-
-# company-statistics
-company-statistics-cache.el
-
-# anaconda-mode
-anaconda-mode/
-
-### Go ###
-# Binaries for programs and plugins
-*.exe
-*.exe~
-*.dll
-*.so
-*.dylib
-
-# Test binary, build with 'go test -c'
-*.test
-
-# Output of the go coverage tool, specifically when used with LiteIDE
-*.out
-
-### Vim ###
-# swap
-.sw[a-p]
-.*.sw[a-p]
-# session
-Session.vim
-# temporary
-.netrwhist
-# auto-generated tag files
-tags
-
-### VisualStudioCode ###
-.vscode
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-
-# Unix line endings for the Maven wrapper script
-mvnw text eol=lf
-.history
-
-# End of https://www.gitignore.io/api/go,vim,emacs,visualstudiocode
diff --git a/.golangci.yml b/.golangci.yml
deleted file mode 100644
index 2d901b8..0000000
--- a/.golangci.yml
+++ /dev/null
@@ -1,69 +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.
-# ---------------------------------------------------------------------------
-
-linters-settings:
-  lll:
-    line-length: 170
-linters:
-  enable-all: true
-  disable:
-    - dupl
-    - gochecknoinits
-    - gochecknoglobals
-    - funlen
-    - godox
-    - whitespace
-    - gocognit
-    - wsl
-issues:
-  exclude-rules:
-    - path: pkg/client/clientset
-      linters:
-        - stylecheck
-        - golint
-        - deadcode
-        - lll
-        - unparam
-        - varcheck
-        - unused
-    - path: pkg/client/informers
-      linters:
-        - stylecheck
-        - golint
-        - deadcode
-        - lll
-        - unparam
-        - varcheck
-        - unused
-    - path: pkg/client/listers
-      linters:
-        - stylecheck
-        - golint
-        - deadcode
-        - lll
-        - unparam
-        - varcheck
-        - unused
-    - path: deploy/resources.go
-      linters:
-        - stylecheck
-        - golint
-        - deadcode
-        - lll
-        - unparam
-        - varcheck
-        - unused
diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java
deleted file mode 100755
index fa4f7b4..0000000
--- a/.mvn/wrapper/MavenWrapperDownloader.java
+++ /dev/null
@@ -1,110 +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.
-*/
-
-import java.net.*;
-import java.io.*;
-import java.nio.channels.*;
-import java.util.Properties;
-
-public class MavenWrapperDownloader {
-
-    /**
-     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
-     */
-    private static final String DEFAULT_DOWNLOAD_URL =
-            "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
-
-    /**
-     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
-     * use instead of the default one.
-     */
-    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
-            ".mvn/wrapper/maven-wrapper.properties";
-
-    /**
-     * Path where the maven-wrapper.jar will be saved to.
-     */
-    private static final String MAVEN_WRAPPER_JAR_PATH =
-            ".mvn/wrapper/maven-wrapper.jar";
-
-    /**
-     * Name of the property which should be used to override the default download url for the wrapper.
-     */
-    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
-
-    public static void main(String args[]) {
-        System.out.println("- Downloader started");
-        File baseDirectory = new File(args[0]);
-        System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
-
-        // If the maven-wrapper.properties exists, read it and check if it contains a custom
-        // wrapperUrl parameter.
-        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
-        String url = DEFAULT_DOWNLOAD_URL;
-        if(mavenWrapperPropertyFile.exists()) {
-            FileInputStream mavenWrapperPropertyFileInputStream = null;
-            try {
-                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
-                Properties mavenWrapperProperties = new Properties();
-                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
-                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
-            } catch (IOException e) {
-                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
-            } finally {
-                try {
-                    if(mavenWrapperPropertyFileInputStream != null) {
-                        mavenWrapperPropertyFileInputStream.close();
-                    }
-                } catch (IOException e) {
-                    // Ignore ...
-                }
-            }
-        }
-        System.out.println("- Downloading from: : " + url);
-
-        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
-        if(!outputFile.getParentFile().exists()) {
-            if(!outputFile.getParentFile().mkdirs()) {
-                System.out.println(
-                        "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
-            }
-        }
-        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
-        try {
-            downloadFileFromURL(url, outputFile);
-            System.out.println("Done");
-            System.exit(0);
-        } catch (Throwable e) {
-            System.out.println("- Error downloading");
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-
-    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
-        URL website = new URL(urlString);
-        ReadableByteChannel rbc;
-        rbc = Channels.newChannel(website.openStream());
-        FileOutputStream fos = new FileOutputStream(destination);
-        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
-        fos.close();
-        rbc.close();
-    }
-
-}
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100755
index 01e6799..0000000
Binary files a/.mvn/wrapper/maven-wrapper.jar and /dev/null differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100755
index d6f02e6..0000000
--- a/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1 +0,0 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
\ No newline at end of file
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
deleted file mode 100644
index b49b4c1..0000000
--- a/.pre-commit-config.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.
-# ---------------------------------------------------------------------------
-
-- repo: git://github.com/dnephin/pre-commit-golang
-  sha: HEAD
-  exclude:
-    - vendor/.*
-  hooks:
-    - id: golangci-lint
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index c87e9c0..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,51 +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.
-# ---------------------------------------------------------------------------
-
-# Configuration file for Travis continuous integration.
-# See https://travis-ci.org/apache/camel-k
-
-sudo: required
-
-language: go
-
-# Go modules require xenial for mercurial TLS 1.2 support
-dist: xenial
-
-go:
-  - 1.13.x
-
-install:
-  - go mod tidy
-
-env:
-  global:
-    - OPENSHIFT_VERSION=3.11.0
-    - OPENSHIFT_COMMIT=0cbc58b
-    - MAVEN_OPTS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
-
-services:
-  - docker
-
-before_script:
-  - true
-
-script:
-  - ./script/travis_build.sh
-
-cache:
-  directories:
-    - $GOPATH/pkg/mod
diff --git a/KEYS b/KEYS
deleted file mode 100644
index 5099276..0000000
--- a/KEYS
+++ /dev/null
@@ -1,1773 +0,0 @@
-pub   1024D/F5BA7E4F 2006-02-10
-uid                  Hiram Chirino <hi...@hiramchirino.com>
-sig 3        F5BA7E4F 2006-02-10  Hiram Chirino <hi...@hiramchirino.com>
-sub   1024g/6733C080 2006-02-10
-sig          F5BA7E4F 2006-02-10  Hiram Chirino <hi...@hiramchirino.com>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.1 (Darwin)
-
-mQGiBEPspSsRBADdguKAxMQbA32vTQrCyONR6Zs/YGdvau2Zrr3SSSSR0Ge4FMjZ
-4tzwpf6+32m4Bsf7YIwdLl0H5hI1CgT5gDl9kXvfaFUehFnwR+FDyiBRiyHjUpGF
-4dgkQfWy9diYeWGtsvszsvWHXtED4SXb322StX4MfJj+YesA1iEdTiXK6wCg1QDa
-RucfjC+kx4zPsJwkJOgYpyMEAMTiXtNwQcke6nIFb/lb5374NjwwVAuuMTrRWLyq
-5HodugEIHaw3EitQWtnFfXNkXTJZzS6t2HAGv29UTfhiBzKdkydgCkOk2MLWISOV
-fqcg0tNIp5ZJCmUHg3s+OFNSH4oUi65u+FyDseUid3OKtPI+ZhIk8N+DjOIg2Kvo
-/UALA/9q+WfBd7re+W3iUtU7TutUcwbKsjP+jpaJeUHg2ChOBxVfQKt4YlPHVdrR
-iCrfNi90Z8qbsZ0iAXuqexrfMq20pAPmpHRpe54mmP1CMT5m+Gq71eKIfkUrb3LC
-/zv08dLG2vm9oghd242wbcifaX+t7AhNAIpe/WTvQsB0gpdO4LQmSGlyYW0gQ2hp
-cmlubyA8aGlyYW1AaGlyYW1jaGlyaW5vLmNvbT6IWwQTEQIAGwUCQ+ylKwYLCQgH
-AwIDFQIDAxYCAQIeAQIXgAAKCRCf8lmA9bp+T/G/AKDM1QDs7il/CJhTycgDvE3c
-EOgUBwCfelsVK4sgBCooZptoaCCDgVtt71G5AQ0EQ+ylLhAEAJD25AWgwcNgBFKY
-svExQaGIojIGJyn4Cf/5U30cui/K7fIU7JtyNhKcfZdCrh2hKx+x3H/dTF6e0SrR
-hzKV7Dx0j76yhHHB1Ak25kjRxoU4Jk+CG0m+bRNTF9xz9k1ALSm3Y+A5RqNU10K6
-e/5KsPuXMGSGoQgJ1H6g/i80Wf8PAAMFA/9mIxu7lMaqE1OE7EeAsHgLslNbi0h9
-pjDUVNv8bc1Os2gBPaJD8B89EeheTHw6NMNIe75HVOpKk4UA0gvOBrxJqCr18yFJ
-BM5sIlaEmuJwZOW4dDGOR1oS5qgE9NzpmyKhE+fu/S1wmy0coL667+1xZcnrPbUF
-D4i7/aD1r8qJhohGBBgRAgAGBQJD7KUuAAoJEJ/yWYD1un5Pth0An0QEUs5cxpl8
-zL5kZCj7c8MN8YZDAKDR9LTb6woveul50+uGtUl2fIH1uA==
-=RBPl
------END PGP PUBLIC KEY BLOCK-----
-pub   1024D/E31AF533 2007-12-17 [expires: 2009-06-09]
-uid                  Hadrian Zbarcea (Apache) <ha...@apache.org>
-sig 3        E31AF533 2007-12-17  Hadrian Zbarcea (Apache) <ha...@apache.org>
-sig          B4493B94 2007-12-17  Guillaume Nodet <gn...@apache.org>
-sig          BB550746 2007-12-17  J. Daniel Kulp <da...@kulp.com>
-sub   2048g/6180521C 2007-12-17 [expires: 2009-06-09]
-sig          E31AF533 2007-12-17  Hadrian Zbarcea (Apache) <ha...@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-mQGiBEdmrcgRBADzy0H/OIT7ASGfTj4JDdnBiJCQfSZpeY2n3r5yW0tzMtb1jik/
-TyAwGyWvXMUCrRHlw33dVKNLztFQcNDfprmZxxORyTphhf6MMDhp3nAk56KT0vSF
-i/D8Kh4ERb86/bjveJDZJf0oPIaiwTz6Rdr5YxJCkR58cW/xpxBayb858wCgoex4
-1/1wipbpe7mGp9H2g8r/8WcEAOkm7S8gcg3NLZ62+RCwUZOJuIKCnq/UlwPEfIEL
-WwnOFVn3rL+y8U1560U3LYIAykBko+aCa7ZvqwvrW4OPUXJi+6MR1dKBAPiOQYkW
-NCtcGLa/Wdrxo5wjrP/XBFpSabvmxv19LUW8SJr/vH3XWQRYm5SJlnBaDgAzSBp3
-Cb7CBACj8wi9tJ8k5U/VV74ORRBJltlqaWBtMm3q9zf5WN/Rb1fxnfpZjvvpDQjQ
-PY6W0RNufE8V27558aTfuniBAVBOvxn4xedS91L7PMB2D/32J09/ICYFT9ekYGTA
-5Yl2pcTLd8PZu8MjFUssa8k/oxG9XrM4Zd764eIOAT+FmrZX9bQtSGFkcmlhbiBa
-YmFyY2VhIChBcGFjaGUpIDxoYWRyaWFuQGFwYWNoZS5vcmc+iGYEExECACYFAkdm
-rcgCGwMFCQLH6gAGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAINWtR4xr1Mzuu
-AJ9mQdn6z2+gh5dDi6/fX7k1tISp7wCeON1lHB3RaQfJrabz63bLkKzROeOIRgQQ
-EQIABgUCR2a94wAKCRDs3+o8tEk7lJzcAJ9qAzsu1SoLekNJboMzJbsuQxrgNgCg
-vZcr6fHEXJajUejbOkd8caQQFQyIRgQQEQIABgUCR2a9SAAKCRCryO45u1UHRgf6
-AJ9BCGTjrCOQsrIfLYoIVxTVDT9pCACeMYK/6kaf80OHvBwlM3BwQbXBF065Ag0E
-R2at1xAIALiA44fG70XTj+XnlAbqq705B/yTCOTkOJh/Jayof9Rp78cok2eeCKOO
-HZ+YupiWcp6shdmyXAQGcfxyqcyskPIG42wwoDBONWj5kMvGbuJgooZRwDhbaPaY
-PRAHhPlCj+QTrzTsTJmy94bzYkkbfqNI3TOyvKUzmgYy9TLfLku7dLzncmSs+W/d
-bzjRpeoyLxQ+t7aeHPjxG93tIVvNrFHgAYGgvof5sWl0h0MitSVI7PHvVlHTHhNG
-dJ/quacr+xYLdF95eXDXGPvM0Jl/+UJk1GFdoDd1LXdzo0d4OzEMv2mWPZy+HVnB
-MFjTsrZp7+YIJj3WXU0WVgX0p+AYjE8AAwUH/ieONEnadpYN9bShfJKOiSNxlZ8L
-Y6L1nrWIhXtfibPIJsaW5AkFugVZfpMqvODV+ccildADJRQRvoRP7xUedztedeLw
-3ZsK5ApIoEVeEx9oSaS06QgQ8CFRptb3hRFAAmb9tzWalxpghXUR63fMO0bpaKDI
-VgFykuJyLjcW5RQsSHqfNk4LbfaSq3qCGL/3iVZlFtk4dbo70NLzFC7MnG27CWKK
-NPLjldTQXDU388GTzYqQTdy+SyPj9TzBFTlOATg+4a6KQsL9KMMMJQ56VX1c5Hyp
-WYkcDV9c/38/zVV80BfqYuX1DAJty3uRKn9+d86SYHDQ2YN4wDE/UtQpwsaITwQY
-EQIADwUCR2at1wIbDAUJAsfqAAAKCRAINWtR4xr1M27MAJ0VEQ9j2h5cgdhbrXnB
-bMLb26TK5ACgjeCxQDIepWB96CZMGDPb2CMdeFg=
-=2f9B
------END PGP PUBLIC KEY BLOCK-----
-
-pub  4096R/6A70C608 2009-06-10
-         Fingerprint=4AAC 7338 D125 F866 4167  6AF6 1522 6672 6A70 C608
-
-uid Hadrian Zbarcea <ha...@apache.org>
-sig  sig3  6A70C608 2009-06-10 __________ __________ [selfsig]
-sig  sig   B4493B94 2009-06-10 __________ __________ Guillaume Nodet <gn...@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: SKS 1.1.0
-
-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
-HzSpeZz97HtFnC/bNqM=
-=H3nh
------END PGP PUBLIC KEY BLOCK-----
-
-pub   4096R/F43856A3 2009-08-22
-      Key fingerprint = 51B5 2DC5 DD45 2F92 BE34  2CC2 858F C4C4 F438 56A3
-uid                  J. Daniel Kulp <da...@kulp.com>
-uid                  J. Daniel Kulp <dk...@apache.org>
-uid                  J. Daniel Kulp <dk...@progress.com>
-uid                  J. Daniel Kulp <da...@sopera.com>
-uid                  J. Daniel Kulp <dk...@talend.com>
-sub   4096R/6A36A392 2009-08-22
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.17 (GNU/Linux)
-
-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
-=xhT3
------END PGP PUBLIC KEY BLOCK-----
-pub   1024D/7FBBDC54 2007-09-24
-uid                  Freeman Fang <fr...@gmail.com>
-sig 3        7FBBDC54 2011-01-05  Freeman Fang <fr...@gmail.com>
-sub   1024g/9A39DC2F 2007-09-24
-sig          7FBBDC54 2007-09-24  Freeman Fang <fr...@gmail.com>
-
-pub   4096R/9F9C8684 2011-01-05
-uid                  Freeman(Yue) Fang (new signing key) <ff...@apache.org>
-sig 3        9F9C8684 2011-01-05  Freeman(Yue) Fang (new signing key) <ff...@apache.org>
-sig          7FBBDC54 2011-01-05  Freeman Fang <fr...@gmail.com>
-sub   4096R/C1270665 2011-01-05
-sig          9F9C8684 2011-01-05  Freeman(Yue) Fang (new signing key) <ff...@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
-
-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
-/Gq+wPWmBdjNBDyd5REj
-=aGvL
------END PGP PUBLIC KEY BLOCK-----
-pub   1024D/AE8DE9E4 2008-02-26
-uid                  Willem Jiang <ni...@apache.org>
-sig 3        AE8DE9E4 2011-01-07  Willem Jiang <ni...@apache.org>
-sig 2        7FBBDC54 2008-02-29  Freeman Fang <fr...@gmail.com>
-sub   2048g/7103E49E 2008-02-26
-sig          AE8DE9E4 2008-02-26  Willem Jiang <ni...@apache.org>
-
-pub   4096R/14D0DEE9 2011-01-07
-uid                  Willem Jiang (CODE SIGNING KEY) <ni...@apache.org>
-sig 3        14D0DEE9 2011-01-07  Willem Jiang (CODE SIGNING KEY) <ni...@apache.org>
-sig          AE8DE9E4 2011-01-07  Willem Jiang <ni...@apache.org>
-sub   4096R/FE639F22 2011-01-07
-sig          14D0DEE9 2011-01-07  Willem Jiang (CODE SIGNING KEY) <ni...@apache.org>
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
-
-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
-gxPfPeJOHeS8nl6gLwgouXCN/s2so4l1YeE3ig==
-=lu9b
------END PGP PUBLIC KEY BLOCK-----
-pub   4096R/2A239C2C 2011-11-01
-uid                  Christian Mueller (CODE SIGNING KEY) <cm...@apache.org>
-sig 3        2A239C2C 2011-11-01  Christian Mueller (CODE SIGNING KEY) <cm...@apache.org>
-sig          4E24517C 2011-11-10  Hyrum K. Wright (Personal) <hy...@hyrumwright.org>
-sig          C4FC9A65 2011-11-10  Bernd Bohmann <bo...@apache.org>
-sig          1F49ECA5 2011-11-10  Ulrich Staerk <ul...@apache.org>
-sig 2        F2EFD0F0 2011-11-17  Christopher David Schultz (Christopher David Schultz) <ch...@christopherschultz.net>
-sig          352ACF76 2011-11-11  Richard Keith Turner (CODE SIGNING KEY) <ke...@deenlo.com>
-sig          B84508EC 2011-11-11  Bryan W. Call <bc...@apache.org>
-sig          B6CD3280 2011-11-11  Udo Schnurpfeil <lo...@apache.org>
-sig          F5CBAE6B 2011-11-16  Akitoshi Yoshida (CODE SIGNING KEY) <ay...@apache.org>
-sig          0208FC11 2011-11-14  Carlos Sanchez <ca...@apache.org>
-sig          088335A9 2011-11-24  Chris Darroch (CODE SIGNING KEY) <ch...@apache.org>
-sig          E1303A99 2011-12-02  Marshall I Schor (Code Signing Key 2) <sc...@apache.org>
-sig          791485A8 2011-11-10  Jim Jagielski (Release Signing Key) <ji...@apache.org>
-sub   4096R/7501638F 2011-11-01
-sig          2A239C2C 2011-11-01  Christian Mueller (CODE SIGNING KEY) <cm...@apache.org>
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: SKS 1.1.0
-
-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
-21fnJtXDujubpXKuQqFl/SY=
-=drZJ
------END PGP PUBLIC KEY BLOCK-----
-pub   2048R/94CB9113 2013-02-04 [verf�llt: 2017-02-04]
-uid                  Babak Vahdat <ba...@swissonline.ch>
-sig 3        94CB9113 2013-02-04  Babak Vahdat <ba...@swissonline.ch>
-sub   2048R/CB41C100 2013-02-04 [verf�llt: 2017-02-04]
-sig          94CB9113 2013-02-04  Babak Vahdat <ba...@swissonline.ch>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
-Comment: GPGTools - http://gpgtools.org
-
-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
-S0maYlA=
-=OANb
------END PGP PUBLIC KEY BLOCK-----
-pub   2048R/9C8D3B59 2012-10-10
-uid                  Henryk Konsek <he...@apache.com>
-sub   2048R/4DF29C4A 2012-10-10
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1
-
-mQENBFB05RYBCAC5Gvz0zm/upu2XNyiDCxGe62vCjRWGo+lLRmlAYxYLm9iMI7Tf
-8Vh32TlgVCn0D0fKsFzz/7cmPCXjaTNH/8wc+cJrZVPgO4+9h9DKPADjtpbaYIgR
-toHMSLHH+jzcIJ4Q3uCXR0CoM7tDvybCfHGInkUTECYGEa6Owbl6yJ/KBfUqXxGk
-hayAnNXO3kQXWutqkCEfUmGbXHq7YYcPf2jQc3a1oIB1BQcMSGOlsko3Dvf/kOrr
-7tiEOAlpdkQRc5oSnw4wmWwU+Sij9kTdymka5lCBxhrgsnv4YhFgn4tXyhn405pR
-l4MBcvDanM3KpVHYzNKfb2SMgpVdqk1A8hxRABEBAAG0I0hlbnJ5ayBLb25zZWsg
-PGhla29uc2VrQGFwYWNoZS5jb20+iQE4BBMBAgAiBQJQdOUWAhsDBgsJCAcDAgYV
-CAIJCgsEFgIDAQIeAQIXgAAKCRBo2rMmnI07WYAiB/46HxLhPNNRQ0O1sThZZiXz
-OrELs0KePIDMb2Y++N/iRiR5qi/sCXmLD1AvHaknCN7fucWiVnRepGAgogC2rt8P
-+Cnfa+aFo+Cck8OXX915GS5uUoWJhdMWRAAgVBNg5LdiAQD0dkG2v8uzfAW1n/eR
-dvnSGTGzxAJ2kTQ9zRuljOKYn639w/ErfzN88jNpVNe658xHRgwxVOxxRuWHW5EF
-Z5YWZZDAkhmbKPk8nnbdqJGXI/mGbczGYIZt9CJcy5dbELmFoz6aFL1dYMwzHFjv
-LKZSrxLi52vXny3gNOCOki21cJWqnDYrlZTXoHteb3dftJvuf+yW5SjTRc0lx1me
-uQENBFB05RYBCAC8oKi2jJ39OAtRC7BTeaTIcTtTeoZel1xTL6jxOt5ijF8md2ra
-VL5lVhrthCWuWXanypT3Gc0lcn14RcFy3zXdEamRmihpKfSsMzbmvd2BD7PCzwk7
-6My8XRHXuwWCsjdn2RmtwUMNlkOVSMAMOiUEQg2nUOIQkzblMmzlYH+3aTrYxdn+
-y6J2/odY/SVrOH2crmImh/pPB3Q9u5LA+G3wXWsyccIBQgPqTtMLpEZyyL4/1MiX
-cjnpA90ICyhC0AYSAwNe0yshKy702ucGO3OwpNPEm5L6hprw0TUZDKCcQORr5sI9
-teR2rauC8Q582mIiB9WMN2vJ2MMUO6kGJtkpABEBAAGJAR8EGAECAAkFAlB05RYC
-GwwACgkQaNqzJpyNO1mFegf/bTN0NFDem3bGMSlEZedOTUMSRsEGZY7/nD0sfmLe
-gSsAoxKQg48/MnSFRGgWkSCSkerZRtjmLi0JguP0ufxcV/t5dd0nbYrIC/YrYHNu
-hijWCHSd+XY67RD9sQ3AV+SA0/4y8vZlnudrDz6SvP5EV3bZ+p8TBE7ch7OgyLM9
-zisG9BugFPsD5S7Zy0+ES2x4E+IxVYzZrUiajfT1PLrAgLfQ2TOwCggvSRU17xu8
-VcGkOXenZaUgBAp1p1GyxGlmFa8/VJAhsMzUvOUVU2T3nVKb/moMk7kZ34L11Ycm
-O89+mqkE1TM0W6OF2aHV+RbQgyyufR/gsvKBfIKxEDATew==
-=eNwt
------END PGP PUBLIC KEY BLOCK-----
-
-pub   4096R/5942C049 2015-10-15
-uid                  Gregor Zurowski <gz...@apache.org>
-sig 3        5942C049 2015-10-15  Gregor Zurowski <gz...@apache.org>
-sub   4096R/A48CCE10 2015-10-15
-sig          5942C049 2015-10-15  Gregor Zurowski <gz...@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1
-
-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
-uxLacDc=
-=QAF1
------END PGP PUBLIC KEY BLOCK-----
-
-pub   4096R/6B400F69 2015-12-17 [expires: 2019-12-17]
-uid       [ultimate] Claus Ibsen <cl...@gmail.com>
-uid       [ultimate] [jpeg image of size 13356]
-sub   4096R/5E3FACEC 2015-12-17 [expires: 2019-12-17]
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Comment: GPGTools - https://gpgtools.org
-
-mQINBFZybkIBEADjxTHn+rgc0kSVC7AbzFAI3IwVaSl0G1NOP+6lxZ/JbIlEONat
-yJCpiDz9vPV5zSv0ErkRLXxzS2jl0letfqcaVl1NfQFxoKBrh+2z/S6jHWaFgItz
-y7rdGNnPZBgPIINzQ0EGz9rYS3QatdurGZB8U06NEgLWOhpNFSZ9UQZKU6WDHhw9
-9y2jcgfhxEdGxMUv/KxoWY9CICSLMrtLHLQmshLW24aIXZJXhi6X2wjRJdrAS1gb
-1kBci71st20i3EU9qP5vKwxefKEhqx5D3oBwVST3wQyI9t5yl1XnQwffCcFDkhg0
-NeRZUgntA9cdJ36qoO5g9dXOaUplm1gAqHes3uM29O7J4RabXdHv6wASeDWIP2NI
-iGyyMOnC16h0n5IaTD294bLXo7/iOuuXPxMXfq7qq6p2n/bRVNrpX3XT0gIuowHE
-rtHqPBixTAOeaU1S9qWmyBgF0OuW+GD2SkU8moDEIAGItYmu+riFib0Hv4I3cnRJ
-iPeP1Ne0f10tceUNLC5hBsmIfJA5DURDMGQONZZUePgwkcpT6IPvIQhdemWE62B7
-v2v/gnlidWe6QAZa/LJmr2s88p59CGpm1x7SXKbxGMr+T90n2NTS15cn9XCi7sF0
-A9LTEhaePO3uPzMORmbjjmo5VjwhlBNrvItr9dHgxPDUeXMZmWCr+K0rMwARAQAB
-tCNDbGF1cyBJYnNlbiA8Y2xhdXMuaWJzZW5AZ21haWwuY29tPokCPQQTAQoAJwUC
-VnJuQgIbAwUJB4YfgAULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRDdcFCna0AP
-aYmKEACfLh42vaslFiGJsgw25oWVTKDqKkBEukHWCqcBMjkoClBWLD5sl1pSnCiR
-tlUnwHMwyQz7d/jfsNDFvuZrAVh1Tn6ZhOUzDWaP11N2dJlB0fFCu5LDoEY2l3xV
-0Ku7SEh9Kqbf/Ia3rlYYVafwFarFzyydE9gTlQMxC5kuef/SHDOAZDYyXY1f+hCw
-63CuylDKTZQzPi1WgBpBeOpSZaIdeMGg9+YzaH5414yyEG0eUFialR8OVvpXLyNe
-95RFH+74DPXcGvU55QidKnDuEMCpoPgscYPyBwk/tJC6/+kIN63xk24Vxs6PK0lD
-QTN+R9tTUpx6peg1cpxzul+hUKIqWCNLKaC8r4dNvqlfg5onUqxGPloaVZciVqhg
-v6Pg2spFoDMdLeAvS7xIEKTz3Zsu2mo3YisqoD9QyX1CZ+qyzlJH2CrBnid+4wUi
-kBnCvjXPjhxEqcl6vvv2B0ZpxvYlsMJkegKKSEqUzLHLMSswrsDFX0wMT9nnbD/P
-xlJtSSYwHwd+xd4ABgRLyW2Z2ExeNABH45LHoIyqp5jokYfDzLIb7VsrN+d1l/PN
-Rz5xoai49GTXYk9gFyRC2eETzQs5CMkaX1uGQd8imv2vpC8ZxTSJhm1PJDaMuURL
-egUvNXl8amjU95ZBpwwpsuvoxCAmQbcv7KMt7JuBb7q2cCtM1dH/AAA0Qv8AADQ9
-ARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAABIAEgAAP/hAGRFeGlmAABN
-TQAqAAAACAADAQYAAwAAAAEAAgAAARIAAwAAAAEAAQAAh2kABAAAAAEAAAAyAAAA
-AAADoAEAAwAAAAEAAQAAoAIABAAAAAEAAAFAoAMABAAAAAEAAAFzAAAAAP/hCSFo
-dHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/
-IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1s
-bnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4g
-PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy
-LXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIv
-PiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
-ICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz4A/+0AOFBob3Rvc2hvcCAzLjAA
-OEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIAXMB
-QAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1
-EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR
-8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdo
-aWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE
-xcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEB
-AQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQF
-ITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3
-ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SV
-lpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo
-6ery8/T19vf4+fr/2wBDAAoKCgoKChEKChEYERERGCEYGBgYISkhISEhISkyKSkp
-KSkpMjIyMjIyMjI8PDw8PDxGRkZGRk5OTk5OTk5OTk7/2wBDAQwNDRQSFCISEiJS
-Ny03UlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJS
-UlJSUlL/3QAEABT/2gAMAwEAAhEDEQA/AKPGMYpoxt6U7pTRyKCA5FHuKWikA3FB
-p3PWm/WgA5pB6Cne1HvTAbwBS9qMUnSgA/Kij6UoGBnFIBOvNJxjNIzY5qLLPwtJ
-uxcYt7D2kUZqAzE8CrMdo8mMitGGwXgYzWTqdjojQ7mIGlbOBSrHKw5rp0sMYZR7
-GrC2SgHI7dahzZqqUTk/IlIzzzTltZsZGTXUm125Uc09IcHp7/4Uudlezj2ORMc6
-djRlx94V2BtuQCMg881aGnwSD5lANP2jJdCLOIDcZNOyOtddLokcgynBxWPcaLcw
-ZKjI9quNXuZSw9tjK4/L1pKeyshIYYporZO5zuLW4lJjPWl+lFMkSgDindKQ0AJQ
-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
-+T34FjE=
-=FJmK
------END PGP PUBLIC KEY BLOCK-----
-
-pub   4096R/1AC2F4BA 2013-03-06
-uid                  Jonathan Anstey (CODE SIGNING KEY) <ja...@gmail.com>
-sig 3        1AC2F4BA 2013-03-06  Jonathan Anstey (CODE SIGNING KEY) <ja...@gmail.com>
-sub   4096R/8F2837E7 2013-03-06
-sig          1AC2F4BA 2013-03-06  Jonathan Anstey (CODE SIGNING KEY) <ja...@gmail.com>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1
-
-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
-advtsGhpGw2bQvnPEt4JVU+CV6/I
-=SRdD
------END PGP PUBLIC KEY BLOCK-----
-
-pub   2048R/02FF4100 2015-02-05
-uid                  Andrea Cosentino (Chiave) <an...@yahoo.com>
-sig 3        02FF4100 2015-02-05  Andrea Cosentino (Chiave) <an...@yahoo.com>
-sub   2048R/D7B65D33 2015-02-05
-sig          02FF4100 2015-02-05  Andrea Cosentino (Chiave) <an...@yahoo.com>
-
-pub   4096R/FD34417D 2015-04-23
-uid                  Andrea Cosentino (COMMITER KEY) <ac...@apache.org>
-sig 3        FD34417D 2015-04-23  Andrea Cosentino (COMMITER KEY) <ac...@apache.org>
-sub   4096R/E334BF85 2015-04-23
-sig          FD34417D 2015-04-23  Andrea Cosentino (COMMITER KEY) <ac...@apache.org>
-
-pub   4096R/B4889CC0 2015-04-24
-uid                  Andrea Cosentino (NEW COMMITTER KEY) <ac...@apache.org>
-sig 3        B4889CC0 2015-04-24  Andrea Cosentino (NEW COMMITTER KEY) <ac...@apache.org>
-sub   4096R/D31B42C9 2015-04-24
-sig          B4889CC0 2015-04-24  Andrea Cosentino (NEW COMMITTER KEY) <ac...@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.22 (GNU/Linux)
-
-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
-Wg==
-=4Now
------END PGP PUBLIC KEY BLOCK-----
-pub   4096R/229754D2 2019-03-05
-uid                  Nicola Ferraro <nf...@apache.org>
-sub   4096R/A5AAD514 2019-03-05
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-SaGp
-=GGoO
------END PGP PUBLIC KEY BLOCK-----
-pub   rsa4096 2016-04-07 [SC]
-      33E8BA5A41AB4B428475386137461E41A7B768D7
-uid           [ unknown] Luca Burgazzoli <lb...@apache.org>
-sig 3        37461E41A7B768D7 2016-04-07  Luca Burgazzoli <lb...@apache.org>
-sub   rsa4096 2016-04-07 [E]
-sig          37461E41A7B768D7 2016-04-07  Luca Burgazzoli <lb...@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQINBFcGZDsBEACm9YSFt0/qxZ9YO2pArHdfZWCENDLFWaK9/gJw0QBm75aEZVyE
-Hmr6izJJanqzQR51TQljAPb4ZSmXxlLnPA57Ouo8RzhcogyAHO91juZD6ANfvGrC
-LYnQxGGuAG+IYy3h9l2evZJecqOuS0qT6W36Zk8pGEhhFRJwgiih9sYKdkQmWJpf
-vxWkfnqap8v1S71j57IkdIeZiCAOVFUZHGSqzT/aNUuc7JhBDWZuC0mte82UEPF7
-nL5ghJtDatBz/gXN9inic1NqT+LPQRc1xxavGVoLqChTSLHRZB4abm4KqTGG4h0g
-Nzxc8RwT4lP150lYZIyeJtv5gZI/osfn/lrbjd7CDsb+XLU5Y7XCf0C32xWJVoHD
-CArObpQ40J7gsHCrTom1cbs5vY7RQ7n2zUrmchcyIgN85Qv5qsVWjBTinmcJ2pRK
-cG6AwAtZ23yE0dFX+1Qhmkusz9DQtEse7J5pQYsAb3ey8l7Ce112effJ/LO6hVu0
-GpTQDdzqc1wo2gLf+wMiF7oInoWKUB4NTxwylTyaJbyTOHaFodeHoD8i+TSt0gvV
-mZPUSJSnlMVIrQHAiTXC2vlkz5/sn+zSXqjRcGMNQ+D3Ob14BTB8iQrRrKlqw2Js
-mHXh+uWlHUHGoaFUHGZWhFFTbKPaVQcVS3d7QNoct5jkzCpfIF3wflEIZwARAQAB
-tChMdWNhIEJ1cmdhenpvbGkgPGxidXJnYXp6b2xpQGFwYWNoZS5vcmc+iQI4BBMB
-AgAiBQJXBmQ7AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRA3Rh5Bp7do
-15tyEACi4W0dLPB6ILf9hykLEBStRStKKPyLgHPepEYF3xe4A4SjUk33vAKchmBk
-bx/x4fNH5ViX1Ln4k/i1y24OVKg0ZOdPpMJBFPBxXhfhSGT8iWDMyudotcukzAFL
-LjpY8Pv21xwToFDTTyNbhaTx9nho57bTmK1jTKKzSu5gr83ALz+2ok9di15NUtPf
-JI+VQVytEAA70tapCupQogYFHmDiaVRNr8c82huIVJjKGmhrJSVSIjepn8JpJ+wK
-hSy5huJGQh2AgM/GXK1Cjaf/59L6C7AmlZlwOaQiDidafCXXtfeDzWDqTMzNCaoH
-tx31H8aR8k687YtAc40LLDiyXmlUxXWqljGH7eMi3CyhlIw7Uggs5En1h606wg3z
-VwmNFDwudgODRQKDNMA84Wa7gdsTkOZmQ1zBY3oC09CKAE0ycCYi62Zaf+Uzb0p9
-DXkDC35Lip86IWuzpt+G25i5kwXDnU8IJwewOEnrDMmGAfl6JImL2//VSAr1ifzG
-z94TY0ZAmc66dDWn7PqTUFt3rsw6EvJMwy00wNHVVfIr9habS8JddqLdBvoCBx0O
-HeqEL7k/rYm6OWAw8jtydif/DoevScSU2/rT8/RtKnV1kC0PhwsFptoESglNeBX0
-vod5cYM7kKToN9zZMgRVvOODQ0zwHMDAKkSwX1LPtorHQ5QcULkCDQRXBmQ7ARAA
-wtfl/Huq4aIfQ8v/VxkfYS18+/XL1ZIiNtVH5DwPgBmk55dGzqqrx7C3Xx1yPqvm
-ZlHuafyQ2ier1/NJ9hezGGLxSCS1b5G45nLGBAy+1vnQEH6o4hTnMte6EQxcQzYi
-tLQSU+u/sDaV846FDZFCxKgqXYlTDO9v9k292GKcmKanD8SPTeGTdFsaSVigrBvj
-wTsxfVYr8sex/JF4bEN7oCqqQmSM5ABLR55NiViU/PWHUBxnD5kCCnPM0m6iITLW
-3vFZDIQBn6fi4Nb1qGcB4Yd9LmukRYkYH3rEeCLNeVRkPR8tZfxkxr9xQfzN1GHV
-d831CVHGMUs/5oVO/iYpHRpua0XzorthzCSzrMmttb9ueRp5D9wpv6DY0nC3bUBE
-WZ+xsRZRr1gTBitDGsNO1AmcSHJ61rPwiQ2xrbl4m0ZTlYlBmNqwl7xtu4Lg4Pz8
-FxfixxF5fomH4Rrq4bfV7YWUZSsVES5ZfOJ4ZYn3+O1ACR13jpH/sGiY1A0gIS9o
-BBSdJQYhjVrxLwtJ3S/b6DXRpsiEvFiX1Q75MxpVkjZ6dMDTHcEKICEY8gxbLIfE
-ibdXEpjsumhTTB0xqOuFCnWiGUksWmlCObv+3P0kOMwtb2XRz2t+uESwLyrsh7dX
-BJh1mXroPuJ136l90EL1LS9gkLa3HkHFx5uxnZjn0TcAEQEAAYkCHwQYAQIACQUC
-VwZkOwIbDAAKCRA3Rh5Bp7do1xOxD/wJf7olyMoqavLOyw3TR8UBw25fVxmgblSc
-E5QRBSNLSxdN0Cn/dzj21SaIoiibQOS7ma6yIdBH+6cYhZ3DsDZkdadbGOFYlQ6n
-XsTqrVsjGv5AYLr1GYQgBKiu5C61dGsMwP187MlwHPm0e0JGHoBHkL5DNw7WK57d
-j0SgiYtXkfyECSkHW0qu+Nvq7pZNKXsfn/nyUK9ImrVbHZ7g5+bXFJOnKiid3Gxd
-yzqVZKtSvQGZHGJW6Us/YP8j2S5F/KAIsBVuXeoKCceBo1gJOrsVMrP0RWuQH+LC
-068K/OLKWtFk7a4ZSnAoPXzyJ0TJdDALrYlLdfuJ1tYD1PezGKLYGfj3GCRNT3hp
-+57u98VPNVIkRMwP+VMYf8Y3qYehhcbZ8Tjmwuj8U68H2AIJO5IM2N4wd5xb9Mnt
-/o9EOt1jOBMDsprpDN3+jhS/cRBgvgtXBM6sFoUoxuKih3fHXm+HXcgGp6CBCieX
-QaxIftPa9/ylwFM0NRPcgwoZuT5EnsMiGYwOFYu/rkBR/GINxU+TerexdidKW6yM
-MuJKuyFEl8Tw4VE9tUAc0rF0ggUJ96RtEkQrVzlObqZBOGhfCBoanux5CbWcvSvw
-Tv+k57x2/Dc9oRSo3kBtXeiXjTFHPgqNPCDyZyM601CZX6aqOAhvcztoPv4Xs39j
-Bq6lxl6uAA==
-=f/Ot
------END PGP PUBLIC KEY BLOCK-----
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
diff --git a/Makefile b/Makefile
deleted file mode 120000
index 770e545..0000000
--- a/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-./script/Makefile
\ No newline at end of file
diff --git a/NOTICE b/NOTICE
deleted file mode 100644
index f4f1281..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
\ No newline at end of file
diff --git a/README.adoc b/README.adoc
index 7b31fe3..7202666 100644
--- a/README.adoc
+++ b/README.adoc
@@ -1,396 +1,3 @@
-= Apache Camel K
+= Apache Camel K API
 
-image:https://github.com/apache/camel-k/workflows/build/badge.svg["Build", link="https://github.com/apache/camel-k/actions"]
-image:https://goreportcard.com/badge/github.com/apache/camel-k["Go Report Card", link="https://goreportcard.com/report/github.com/apache/camel-k"]
-image:https://godoc.org/github.com/apache/camel-k?status.svg["GoDoc", link="https://godoc.org/github.com/apache/camel-k"]
-image:https://img.shields.io/github/license/openshift/origin.svg?maxAge=2592000["Licensed under Apache License version 2.0", link="https://www.apache.org/licenses/LICENSE-2.0"]
-image:https://badges.gitter.im/apache/camel-k.png["Chat on Gitter", link="https://gitter.im/apache/camel-k"]
-
-image:https://github.com/apache/camel-k/workflows/kubernetes/badge.svg["Kubernetes", link="https://github.com/apache/camel-k/actions"]
-image:https://github.com/apache/camel-k/workflows/knative/badge.svg["Knative", link="https://github.com/apache/camel-k/actions"]
-image:https://img.shields.io/travis/apache/camel-k/master.svg?label=openshift["OpenShift", link="https://travis-ci.org/apache/camel-k"]
-
-Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers.
-
-[[getting-started]]
-== Getting Started
-
-Camel K allows to run integrations directly on a Kubernetes or OpenShift cluster.
-To use it, you need to be connected to a cloud environment or to a local cluster created for development purposes.
-
-If you need help on how to create a local development environment based on *Minishift* or *Minikube*, you can follow the https://camel.apache.org/camel-k/latest/installation/installation.html[local cluster setup guide].
-
-[[installation]]
-=== Installation
-
-Make sure you apply specific configuration settings for your cluster before installing Camel K. Customized instructions are needed for
-the following cluster types:
-
-- https://camel.apache.org/camel-k/latest/installation/minikube.html[Minikube]
-- https://camel.apache.org/camel-k/latest/installation/minishift.html[Minishift]
-- https://camel.apache.org/camel-k/latest/installation/gke.html[Google Kubernetes Engine (GKE)]
-- https://camel.apache.org/camel-k/latest/installation/openshift.html[OpenShift]
-
-Other cluster types (such as OpenShift clusters) should not need prior configuration.
-
-To start using Camel K you need the **"kamel"** binary, that can be used to both configure the cluster and run integrations.
-Look into the https://github.com/apache/camel-k/releases[release page] for latest version of the `kamel` tool.
-
-If you want to contribute, you can also **build it from source!** Refer to the https://camel.apache.org/camel-k/latest/developers.html[contributing guide]
-for information on how to do it.
-
-Once you have the "kamel" binary, log into your cluster using the standard "oc" (OpenShift) or "kubectl" (Kubernetes) client tool and execute the following command to install Camel K:
-
-```
-kamel install
-```
-
-This will configure the cluster with the Camel K custom resource definitions and install the operator on the current namespace.
-
-IMPORTANT: Custom Resource Definitions (CRD) are cluster-wide objects and you need admin rights to install them. Fortunately this
-operation can be done *once per cluster*. So, if the `kamel install` operation fails, you'll be asked to repeat it when logged as admin.
-For Minishift, this means executing `oc login -u system:admin` then `kamel install --cluster-setup` only for first-time installation.
-
-=== Running an Integration
-
-After the initial setup, you can run a Camel integration on the cluster by executing:
-
-```
-kamel run examples/Sample.java
-```
-
-During your first run you may see your console stuck with the following message:
-
-```
-integration "sample" created
-integration "sample" in phase Waiting For Platform
-```
-
-NOTE: It will take some time for your integration to get started for the first time. This is because the camel-k operator has to pull and cache the camel-k builder images into the cluster’s registry.
-
-You can follow this process by watching the pods in the namespace where the operator is running:
-
-```
-kubectl get pods -w
-```
-
-You should see something like:
-
-```
-$ kubectl get pods -w
-NAME                                READY   STATUS      RESTARTS   AGE
-camel-k-cache                       0/1     Completed   0          3m29s
-camel-k-groovy-builder              1/1     Running     0          32s
-camel-k-jvm                         0/1     Completed   0          61s
-camel-k-jvm-builder                 0/1     Completed   0          2m13s
-camel-k-operator-587b579567-fkz54   1/1     Running     1          43m
-camel-k-groovy   0/1   Pending   0     0s
-camel-k-groovy   0/1   ContainerCreating   0     0s
-camel-k-groovy   1/1   Running   0     2s
-camel-k-groovy   0/1   Completed   0     4s
-camel-k-kotlin-builder   0/1   Pending   0     0s
-camel-k-kotlin-builder   0/1   Pending   0     0s
-camel-k-kotlin-builder   0/1   ContainerCreating   0     0s
-camel-k-groovy-builder   0/1   Completed   0     75s
-...
-```
-
-After a couple of minutes you can see your integration runnning. To see the output log of your integration container get the pod id:
-
-```
-kubectl get pods | grep sample
-sample-67699569c4-724dv             1/1     Running     0          15m
-```
-
-And then see the logs using:
-
-```
-kubectl logs -f sample-67699569c4-724dv
-```
-
-An output like this should appear:
-
-```
-Starting the Java application using /opt/run-java/run-java.sh ...
-...
-2019-05-08 19:35:21.883 INFO  [main] DefaultCamelContext - Apache Camel 2.23.2 (CamelContext: camel-k) started in 0.874 seconds
-2019-05-08 19:35:22.889 INFO  [Camel (camel-k) thread #2 - timer://tick] route1 - Hello Camel K!
-2019-05-08 19:36:22.881 INFO  [Camel (camel-k) thread #2 - timer://tick] route1 - Hello Camel K!
-...
-```
-
-A "Sample.java" file is included in the link:/examples[/examples] folder of this repository. You can change the content of the file and execute the command again to see the changes.
-
-==== Configure Integration properties
-
-Properties associated to an integration can be configured either using a ConfigMap/Secret or by setting using the "--property" flag, i.e.
-
-```
-kamel run --property my.message=test examples/props.js
-```
-```
-kamel run --configmap=<your name here> examples/props.js
-```
-Note: to create the config map first create a file called application.properties which contains lines with key=value pairs
-e.g. my.message="The text to display"
-Create the config map in the usual manner e.g.
-```
-kubectl create configmap <your name here>  --from-file=application.properties
-```
-
-==== Configure Integration Logging
-
-camel-k runtime uses log4j2 as logging framework and can be configured through integration properties.
-If you need to change the logging level of various loggers, you can do so by using the `logging.level` prefix:
-
-```
-logging.level.org.apache.camel = DEBUG
-```
-
-==== Configure Integration Components
-
-camel-k component can be configured programmatically inside an integration or using properties with the following syntax.
-
-```
-camel.component.${scheme}.${property} = ${value}
-```
-
-As example if you want to change the queue size of the seda component, you can use the following property:
-
-```
-camel.component.seda.queueSize = 10
-```
-
-==== Configure Maven settings
-
-Maven settings can be configured by providing a custom settings.xml through a ConfigMap or secret.
-The source for maven settings can be configured using either the `kamel` CLI at installation time or by editing Camel K's IntegrationPlatform:
-
-- cli:
-+
-.Syntax
-[source]
-----
-kamel install --maven-settings=configmap|secret:name[/key]
-----
-+
-.Example
-[source]
-----
-kamel cmd --maven-settings=configmap:maven-settings/settings.xml
-----
-
-- IntegrationPlatform:
-+
-[source,yaml]
-----
-apiVersion: camel.apache.org/v1
-kind: IntegrationPlatform
-metadata:
-  labels:
-    app: camel-k
-  name: camel-k
-spec:
-  build:
-    maven:
-      settings:
-        configMapKeyRef:
-          key: settings.xml
-          name: maven-settings
-----
-
-To quickly create a config map you can use the following command:
-
-[source]
-----
-kubectl create configmap maven-settings --from-file=settings.xml
-----
-
-
-As an installation shortcut, additional maven repositories can be alternatively added using the `--maven-repository` option
-
-
-[source]
-----
-kamel cmd --maven-repository http://repo1.my-company.com --maven-repository http://repo2.my-company.com
-----
-
-A repository url follow conventions used to configure additional repositories in https://karaf.apache.org[_Apache Karaf_] so it can be appended with zero or more of the following flags:
-
-* **@snapshots**: the repository contains snapshots
-* **@noreleases**: the repository does not contain any released artifacts
-* **@id=repository.id**: the id for the repository
-
-[source]
-----
-kamel install --maven-repository http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases
-----
-
-This results in:
-
-[source,xml]
-----
-<repositories>
-  <repository>
-    <id>apache</id>
-    <url>http://repository.apache.org/content/groups/snapshots-group</url>
-    <snapshots>
-      <enabled>true</enabled>
-    </snapshots>
-    <releases>
-      <enabled>false</enabled>
-    </releases>
-  </repository>
-</repositories>
-----
-
-IMPORTANT
-====
-the options `--maven-settings` and `--maven-repository` are mutually exclusive
-====
-
-==== Configure Integration Volumes
-
-It's possible to mount persistent volumes into integration containers by using the `-v` or `--volume` flag. The format of volume flag value is similar to that of the docker CLI. But instead of specifying a host path to mount from, you reference the name of a `PersistentVolumeClaim` that you have already configured within the cluster. E.g
-
-```
-kamel run examples/Sample.java -v myPvcName:/some/path
-```
-
-==== Configure Environment Variables
-
-It's possible to configure environment variables for integration containers by using the `-e` or `--env` flag:
-
-```
-kamel run examples/Sample.java -e MY_ENV_VAR=some-value
-```
-
-=== Running Integrations in "Dev" Mode for Fast Feedback
-
-If you want to iterate quickly on an integration to have fast feedback on the code you're writing, you can use by running it in **"dev" mode**:
-
-```
-kamel run examples/Sample.java --dev
-```
-
-The `--dev` flag deploys immediately the integration and shows the integration logs in the console. You can then change the code and see
-the **changes automatically applied (instantly)** to the remote integration pod.
-
-The console follows automatically all redeploys of the integration.
-
-Here's an example of the output:
-
-```
-[nferraro@localhost camel-k]$ kamel run examples/Sample.java --dev
-integration "sample" created
-integration "sample" in phase Building
-integration "sample" in phase Deploying
-integration "sample" in phase Running
-[1] Monitoring pod sample-776db787c4-zjhfr[1] Starting the Java application using /opt/run-java/run-java.sh ...
-[1] exec java -javaagent:/opt/prometheus/jmx_prometheus_javaagent.jar=9779:/opt/prometheus/prometheus-config.yml -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:+ExitOnOutOfMemoryError -cp .:/deployments/* org.apache.camel.k.jvm.Application
-[1] [INFO ] 2018-09-20 21:24:35.953 [main] Application - Routes: file:/etc/camel/conf/Sample.java
-[1] [INFO ] 2018-09-20 21:24:35.955 [main] Application - Language: java
-[1] [INFO ] 2018-09-20 21:24:35.956 [main] Application - Locations: file:/etc/camel/conf/application.properties
-[1] [INFO ] 2018-09-20 21:24:36.506 [main] DefaultCamelContext - Apache Camel 2.22.1 (CamelContext: camel-1) is starting
-[1] [INFO ] 2018-09-20 21:24:36.578 [main] ManagedManagementStrategy - JMX is enabled
-[1] [INFO ] 2018-09-20 21:24:36.680 [main] DefaultTypeConverter - Type converters loaded (core: 195, classpath: 0)
-[1] [INFO ] 2018-09-20 21:24:36.777 [main] DefaultCamelContext - StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
-[1] [INFO ] 2018-09-20 21:24:36.817 [main] DefaultCamelContext - Route: route1 started and consuming from: timer://tick
-[1] [INFO ] 2018-09-20 21:24:36.818 [main] DefaultCamelContext - Total 1 routes, of which 1 are started
-[1] [INFO ] 2018-09-20 21:24:36.820 [main] DefaultCamelContext - Apache Camel 2.22.1 (CamelContext: camel-1) started in 0.314 seconds
-
-```
-
-=== Dependencies and Component Resolution
-
-Camel components used in an integration are automatically resolved. For example, take the following integration:
-
-```
-from("imap://admin@myserver.com")
-  .to("seda:output")
-```
-
-Since the integration is using the **"imap:" prefix**, Camel K is able to **automatically add the "camel-mail" component** to the list of required dependencies.
-This will be transparent to the user, that will just see the integration running.
-
-Automatic resolution is also a nice feature in `--dev` mode, because you are allowed to add all components you need without exiting the dev loop.
-
-You can also use the `-d` flag to pass additional explicit dependencies to the Camel client tool:
-
-```
-kamel run -d mvn:com.google.guava:guava:26.0-jre -d camel-mina2 Integration.java
-```
-
-=== Not Just Java
-
-Camel K supports multiple languages for writing integrations:
-
-.Languages
-[options="header"]
-|=======================
-| Language			| Description
-| Java				| Integrations written in plain Java DSL are supported.
-| XML				| Integrations written in plain XML DSL are supported (Spring XML or Blueprint not supported).
-| Groovy			| Groovy `.groovy` files are supported (experimental).
-| JavaScript        | JavaScript `.js` files are supported (experimental).
-| Kotlin			| Kotlin Script `.kts` files are supported (experimental).
-|=======================
-
-More information about supported languages is provided in the https://camel.apache.org/camel-k/latest/languages/languages.html[languages guide].
-
-Integrations written in different languages are provided in the link:/examples[examples] directory.
-
-An example of integration written in JavaScript is the link:/examples/dns.js[/examples/dns.js] integration.
-Here's the content:
-
-```
-// Lookup every second the 'www.google.com' domain name and log the output
-from('timer:dns?period=1000')
-    .routeId('dns')
-    .setHeader('dns.domain')
-        .constant('www.google.com')
-    .to('dns:ip')
-    .to('log:dns');
-```
-
-To run it, you need just to execute:
-
-```
-kamel run examples/dns.js
-```
-
-=== Traits
-
-The details of how the integration is mapped into Kubernetes resources can be *customized using traits*.
-More information is provided in the https://camel.apache.org/camel-k/latest/traits/traits.html[traits section].
-
-=== Monitoring the Status
-
-Camel K integrations follow a lifecycle composed of several steps before getting into the `Running` state.
-You can check the status of all integrations by executing the following command:
-
-```
-kamel get
-```
-
-[[contributing]]
-== Contributing
-
-We love contributions and we want to make Camel K great!
-
-Contributing is easy, just take a look at our https://camel.apache.org/camel-k/latest/developers.html[developer's guide].
-
-[[uninstalling]]
-== Uninstalling
-
-If you really need to, it is possible to completely uninstall Camel K from OpenShift or Kubernetes with the following command, using the "oc" or "kubectl" tool:
-
-```
-# kubectl on plain Kubernetes
-oc delete all,pvc,configmap,rolebindings,clusterrolebindings,secrets,sa,roles,clusterroles,crd -l 'app=camel-k'
-```
-
-[[licensing]]
-== Licensing
-
-This software is licensed under the terms you may find in the file named LICENSE in this directory.
+This is a temporary branch that mirrors the Camel K APIs.
diff --git a/addons/master/master.go b/addons/master/master.go
deleted file mode 100644
index a88d90c..0000000
--- a/addons/master/master.go
+++ /dev/null
@@ -1,214 +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 master
-
-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/trait"
-	"github.com/apache/camel-k/pkg/util"
-	"github.com/apache/camel-k/pkg/util/kubernetes"
-	"github.com/apache/camel-k/pkg/util/uri"
-	"k8s.io/apimachinery/pkg/runtime"
-)
-
-// The Master trait allows to configure the integration to automatically leverage Kubernetes resources for doing
-// leader election and starting *master* routes only on certain instances.
-//
-// It's activated automatically when using the master endpoint in a route, e.g. `from("master:lockname:telegram:bots")...`.
-//
-// NOTE: this trait adds special permissions to the integration service account in order to read/write configmaps and read pods.
-// It's recommended to use a different service account than "default" when running the integration.
-//
-// +camel-k:trait=master
-type masterTrait struct {
-	trait.BaseTrait `property:",squash"`
-	// Enables automatic configuration of the trait.
-	Auto *bool `property:"auto"`
-	// When this flag is active, the operator analyzes the source code to add dependencies required by delegate endpoints.
-	// E.g. when using `master:lockname:timer`, then `camel:timer` is automatically added to the set of dependencies.
-	// It's enabled by default.
-	IncludeDelegateDependencies *bool `property:"include-delegate-dependencies"`
-	// Name of the configmap that will be used to store the lock. Defaults to "<integration-name>-lock".
-	Configmap *string `property:"configmap"`
-	// Label that will be used to identify all pods contending the lock. Defaults to "camel.apache.org/integration".
-	LabelKey *string `property:"label-key"`
-	// Label value that will be used to identify all pods contending the lock. Defaults to the integration name.
-	LabelValue           *string `property:"label-value"`
-	delegateDependencies []string
-}
-
-// NewMasterTrait --
-func NewMasterTrait() trait.Trait {
-	return &masterTrait{
-		BaseTrait: trait.NewBaseTrait("master", trait.TraitOrderBeforeControllerCreation),
-	}
-}
-
-const (
-	masterComponent = "master"
-)
-
-func (t *masterTrait) Configure(e *trait.Environment) (bool, error) {
-	if t.Enabled != nil && !*t.Enabled {
-		return false, nil
-	}
-
-	if !e.IntegrationInPhase(v1.IntegrationPhaseInitialization, v1.IntegrationPhaseDeploying, v1.IntegrationPhaseRunning) {
-		return false, nil
-	}
-
-	if t.Auto == nil || *t.Auto {
-		// Check if the master component has been used
-		sources, err := kubernetes.ResolveIntegrationSources(t.Ctx, t.Client, e.Integration, e.Resources)
-		if err != nil {
-			return false, err
-		}
-
-		meta := metadata.ExtractAll(e.CamelCatalog, sources)
-
-		if t.Enabled == nil {
-			for _, endpoint := range meta.FromURIs {
-				if uri.GetComponent(endpoint) == masterComponent {
-					enabled := true
-					t.Enabled = &enabled
-				}
-			}
-		}
-
-		if t.Enabled == nil || !*t.Enabled {
-			return false, nil
-		}
-
-		if t.IncludeDelegateDependencies == nil || *t.IncludeDelegateDependencies {
-			t.delegateDependencies = findAdditionalDependencies(e, meta)
-		}
-
-		if t.Configmap == nil {
-			val := fmt.Sprintf("%s-lock", e.Integration.Name)
-			t.Configmap = &val
-		}
-
-		if t.LabelKey == nil {
-			val := "camel.apache.org/integration"
-			t.LabelKey = &val
-		}
-
-		if t.LabelValue == nil {
-			t.LabelValue = &e.Integration.Name
-		}
-	}
-
-	return t.Enabled != nil && *t.Enabled, nil
-}
-
-func (t *masterTrait) Apply(e *trait.Environment) error {
-
-	if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
-		util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, "mvn:org.apache.camel.k/camel-k-runtime-master")
-
-		// Master sub endpoints need to be added to the list of dependencies
-		for _, dep := range t.delegateDependencies {
-			util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, dep)
-		}
-
-	} else if e.IntegrationInPhase(v1.IntegrationPhaseDeploying, v1.IntegrationPhaseRunning) {
-		serviceAccount := e.Integration.Spec.ServiceAccountName
-		if serviceAccount == "" {
-			serviceAccount = "default"
-		}
-
-		var templateData = struct {
-			Namespace      string
-			Name           string
-			ServiceAccount string
-		}{
-			Namespace:      e.Integration.Namespace,
-			Name:           fmt.Sprintf("%s-master", e.Integration.Name),
-			ServiceAccount: serviceAccount,
-		}
-
-		role, err := loadResource(e, "master-role.tmpl", templateData)
-		if err != nil {
-			return err
-		}
-		roleBinding, err := loadResource(e, "master-role-binding.tmpl", templateData)
-		if err != nil {
-			return err
-		}
-
-		e.Resources.Add(role)
-		e.Resources.Add(roleBinding)
-
-		e.Integration.Status.Configuration = append(e.Integration.Status.Configuration,
-			v1.ConfigurationSpec{Type: "property", Value: "customizer.master.enabled=true"},
-		)
-
-		if t.Configmap != nil {
-			e.Integration.Status.Configuration = append(e.Integration.Status.Configuration,
-				v1.ConfigurationSpec{Type: "property", Value: fmt.Sprintf("customizer.master.configMapName=%s", *t.Configmap)},
-			)
-		}
-
-		if t.LabelKey != nil {
-			e.Integration.Status.Configuration = append(e.Integration.Status.Configuration,
-				v1.ConfigurationSpec{Type: "property", Value: fmt.Sprintf("customizer.master.labelKey=%s", *t.LabelKey)},
-			)
-		}
-
-		if t.LabelValue != nil {
-			e.Integration.Status.Configuration = append(e.Integration.Status.Configuration,
-				v1.ConfigurationSpec{Type: "property", Value: fmt.Sprintf("customizer.master.labelValue=%s", *t.LabelValue)},
-			)
-		}
-	}
-
-	return nil
-}
-
-func findAdditionalDependencies(e *trait.Environment, meta metadata.IntegrationMetadata) (dependencies []string) {
-	for _, endpoint := range meta.FromURIs {
-		if uri.GetComponent(endpoint) == masterComponent {
-			parts := strings.Split(endpoint, ":")
-			if len(parts) > 2 {
-				// syntax "master:lockname:endpoint:..."
-				childComponent := strings.ReplaceAll(parts[2], "/", "")
-				if artifact := e.CamelCatalog.GetArtifactByScheme(childComponent); artifact != nil {
-					dependencies = append(dependencies, artifact.GetDependencyID())
-				}
-			}
-		}
-	}
-	return dependencies
-}
-
-func loadResource(e *trait.Environment, name string, params interface{}) (runtime.Object, error) {
-	data, err := deploy.TemplateResource(fmt.Sprintf("/addons/master/%s", name), params)
-	if err != nil {
-		return nil, err
-	}
-	obj, err := kubernetes.LoadResourceFromYaml(e.Client.GetScheme(), data)
-	if err != nil {
-		return nil, err
-	}
-	return obj, nil
-}
diff --git a/addons/master/zz_desc_generated.go b/addons/master/zz_desc_generated.go
deleted file mode 100644
index 57d5fb2..0000000
--- a/addons/master/zz_desc_generated.go
+++ /dev/null
@@ -1 +0,0 @@
-package master
diff --git a/addons/master/zz_generated_doc.go b/addons/master/zz_generated_doc.go
deleted file mode 100644
index 57d5fb2..0000000
--- a/addons/master/zz_generated_doc.go
+++ /dev/null
@@ -1 +0,0 @@
-package master
diff --git a/addons/register_3scale.go b/addons/register_3scale.go
deleted file mode 100644
index aaa3cb1..0000000
--- a/addons/register_3scale.go
+++ /dev/null
@@ -1,27 +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 addons
-
-import (
-	"github.com/apache/camel-k/addons/threescale"
-	"github.com/apache/camel-k/pkg/trait"
-)
-
-func init() {
-	trait.AddToTraits(threescale.NewThreeScaleTrait)
-}
diff --git a/addons/register_master.go b/addons/register_master.go
deleted file mode 100644
index 061ee2d..0000000
--- a/addons/register_master.go
+++ /dev/null
@@ -1,27 +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 addons
-
-import (
-	"github.com/apache/camel-k/addons/master"
-	"github.com/apache/camel-k/pkg/trait"
-)
-
-func init() {
-	trait.AddToTraits(master.NewMasterTrait)
-}
diff --git a/addons/threescale/3scale.go b/addons/threescale/3scale.go
deleted file mode 100644
index fa2250c..0000000
--- a/addons/threescale/3scale.go
+++ /dev/null
@@ -1,138 +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 threescale
-
-import (
-	"strconv"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/trait"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-// The 3scale trait can be used to automatically create annotations that allow
-// 3scale to discover the generated service and make it available for API management.
-//
-// The 3scale trait is disabled by default.
-//
-// +camel-k:trait=3scale
-type threeScaleTrait struct {
-	trait.BaseTrait `property:",squash"`
-	// Enables automatic configuration of the trait.
-	Auto *bool `property:"auto"`
-	// The scheme to use to contact the service (default `http`)
-	Scheme string `property:"scheme"`
-	// The path where the API is published (default `/`)
-	Path string `property:"path"`
-	// The port where the service is exposed (default `80`)
-	Port int `property:"port"`
-	// The path where the Open-API specification is published (default `/api-doc`)
-	DescriptionPath *string `property:"description-path"`
-}
-
-const (
-	// ThreeScaleSchemeAnnotation --
-	ThreeScaleSchemeAnnotation = "discovery.3scale.net/scheme"
-	// ThreeScaleSchemeDefaultValue --
-	ThreeScaleSchemeDefaultValue = "http"
-
-	// ThreeScalePortAnnotation --
-	ThreeScalePortAnnotation = "discovery.3scale.net/port"
-	// ThreeScalePortDefaultValue --
-	ThreeScalePortDefaultValue = 80
-
-	// ThreeScalePathAnnotation --
-	ThreeScalePathAnnotation = "discovery.3scale.net/path"
-	// ThreeScalePathDefaultValue --
-	ThreeScalePathDefaultValue = "/"
-
-	// ThreeScaleDescriptionPathAnnotation --
-	ThreeScaleDescriptionPathAnnotation = "discovery.3scale.net/description-path"
-	// ThreeScaleDescriptionPathDefaultValue --
-	ThreeScaleDescriptionPathDefaultValue = "/api-doc"
-
-	// ThreeScaleDiscoveryLabel --
-	ThreeScaleDiscoveryLabel = "discovery.3scale.net"
-	// ThreeScaleDiscoveryLabelEnabled --
-	ThreeScaleDiscoveryLabelEnabled = "true"
-)
-
-// NewThreeScaleTrait --
-func NewThreeScaleTrait() trait.Trait {
-	return &threeScaleTrait{
-		BaseTrait: trait.NewBaseTrait("3scale", trait.TraitOrderPostProcessResources),
-	}
-}
-
-func (t *threeScaleTrait) Configure(e *trait.Environment) (bool, error) {
-	if t.Enabled == nil || !*t.Enabled {
-		// disabled by default
-		return false, nil
-	}
-
-	if !e.IntegrationInPhase(v1.IntegrationPhaseDeploying) {
-		return false, nil
-	}
-
-	if t.Auto == nil || *t.Auto {
-		if t.Scheme == "" {
-			t.Scheme = ThreeScaleSchemeDefaultValue
-		}
-		if t.Path == "" {
-			t.Path = ThreeScalePathDefaultValue
-		}
-		if t.Port == 0 {
-			t.Port = ThreeScalePortDefaultValue
-		}
-		if t.DescriptionPath == nil {
-			openAPI := ThreeScaleDescriptionPathDefaultValue
-			t.DescriptionPath = &openAPI
-		}
-	}
-	return true, nil
-}
-
-func (t *threeScaleTrait) Apply(e *trait.Environment) error {
-	if svc := e.Resources.GetServiceForIntegration(e.Integration); svc != nil {
-		t.addLabelsAndAnnotations(&svc.ObjectMeta)
-	}
-	return nil
-}
-
-func (t *threeScaleTrait) addLabelsAndAnnotations(obj *metav1.ObjectMeta) {
-	if obj.Labels == nil {
-		obj.Labels = make(map[string]string)
-	}
-	obj.Labels[ThreeScaleDiscoveryLabel] = ThreeScaleDiscoveryLabelEnabled
-
-	if obj.Annotations == nil {
-		obj.Annotations = make(map[string]string)
-	}
-	if t.Scheme != "" {
-		obj.Annotations[ThreeScaleSchemeAnnotation] = t.Scheme
-	}
-	if t.Path != "" {
-		obj.Annotations[ThreeScalePathAnnotation] = t.Path
-	}
-	if t.Port != 0 {
-		obj.Annotations[ThreeScalePortAnnotation] = strconv.Itoa(t.Port)
-	}
-	if t.DescriptionPath != nil && *t.DescriptionPath != "" {
-		obj.Annotations[ThreeScaleDescriptionPathAnnotation] = *t.DescriptionPath
-	}
-}
diff --git a/addons/threescale/3scale_test.go b/addons/threescale/3scale_test.go
deleted file mode 100644
index 2ac8506..0000000
--- a/addons/threescale/3scale_test.go
+++ /dev/null
@@ -1,114 +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 threescale
-
-import (
-	"testing"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/trait"
-	"github.com/apache/camel-k/pkg/util/camel"
-	"github.com/apache/camel-k/pkg/util/kubernetes"
-	"github.com/stretchr/testify/assert"
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-func TestThreeScaleDisabled(t *testing.T) {
-	catalog, err := camel.DefaultCatalog()
-	assert.Nil(t, err)
-
-	e := &trait.Environment{
-		CamelCatalog: catalog,
-	}
-
-	threeScale := NewThreeScaleTrait()
-	enabled, err := threeScale.Configure(e)
-	assert.Nil(t, err)
-	assert.False(t, enabled)
-}
-
-func TestThreeScaleInjection(t *testing.T) {
-	svc, e := createEnvironment(t)
-	threeScale := NewThreeScaleTrait()
-	enabled := true
-	threeScale.(*threeScaleTrait).Enabled = &enabled
-	ok, err := threeScale.Configure(e)
-	assert.Nil(t, err)
-	assert.True(t, ok)
-
-	err = threeScale.Apply(e)
-	assert.Nil(t, err)
-
-	assert.Equal(t, "true", svc.Labels["discovery.3scale.net"])
-	assert.Equal(t, "http", svc.Annotations["discovery.3scale.net/scheme"])
-	assert.Equal(t, "/", svc.Annotations["discovery.3scale.net/path"])
-	assert.Equal(t, "80", svc.Annotations["discovery.3scale.net/port"])
-	assert.Equal(t, "/api-doc", svc.Annotations["discovery.3scale.net/description-path"])
-}
-
-func TestThreeScaleInjectionNoAPIPath(t *testing.T) {
-	svc, e := createEnvironment(t)
-	threeScale := NewThreeScaleTrait()
-	enabled := true
-	threeScale.(*threeScaleTrait).Enabled = &enabled
-	noPath := ""
-	threeScale.(*threeScaleTrait).DescriptionPath = &noPath
-	ok, err := threeScale.Configure(e)
-	assert.Nil(t, err)
-	assert.True(t, ok)
-
-	err = threeScale.Apply(e)
-	assert.Nil(t, err)
-
-	assert.Equal(t, "true", svc.Labels["discovery.3scale.net"])
-	assert.Equal(t, "http", svc.Annotations["discovery.3scale.net/scheme"])
-	assert.Equal(t, "/", svc.Annotations["discovery.3scale.net/path"])
-	assert.Equal(t, "80", svc.Annotations["discovery.3scale.net/port"])
-	_, p := svc.Annotations["discovery.3scale.net/description-path"]
-	assert.False(t, p)
-}
-
-func createEnvironment(t *testing.T) (*corev1.Service, *trait.Environment) {
-	catalog, err := camel.DefaultCatalog()
-	assert.Nil(t, err)
-
-	e := trait.Environment{
-		CamelCatalog: catalog,
-	}
-
-	svc := corev1.Service{
-		ObjectMeta: metav1.ObjectMeta{
-			Labels: map[string]string{
-				"camel.apache.org/integration": "test",
-			},
-		},
-	}
-	e.Resources = kubernetes.NewCollection(&svc)
-
-	it := v1.Integration{
-		ObjectMeta: metav1.ObjectMeta{
-			Name: "test",
-		},
-		Status: v1.IntegrationStatus{
-			Phase: v1.IntegrationPhaseDeploying,
-		},
-	}
-	e.Integration = &it
-	return &svc, &e
-}
diff --git a/addons/threescale/zz_desc_generated.go b/addons/threescale/zz_desc_generated.go
deleted file mode 100644
index 38eec99..0000000
--- a/addons/threescale/zz_desc_generated.go
+++ /dev/null
@@ -1 +0,0 @@
-package threescale
diff --git a/addons/threescale/zz_generated_doc.go b/addons/threescale/zz_generated_doc.go
deleted file mode 100644
index 38eec99..0000000
--- a/addons/threescale/zz_generated_doc.go
+++ /dev/null
@@ -1 +0,0 @@
-package threescale
diff --git a/addons/zz_desc_generated.go b/addons/zz_desc_generated.go
deleted file mode 100644
index 1890561..0000000
--- a/addons/zz_desc_generated.go
+++ /dev/null
@@ -1 +0,0 @@
-package addons
diff --git a/addons/zz_generated_doc.go b/addons/zz_generated_doc.go
deleted file mode 100644
index 1890561..0000000
--- a/addons/zz_generated_doc.go
+++ /dev/null
@@ -1 +0,0 @@
-package addons
diff --git a/build/Dockerfile b/build/Dockerfile
deleted file mode 100644
index 76e022d..0000000
--- a/build/Dockerfile
+++ /dev/null
@@ -1,38 +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.
-
-FROM adoptopenjdk/openjdk11:slim
-
-ARG MAVEN_VERSION="3.6.3"
-ARG SHA="c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0"
-ARG BASE_URL="https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries"
-
-RUN mkdir -p /usr/share/maven \
-    && curl -Lso /tmp/maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
-    && echo "${SHA} /tmp/maven.tar.gz" | sha512sum -c - \
-    && tar -xzC /usr/share/maven --strip-components=1 -f /tmp/maven.tar.gz \
-    && rm -v /tmp/maven.tar.gz \
-    && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
-
-ADD build/_maven_output /tmp/artifacts/m2
-
-USER 0
-
-RUN chgrp -R 0 /tmp/artifacts/m2 \
-    && chmod -R g=u /tmp/artifacts/m2
-
-USER 1000
-
-ADD build/_output/bin/kamel /usr/local/bin/kamel
diff --git a/build/maven/pom-catalog.xml b/build/maven/pom-catalog.xml
deleted file mode 100644
index 297a1ce..0000000
--- a/build/maven/pom-catalog.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.camel.k</groupId>
-    <artifactId>camel-k-catalog-generator</artifactId>
-    <version>1.0.0</version>
-
-    <build>
-        <defaultGoal>generate-resources</defaultGoal>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.camel.k</groupId>
-                <artifactId>camel-k-maven-plugin</artifactId>
-                <version>${runtime.version}</version>
-                <executions>
-                    <execution>
-                        <id>generate-catalog</id>
-                        <goals>
-                            <goal>generate-catalog</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>staging</id>
-            <activation>
-                <property>
-                    <name>staging.repo</name>
-                </property>
-            </activation>
-            <repositories>
-                <repository>
-                    <id>staging</id>
-                    <url>${staging.repo}</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>false</enabled>
-                    </snapshots>
-                </repository>
-            </repositories>
-            <pluginRepositories>
-                <pluginRepository>
-                    <id>staging</id>
-                    <url>${staging.repo}</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>false</enabled>
-                    </snapshots>
-                </pluginRepository>
-            </pluginRepositories>
-        </profile>
-    </profiles>
-
-    <repositories>
-        <repository>
-            <id>apache.snapshots</id>
-            <url>https://repository.apache.org/content/repositories/snapshots/</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-        <repository>
-            <id>oss.snapshots</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <pluginRepositories>
-        <pluginRepository>
-            <id>apache.snapshots</id>
-            <url>https://repository.apache.org/content/repositories/snapshots/</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </pluginRepository>
-        <pluginRepository>
-            <id>oss.snapshots</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-
-</project>
diff --git a/build/maven/pom-runtime.xml b/build/maven/pom-runtime.xml
deleted file mode 100644
index 891f31c..0000000
--- a/build/maven/pom-runtime.xml
+++ /dev/null
@@ -1,378 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.camel.k</groupId>
-    <artifactId>camel-k-runtime-builder</artifactId>
-    <version>1.0.0</version>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-maven-plugin</artifactId>
-            <version>${runtime.version}</version>
-            <type>maven-plugin</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-bom</artifactId>
-            <version>${runtime.version}</version>
-            <type>pom</type>
-        </dependency>
-
-        <!-- camel-k -->
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-knative-api</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-knative</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-knative-http</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-core</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-main</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.cedarsoftware</groupId>
-                    <artifactId>java-util</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-health</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-http</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-webhook</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-knative</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-master</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-cron</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-
-        <!-- runtime - quarkus -->
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-quarkus</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-yaml</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-xml</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-js</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-java</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-groovy</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-kotlin</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-core</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-knative</artifactId>
-            <version>${runtime.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.oracle.substratevm</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.graalvm.nativeimage</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <!-- loaders -->
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-kotlin</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-groovy</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-yaml</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-js</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-xml</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-loader-java</artifactId>
-            <version>${runtime.version}</version>
-        </dependency>
-    </dependencies>
-
-    <repositories>
-        <repository>
-            <id>apache.snapshots</id>
-            <name>Apache Development Snapshot Repository</name>
-            <url>https://repository.apache.org/content/repositories/snapshots/</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-        <repository>
-            <id>oss.snapshots</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <pluginRepositories>
-        <pluginRepository>
-            <id>apache.snapshots</id>
-            <name>Apache Development Snapshot Repository</name>
-            <url>https://repository.apache.org/content/repositories/snapshots/</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </pluginRepository>
-        <pluginRepository>
-            <id>oss.snapshots</id>
-            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-            <snapshots>
-                <enabled>true</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-
-    <profiles>
-        <profile>
-            <id>staging</id>
-            <activation>
-                <property>
-                    <name>staging.repo</name>
-                </property>
-            </activation>
-
-            <repositories>
-                <repository>
-                    <id>staging</id>
-                    <url>${staging.repo}</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>false</enabled>
-                    </snapshots>
-                </repository>
-            </repositories>
-
-            <pluginRepositories>
-                <pluginRepository>
-                    <id>staging</id>
-                    <url>${staging.repo}</url>
-                    <releases>
-                        <enabled>true</enabled>
-                    </releases>
-                    <snapshots>
-                        <enabled>false</enabled>
-                    </snapshots>
-                </pluginRepository>
-            </pluginRepositories>
-
-        </profile>
-    </profiles>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>3.1.1</version>
-                <configuration>
-                     <useRepositoryLayout>true</useRepositoryLayout>
-                     <addParentPoms>true</addParentPoms>
-                     <copyPom>true</copyPom>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/cmd/kamel/main.go b/cmd/kamel/main.go
deleted file mode 100644
index 2ba8ea9..0000000
--- a/cmd/kamel/main.go
+++ /dev/null
@@ -1,54 +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 main
-
-import (
-	"context"
-	"math/rand"
-	"os"
-	"time"
-
-	_ "github.com/apache/camel-k/addons"
-	_ "github.com/apache/camel-k/pkg/builder/kaniko"
-	_ "github.com/apache/camel-k/pkg/builder/s2i"
-	"github.com/apache/camel-k/pkg/cmd"
-
-	_ "k8s.io/client-go/plugin/pkg/client/auth/azure"
-	_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
-)
-
-func main() {
-	rand.Seed(time.Now().UTC().UnixNano())
-
-	ctx, cancel := context.WithCancel(context.Background())
-
-	// Cancel ctx as soon as main returns
-	defer cancel()
-
-	rootCmd, err := cmd.NewKamelCommand(ctx)
-	exitOnError(err)
-
-	err = rootCmd.Execute()
-	exitOnError(err)
-}
-
-func exitOnError(err error) {
-	if err != nil {
-		os.Exit(1)
-	}
-}
diff --git a/cmd/manager/main.go b/cmd/manager/main.go
deleted file mode 120000
index 8413b53..0000000
--- a/cmd/manager/main.go
+++ /dev/null
@@ -1 +0,0 @@
-../kamel/main.go
\ No newline at end of file
diff --git a/cmd/util/doc-gen/generators/generators.go b/cmd/util/doc-gen/generators/generators.go
deleted file mode 100644
index 9c10088..0000000
--- a/cmd/util/doc-gen/generators/generators.go
+++ /dev/null
@@ -1,69 +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 generators
-
-import (
-	"path/filepath"
-	"strings"
-
-	"k8s.io/gengo/args"
-	"k8s.io/gengo/generator"
-	"k8s.io/gengo/namer"
-)
-
-// CustomArgs --
-type CustomArgs struct {
-	DocDir    string
-	DeployDir string
-	TraitPath string
-	NavPath   string
-	ListPath  string
-}
-
-// NameSystems returns the name system used by the generators in this package.
-func NameSystems() namer.NameSystems {
-	return namer.NameSystems{
-		"default": namer.NewPublicNamer(0),
-	}
-}
-
-// DefaultNameSystem returns the default name system for ordering the types to be
-// processed by the generators in this package.
-func DefaultNameSystem() string {
-	return "default"
-}
-
-// Packages --
-func Packages(context *generator.Context, arguments *args.GeneratorArgs) (packages generator.Packages) {
-	for _, i := range context.Inputs {
-		pkg := context.Universe[i]
-		if pkg == nil {
-			continue
-		}
-
-		packages = append(packages, &generator.DefaultPackage{
-			PackageName: strings.Split(filepath.Base(pkg.Path), ".")[0],
-			PackagePath: pkg.Path,
-			GeneratorFunc: func(c *generator.Context) (generators []generator.Generator) {
-				generators = append(generators, NewTraitDocGen(arguments), NewtraitMetaDataGen(arguments))
-				return generators
-			},
-		})
-	}
-	return packages
-}
diff --git a/cmd/util/doc-gen/generators/traitdocgen.go b/cmd/util/doc-gen/generators/traitdocgen.go
deleted file mode 100644
index f09f641..0000000
--- a/cmd/util/doc-gen/generators/traitdocgen.go
+++ /dev/null
@@ -1,359 +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 generators
-
-import (
-	"context"
-	"fmt"
-	"io"
-	"io/ioutil"
-	"os"
-	"path"
-	"reflect"
-	"regexp"
-	"sort"
-	"strings"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/trait"
-	"k8s.io/gengo/args"
-	"k8s.io/gengo/generator"
-	"k8s.io/gengo/types"
-)
-
-const (
-	tagTrait = "+camel-k:trait"
-
-	adocCommonMarkerStart = "// Start of autogenerated code - DO NOT EDIT!"
-	adocCommonMarkerEnd   = "// End of autogenerated code - DO NOT EDIT!"
-
-	adocDescriptionMarkerStart = adocCommonMarkerStart + " (description)"
-	adocDescriptionMarkerEnd   = adocCommonMarkerEnd + " (description)"
-
-	adocConfigurationMarkerStart = adocCommonMarkerStart + " (configuration)"
-	adocConfigurationMarkerEnd   = adocCommonMarkerEnd + " (configuration)"
-
-	adocNavMarkerStart = adocCommonMarkerStart + " (trait-nav)"
-	adocNavMarkerEnd   = adocCommonMarkerEnd + " (trait-nav)"
-
-	adocListMarkerStart = adocCommonMarkerStart + " (trait-list)"
-	adocListMarkerEnd   = adocCommonMarkerEnd + " (trait-list)"
-)
-
-var (
-	tagTraitID = regexp.MustCompile(fmt.Sprintf("%s=([a-z0-9-]+)", regexp.QuoteMeta(tagTrait)))
-)
-
-// traitDocGen produces documentation about traits
-type traitDocGen struct {
-	generator.DefaultGen
-	arguments           *args.GeneratorArgs
-	generatedTraitFiles []string
-}
-
-// NewTraitDocGen --
-func NewTraitDocGen(arguments *args.GeneratorArgs) generator.Generator {
-	return &traitDocGen{
-		DefaultGen: generator.DefaultGen{},
-		arguments:  arguments,
-	}
-}
-
-func (g *traitDocGen) Filename() string {
-	return "zz_generated_doc.go"
-}
-
-func (g *traitDocGen) Filter(context *generator.Context, t *types.Type) bool {
-	for _, c := range t.CommentLines {
-		if strings.Contains(c, tagTrait) {
-			return true
-		}
-	}
-	return false
-}
-
-func (g *traitDocGen) GenerateType(context *generator.Context, t *types.Type, out io.Writer) error {
-	docDir := g.arguments.CustomArgs.(*CustomArgs).DocDir
-	traitPath := g.arguments.CustomArgs.(*CustomArgs).TraitPath
-	traitID := getTraitID(t)
-	traitFile := traitID + ".adoc"
-	filename := path.Join(docDir, traitPath, traitFile)
-
-	g.generatedTraitFiles = append(g.generatedTraitFiles, traitFile)
-
-	file, content, err := readFile(filename)
-	if err != nil {
-		return err
-	}
-	defer file.Close()
-
-	writeTitle(traitID, &content)
-	writeDescription(t, traitID, &content)
-	writeFields(t, traitID, &content)
-
-	return writeFile(file, content)
-}
-
-func (g *traitDocGen) Finalize(c *generator.Context, w io.Writer) error {
-	if err := g.FinalizeNav(c); err != nil {
-		return err
-	}
-	return g.FinalizeList(c)
-}
-
-func (g *traitDocGen) FinalizeNav(*generator.Context) error {
-	docDir := g.arguments.CustomArgs.(*CustomArgs).DocDir
-	navPath := g.arguments.CustomArgs.(*CustomArgs).NavPath
-	filename := path.Join(docDir, navPath)
-
-	file, content, err := readFile(filename)
-	if err != nil {
-		return err
-	}
-	defer file.Close()
-
-	pre, post := split(content, adocNavMarkerStart, adocNavMarkerEnd)
-
-	content = append([]string(nil), pre...)
-	content = append(content, adocNavMarkerStart)
-	sort.Strings(g.generatedTraitFiles)
-	for _, t := range g.generatedTraitFiles {
-		name := traitNameFromFile(t)
-		content = append(content, "** xref:traits/"+t+"["+name+"]")
-	}
-	content = append(content, adocNavMarkerEnd)
-	content = append(content, post...)
-
-	return writeFile(file, content)
-}
-
-func (g *traitDocGen) FinalizeList(*generator.Context) error {
-	docDir := g.arguments.CustomArgs.(*CustomArgs).DocDir
-	listPath := g.arguments.CustomArgs.(*CustomArgs).ListPath
-	filename := path.Join(docDir, listPath)
-
-	file, content, err := readFile(filename)
-	if err != nil {
-		return err
-	}
-	defer file.Close()
-
-	pre, post := split(content, adocListMarkerStart, adocListMarkerEnd)
-
-	content = append([]string(nil), pre...)
-	content = append(content, adocListMarkerStart)
-	sort.Strings(g.generatedTraitFiles)
-	for _, t := range g.generatedTraitFiles {
-		name := traitNameFromFile(t)
-		content = append(content, "* xref:traits/"+t+"["+name+" Trait]")
-	}
-	content = append(content, adocListMarkerEnd)
-	content = append(content, post...)
-
-	return writeFile(file, content)
-}
-
-func traitNameFromFile(file string) string {
-	name := strings.TrimSuffix(file, ".adoc")
-	name = strings.ReplaceAll(name, "trait", "")
-	name = strings.ReplaceAll(name, "-", " ")
-	name = strings.Trim(name, " ")
-	name = strings.Title(name)
-	return name
-}
-
-func writeTitle(traitID string, content *[]string) {
-	res := append([]string(nil), *content...)
-	for _, s := range res {
-		if strings.HasPrefix(s, "= ") {
-			// Already has a title
-			return
-		}
-	}
-	res = append([]string{"= " + strings.Title(strings.ReplaceAll(traitID, "-", " ")) + " Trait"}, res...)
-	*content = res
-}
-
-func writeDescription(t *types.Type, traitID string, content *[]string) {
-	pre, post := split(*content, adocDescriptionMarkerStart, adocDescriptionMarkerEnd)
-	res := append([]string(nil), pre...)
-	res = append(res, adocDescriptionMarkerStart)
-	res = append(res, filterOutTagsAndComments(t.CommentLines)...)
-	profiles := strings.Join(determineProfiles(traitID), ", ")
-	res = append(res, "", fmt.Sprintf("This trait is available in the following profiles: **%s**.", profiles))
-	if isPlatformTrait(traitID) {
-		res = append(res, "", fmt.Sprintf("WARNING: The %s trait is a *platform trait*: disabling it may compromise the platform functionality.", traitID))
-	}
-	res = append(res, "", adocDescriptionMarkerEnd)
-	res = append(res, post...)
-	*content = res
-}
-
-func writeFields(t *types.Type, traitID string, content *[]string) {
-	pre, post := split(*content, adocConfigurationMarkerStart, adocConfigurationMarkerEnd)
-	res := append([]string(nil), pre...)
-	res = append(res, adocConfigurationMarkerStart, "== Configuration", "")
-	res = append(res, "Trait properties can be specified when running any integration with the CLI:")
-	res = append(res, "```")
-	if len(t.Members) > 1 {
-		res = append(res, fmt.Sprintf("kamel run --trait %s.[key]=[value] --trait %s.[key2]=[value2] integration.groovy", traitID, traitID))
-	} else {
-		res = append(res, fmt.Sprintf("kamel run --trait %s.[key]=[value] integration.groovy", traitID))
-	}
-	res = append(res, "```")
-	res = append(res, "The following configuration options are available:", "")
-	res = append(res, "[cols=\"2,1,5a\"]", "|===")
-	res = append(res, "|Property | Type | Description", "")
-	writeMembers(t, traitID, &res)
-	res = append(res, "|===", "", adocConfigurationMarkerEnd)
-	res = append(res, post...)
-	*content = res
-}
-
-func writeMembers(t *types.Type, traitID string, content *[]string) {
-	res := append([]string(nil), *content...)
-	for _, m := range t.Members {
-		prop := reflect.StructTag(m.Tags).Get("property")
-		if prop != "" {
-			if strings.Contains(prop, "squash") {
-				writeMembers(m.Type, traitID, &res)
-			} else {
-				res = append(res, "| "+traitID+"."+prop)
-				res = append(res, "| "+strings.TrimPrefix(m.Type.Name.Name, "*"))
-				first := true
-				for _, l := range filterOutTagsAndComments(m.CommentLines) {
-					if first {
-						res = append(res, "| "+l)
-						first = false
-					} else {
-						res = append(res, l)
-					}
-				}
-				res = append(res, "")
-			}
-		}
-	}
-	*content = res
-}
-
-func getTraitID(t *types.Type) string {
-	for _, s := range t.CommentLines {
-		if strings.Contains(s, tagTrait) {
-			matches := tagTraitID.FindStringSubmatch(s)
-			if len(matches) < 2 {
-				panic(fmt.Sprintf("unable to extract trait ID from tag line `%s`", s))
-			}
-			return matches[1]
-		}
-	}
-	panic(fmt.Sprintf("trait ID not found in type %s", t.Name.Name))
-}
-
-func filterOutTagsAndComments(comments []string) []string {
-	res := make([]string, 0, len(comments))
-	for _, l := range comments {
-		if !strings.HasPrefix(strings.TrimLeft(l, " \t"), "+") &&
-			!strings.HasPrefix(strings.TrimLeft(l, " \t"), "TODO:") {
-			res = append(res, l)
-		}
-	}
-	return res
-}
-
-func split(doc []string, startMarker, endMarker string) (pre []string, post []string) {
-	if len(doc) == 0 {
-		return nil, nil
-	}
-	idx := len(doc)
-	for i, s := range doc {
-		if s == startMarker {
-			idx = i
-			break
-		}
-	}
-	idy := len(doc)
-	for j, s := range doc {
-		if j > idx && s == endMarker {
-			idy = j
-			break
-		}
-	}
-	pre = doc[0:idx]
-	if idy < len(doc) {
-		post = doc[idy+1:]
-	}
-	return pre, post
-}
-
-func readFile(filename string) (file *os.File, content []string, err error) {
-	if file, err = os.OpenFile(filename, os.O_RDWR|os.O_CREATE, 0777); err != nil {
-		return file, content, err
-	}
-
-	bytes, err := ioutil.ReadFile(filename)
-	if err != nil {
-		return file, content, err
-	}
-	content = strings.Split(string(bytes), "\n")
-	return file, content, nil
-}
-
-func writeFile(file *os.File, content []string) error {
-	if err := file.Truncate(0); err != nil {
-		return err
-	}
-	max := 0
-	for i, line := range content {
-		if line != "" {
-			max = i
-		}
-	}
-	for i, line := range content {
-		if i <= max {
-			if _, err := file.WriteString(line + "\n"); err != nil {
-				return err
-			}
-		}
-	}
-	return nil
-}
-
-func isPlatformTrait(traitID string) bool {
-	ctx, cancel := context.WithCancel(context.Background())
-	defer cancel()
-
-	catalog := trait.NewCatalog(ctx, nil)
-	t := catalog.GetTrait(traitID)
-	return t.IsPlatformTrait()
-}
-
-func determineProfiles(traitID string) (profiles []string) {
-	ctx, cancel := context.WithCancel(context.Background())
-	defer cancel()
-
-	catalog := trait.NewCatalog(ctx, nil)
-	for _, p := range v1.AllTraitProfiles {
-		traits := catalog.TraitsForProfile(p)
-		for _, t := range traits {
-			if string(t.ID()) == traitID {
-				profiles = append(profiles, string(p))
-			}
-		}
-	}
-	return profiles
-}
diff --git a/cmd/util/doc-gen/generators/traitmetadatagen.go b/cmd/util/doc-gen/generators/traitmetadatagen.go
deleted file mode 100644
index ac39845..0000000
--- a/cmd/util/doc-gen/generators/traitmetadatagen.go
+++ /dev/null
@@ -1,172 +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 generators
-
-import (
-	"fmt"
-	"io"
-	"os"
-	"path"
-	"reflect"
-	"strings"
-
-	"gopkg.in/yaml.v2"
-	"k8s.io/gengo/args"
-	"k8s.io/gengo/generator"
-	"k8s.io/gengo/types"
-)
-
-// traitMetaDataGen produces YAML documentation about trait descriptions
-type traitMetaDataGen struct {
-	generator.DefaultGen
-	arguments *args.GeneratorArgs
-	Root      *traitMetaDataRoot
-}
-
-type traitMetaDataRoot struct {
-	Traits []traitMetaData `yaml:"traits"`
-}
-
-type traitMetaData struct {
-	Name        string                  `yaml:"name"`
-	Platform    bool                    `yaml:"platform"`
-	Profiles    []string                `yaml:"profiles"`
-	Description string                  `yaml:"description"`
-	Properties  []traitPropertyMetaData `yaml:"properties"`
-}
-
-type traitPropertyMetaData struct {
-	Name        string `yaml:"name"`
-	TypeName    string `yaml:"type"`
-	Description string `yaml:"description"`
-}
-
-// NewtraitMetaDataGen --
-func NewtraitMetaDataGen(arguments *args.GeneratorArgs) generator.Generator {
-	return &traitMetaDataGen{
-		DefaultGen: generator.DefaultGen{},
-		arguments:  arguments,
-		Root:       &traitMetaDataRoot{},
-	}
-}
-
-func (g *traitMetaDataGen) Filename() string {
-	return "zz_desc_generated.go"
-}
-
-func (g *traitMetaDataGen) Filter(context *generator.Context, t *types.Type) bool {
-	for _, c := range t.CommentLines {
-		if strings.Contains(c, tagTrait) {
-			return true
-		}
-	}
-	return false
-}
-
-func (g *traitMetaDataGen) GenerateType(context *generator.Context, t *types.Type, out io.Writer) error {
-	traitID := g.getTraitID(t)
-	td := &traitMetaData{}
-	g.buildDescription(t, traitID, td)
-	g.buildFields(t, td)
-	g.Root.Traits = append(g.Root.Traits, *td)
-	return nil
-}
-
-func (g *traitMetaDataGen) Finalize(c *generator.Context, w io.Writer) error {
-
-	deployDir := g.arguments.CustomArgs.(*CustomArgs).DeployDir
-	traitFile := "traits.yaml"
-	filename := path.Join(deployDir, traitFile)
-
-	var file *os.File
-	var err error
-	if file, err = os.OpenFile(filename, os.O_RDWR|os.O_CREATE, 0777); err != nil {
-		return err
-	}
-	if err = file.Truncate(0); err != nil {
-		return err
-	}
-	defer file.Close()
-
-	data, err := yaml.Marshal(g.Root)
-	if err != nil {
-		fmt.Fprintf(file, "error: %v", err)
-	}
-	fmt.Fprintf(file, "%s", string(data))
-	return nil
-}
-
-func (g *traitMetaDataGen) getTraitID(t *types.Type) string {
-	for _, s := range t.CommentLines {
-		if strings.Contains(s, tagTrait) {
-			matches := tagTraitID.FindStringSubmatch(s)
-			if len(matches) < 2 {
-				panic(fmt.Sprintf("unable to extract trait ID from tag line `%s`", s))
-			}
-			return matches[1]
-		}
-	}
-	panic(fmt.Sprintf("trait ID not found in type %s", t.Name.Name))
-}
-
-func (g *traitMetaDataGen) buildDescription(t *types.Type, traitID string, td *traitMetaData) {
-	var desc = []string(nil)
-	desc = append(desc, g.filterOutTagsAndComments(t.CommentLines)...)
-	td.Name = traitID
-	td.Description = strings.Join(desc, "")
-	td.Profiles = determineProfiles(traitID)
-	td.Platform = isPlatformTrait(traitID)
-}
-
-func (g *traitMetaDataGen) buildFields(t *types.Type, td *traitMetaData) {
-	if len(t.Members) > 1 {
-		var res = []string(nil)
-		g.buildMembers(t, &res, td)
-	}
-}
-
-func (g *traitMetaDataGen) buildMembers(t *types.Type, content *[]string, td *traitMetaData) {
-	for _, m := range t.Members {
-		res := append([]string(nil), *content...)
-		prop := reflect.StructTag(m.Tags).Get("property")
-		if prop != "" {
-			if strings.Contains(prop, "squash") {
-				g.buildMembers(m.Type, &res, td)
-			} else {
-				pd := traitPropertyMetaData{}
-				pd.Name = prop
-				pd.TypeName = strings.TrimPrefix(m.Type.Name.Name, "*")
-
-				res = append(res, filterOutTagsAndComments(m.CommentLines)...)
-				pd.Description = strings.Join(res, "")
-				td.Properties = append(td.Properties, pd)
-			}
-		}
-	}
-}
-
-func (g *traitMetaDataGen) filterOutTagsAndComments(comments []string) []string {
-	res := make([]string, 0, len(comments))
-	for _, l := range comments {
-		if !strings.HasPrefix(strings.TrimLeft(l, " \t"), "+") &&
-			!strings.HasPrefix(strings.TrimLeft(l, " \t"), "TODO:") {
-			res = append(res, l)
-		}
-	}
-	return res
-}
diff --git a/cmd/util/doc-gen/main.go b/cmd/util/doc-gen/main.go
deleted file mode 100644
index 84e7515..0000000
--- a/cmd/util/doc-gen/main.go
+++ /dev/null
@@ -1,48 +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 main
-
-import (
-	"github.com/apache/camel-k/cmd/util/doc-gen/generators"
-	"github.com/spf13/pflag"
-	"k8s.io/gengo/args"
-
-	_ "github.com/apache/camel-k/addons"
-)
-
-func main() {
-	arguments := args.Default()
-
-	// Custom args.
-	customArgs := &generators.CustomArgs{}
-	pflag.CommandLine.StringVar(&customArgs.DocDir, "doc-dir", "./docs", "Root of the document directory.")
-	pflag.CommandLine.StringVar(&customArgs.DeployDir, "deploy-dir", "./deploy", "Root of the deploy directory.")
-	pflag.CommandLine.StringVar(&customArgs.TraitPath, "traits-path", "modules/ROOT/pages/traits", "Path to the traits directory.")
-	pflag.CommandLine.StringVar(&customArgs.NavPath, "nav-path", "modules/ROOT/nav.adoc", "Path to the navigation file.")
-	pflag.CommandLine.StringVar(&customArgs.ListPath, "list-path", "modules/ROOT/pages/traits/traits.adoc", "Path to the trait list file.")
-	arguments.CustomArgs = customArgs
-
-	if err := arguments.Execute(
-		generators.NameSystems(),
-		generators.DefaultNameSystem(),
-		generators.Packages,
-	); err != nil {
-		panic(err)
-	}
-
-}
diff --git a/cmd/util/license-check/main.go b/cmd/util/license-check/main.go
deleted file mode 100644
index 5b62c49..0000000
--- a/cmd/util/license-check/main.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 main
-
-import (
-	"fmt"
-	"io/ioutil"
-	"os"
-	"strings"
-)
-
-func main() {
-
-	if len(os.Args) != 3 {
-		fmt.Println(`Use "license-check <file> <license>`)
-		os.Exit(1)
-	}
-
-	fileName := os.Args[1]
-	licenseName := os.Args[2]
-
-	fileBin, err := ioutil.ReadFile(fileName)
-	if err != nil {
-		os.Stderr.WriteString(fmt.Sprintf("cannot read file %s: %v\n", fileName, err))
-		os.Exit(1)
-	}
-	file := string(fileBin)
-
-	licenseBin, err := ioutil.ReadFile(licenseName)
-	if err != nil {
-		os.Stderr.WriteString(fmt.Sprintf("cannot read file %s: %v\n", licenseName, err))
-		os.Exit(1)
-	}
-	license := string(licenseBin)
-
-	if !strings.Contains(file, license) {
-		os.Stderr.WriteString(fmt.Sprintf("file %s does not contain license\n", fileName))
-		os.Exit(1)
-	}
-
-}
diff --git a/cmd/util/vfs-gen/main.go b/cmd/util/vfs-gen/main.go
deleted file mode 100644
index bed29d4..0000000
--- a/cmd/util/vfs-gen/main.go
+++ /dev/null
@@ -1,158 +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 main
-
-import (
-	"fmt"
-	"io/ioutil"
-	"log"
-	"net/http"
-	"os"
-	"path"
-	"path/filepath"
-	"strings"
-	"time"
-
-	"github.com/shurcooL/httpfs/filter"
-	"github.com/shurcooL/vfsgen"
-)
-
-func main() {
-	if len(os.Args) != 2 {
-		println("usage: vfs-gen directory")
-		os.Exit(1)
-	}
-
-	dirName := os.Args[1]
-	dir, err := os.Stat(dirName)
-	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)
-			}
-		}
-		return nil
-	}); err != nil {
-		log.Fatalln(err)
-	}
-
-	var fs http.FileSystem = modTimeFS{
-		fs: http.Dir(dirName),
-	}
-	fs = filter.Skip(fs, filter.FilesWithExtensions(".go"))
-	fs = filter.Skip(fs, func(path string, fi os.FileInfo) bool {
-		for _, ex := range exclusions {
-			if strings.HasPrefix(path, ex) {
-				return true
-			}
-		}
-		return false
-	})
-
-	resourceFile := path.Join(dirName, "resources.go")
-	err = vfsgen.Generate(fs, vfsgen.Options{
-		Filename:    resourceFile,
-		PackageName: path.Base(dirName),
-	})
-	if err != nil {
-		log.Fatalln(err)
-	}
-
-	header := `/*
-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.
-*/
-
-`
-	content, err := ioutil.ReadFile(resourceFile)
-	if err != nil {
-		log.Fatalln(err)
-	}
-	var finalContent []byte
-	finalContent = append(finalContent, []byte(header)...)
-	finalContent = append(finalContent, content...)
-	if err := ioutil.WriteFile(resourceFile, finalContent, 0777); err != nil {
-		log.Fatalln(err)
-	}
-
-}
-
-// modTimeFS wraps http.FileSystem to set mod time to 0 for all files
-type modTimeFS struct {
-	fs http.FileSystem
-}
-
-func (fs modTimeFS) Open(name string) (http.File, error) {
-	f, err := fs.fs.Open(name)
-	if err != nil {
-		return nil, err
-	}
-	return modTimeFile{f}, nil
-}
-
-type modTimeFile struct {
-	http.File
-}
-
-func (f modTimeFile) Stat() (os.FileInfo, error) {
-	fi, err := f.File.Stat()
-	if err != nil {
-		return nil, err
-	}
-	return modTimeFileInfo{fi}, nil
-}
-
-type modTimeFileInfo struct {
-	os.FileInfo
-}
-
-func (modTimeFileInfo) ModTime() time.Time {
-	return time.Time{}
-}
diff --git a/deploy/addons/master/master-role-binding.tmpl b/deploy/addons/master/master-role-binding.tmpl
deleted file mode 100644
index b6d0bea..0000000
--- a/deploy/addons/master/master-role-binding.tmpl
+++ /dev/null
@@ -1,16 +0,0 @@
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1beta1
-metadata:
-  name: {{ .Name }}
-  namespace: {{ .Namespace }}
-  labels:
-    app: "camel-k"
-subjects:
-  - kind: ServiceAccount
-    namespace: {{ .Namespace }}
-    name: {{ .ServiceAccount }}
-roleRef:
-  kind: Role
-  namespace: {{ .Namespace }}
-  name: {{ .Name }}
-  apiGroup: rbac.authorization.k8s.io
diff --git a/deploy/addons/master/master-role.tmpl b/deploy/addons/master/master-role.tmpl
deleted file mode 100644
index efe939e..0000000
--- a/deploy/addons/master/master-role.tmpl
+++ /dev/null
@@ -1,27 +0,0 @@
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1beta1
-metadata:
-  name: {{ .Name }}
-  namespace: {{ .Namespace }}
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - ""
-  resources:
-  - configmaps
-  verbs:
-  - create
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  resources:
-  - pods
-  verbs:
-  - get
-  - list
-  - watch
diff --git a/deploy/builder-role-binding.yaml b/deploy/builder-role-binding.yaml
deleted file mode 100644
index 1c860b4..0000000
--- a/deploy/builder-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/v1beta1
-metadata:
-  name: camel-k-builder
-  labels:
-    app: "camel-k"
-subjects:
-- kind: ServiceAccount
-  name: camel-k-builder
-roleRef:
-  kind: Role
-  name: camel-k-builder
-  apiGroup: rbac.authorization.k8s.io
diff --git a/deploy/builder-role-kubernetes.yaml b/deploy/builder-role-kubernetes.yaml
deleted file mode 100644
index 7a551ca..0000000
--- a/deploy/builder-role-kubernetes.yaml
+++ /dev/null
@@ -1,60 +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/v1beta1
-metadata:
-  name: camel-k-builder
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - camel.apache.org
-  resources:
-  - "*"
-  verbs:
-  - "*"
-- apiGroups:
-  - ""
-  resources:
-  - pods
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  resources:
-  - configmaps
-  - secrets
-  verbs:
-  - get
-  - list
-  - watch
-- apiGroups:
-  - ""
-  resources:
-  - events
-  verbs:
-  - get
-  - list
-  - watch
diff --git a/deploy/builder-role-openshift.yaml b/deploy/builder-role-openshift.yaml
deleted file mode 100644
index 7271d04..0000000
--- a/deploy/builder-role-openshift.yaml
+++ /dev/null
@@ -1,104 +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/v1beta1
-metadata:
-  name: camel-k-builder
-  labels:
-    app: "camel-k"
-rules:
-- apiGroups:
-  - camel.apache.org
-  resources:
-  - "*"
-  verbs:
-  - "*"
-- apiGroups:
-  - ""
-  resources:
-  - pods
-  verbs:
-  - create
-  - delete
-  - deletecollection
-  - get
-  - list
-  - patch
-  - update
-  - watch
-- apiGroups:
-  - ""
-  resources:
-  - configmaps
-  - secrets
-  verbs:
-  - get
-  - list
-  - watch
-- apiGroups:
-  - ""
-  resources:
-  - events
-  verbs:
-  - get
-  - list
-  - 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
diff --git a/deploy/builder-service-account.yaml b/deploy/builder-service-account.yaml
deleted file mode 100644
index 9952a77..0000000
--- a/deploy/builder-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-builder
-  labels:
-    app: "camel-k"
diff --git a/deploy/camel-catalog-1.3.0-SNAPSHOT-main.yaml b/deploy/camel-catalog-1.3.0-SNAPSHOT-main.yaml
deleted file mode 100644
index 6e10f19..0000000
--- a/deploy/camel-catalog-1.3.0-SNAPSHOT-main.yaml
+++ /dev/null
@@ -1,3135 +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: CamelCatalog
-metadata:
-  name: camel-catalog-1.3.0-snapshot-main
-  labels:
-    app: camel-k
-    camel.apache.org/catalog.version: 3.1.0
-    camel.apache.org/catalog.loader.version: 3.1.0
-    camel.apache.org/runtime.version: 1.3.0-SNAPSHOT
-    camel.apache.org/runtime.provider: main
-spec:
-  runtime:
-    version: 1.3.0-SNAPSHOT
-    provider: main
-    applicationClass: org.apache.camel.k.main.Application
-    metadata:
-      camel.version: 3.1.0
-      quarkus.version: 1.3.2.Final
-      camel-quarkus.version: 1.0.0-M6
-    dependencies:
-    - groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-    capabilities:
-      cron:
-        dependencies:
-        - groupId: org.apache.camel.k
-          artifactId: camel-k-runtime-cron
-      health:
-        dependencies:
-        - groupId: org.apache.camel.k
-          artifactId: camel-k-runtime-health
-      platform-http:
-        dependencies:
-        - groupId: org.apache.camel.k
-          artifactId: camel-k-runtime-http
-      rest:
-        dependencies:
-        - groupId: org.apache.camel
-          artifactId: camel-rest
-        - groupId: org.apache.camel.k
-          artifactId: camel-k-runtime-http
-  artifacts:
-    camel-zipfile:
-      groupId: org.apache.camel
-      artifactId: camel-zipfile
-      dataformats:
-      - zipfile
-      javaTypes:
-      - org.apache.camel.dataformat.zipfile.ZipFileDataFormat
-    camel-fop:
-      groupId: org.apache.camel
-      artifactId: camel-fop
-      schemes:
-      - id: fop
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.fop.FopComponent
-    camel-azure:
-      groupId: org.apache.camel
-      artifactId: camel-azure
-      schemes:
-      - id: azure-blob
-        http: false
-        passive: false
-      - id: azure-queue
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.azure.blob.BlobServiceComponent
-      - org.apache.camel.component.azure.queue.QueueServiceComponent
-    camel-seda:
-      groupId: org.apache.camel
-      artifactId: camel-seda
-      schemes:
-      - id: seda
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.seda.SedaComponent
-    camel-mina:
-      groupId: org.apache.camel
-      artifactId: camel-mina
-      schemes:
-      - id: mina
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mina.MinaComponent
-    camel-aws2-mq:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-mq
-      schemes:
-      - id: aws2-mq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.mq.MQ2Component
-    camel-printer:
-      groupId: org.apache.camel
-      artifactId: camel-printer
-      schemes:
-      - id: lpr
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.printer.PrinterComponent
-    camel-wordpress:
-      groupId: org.apache.camel
-      artifactId: camel-wordpress
-      schemes:
-      - id: wordpress
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.wordpress.WordpressComponent
-    camel-websocket:
-      groupId: org.apache.camel
-      artifactId: camel-websocket
-      schemes:
-      - id: websocket
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.websocket.WebsocketComponent
-    camel-slack:
-      groupId: org.apache.camel
-      artifactId: camel-slack
-      schemes:
-      - id: slack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.slack.SlackComponent
-    camel-influxdb:
-      groupId: org.apache.camel
-      artifactId: camel-influxdb
-      schemes:
-      - id: influxdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.influxdb.InfluxDbComponent
-    camel-lumberjack:
-      groupId: org.apache.camel
-      artifactId: camel-lumberjack
-      schemes:
-      - id: lumberjack
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.lumberjack.LumberjackComponent
-    camel-stax:
-      groupId: org.apache.camel
-      artifactId: camel-stax
-      schemes:
-      - id: stax
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stax.StAXComponent
-    camel-sjms2:
-      groupId: org.apache.camel
-      artifactId: camel-sjms2
-      schemes:
-      - id: sjms2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms2.Sjms2Component
-    camel-facebook:
-      groupId: org.apache.camel
-      artifactId: camel-facebook
-      schemes:
-      - id: facebook
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.facebook.FacebookComponent
-    camel-docker:
-      groupId: org.apache.camel
-      artifactId: camel-docker
-      schemes:
-      - id: docker
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.docker.DockerComponent
-    camel-apns:
-      groupId: org.apache.camel
-      artifactId: camel-apns
-      schemes:
-      - id: apns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.apns.ApnsComponent
-    camel-aws2-ses:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-ses
-      schemes:
-      - id: aws2-ses
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.ses.Ses2Component
-    camel-jaxb:
-      groupId: org.apache.camel
-      artifactId: camel-jaxb
-      dataformats:
-      - jaxb
-      javaTypes:
-      - org.apache.camel.converter.jaxb.JaxbDataFormat
-    camel-quartz:
-      groupId: org.apache.camel
-      artifactId: camel-quartz
-      schemes:
-      - id: quartz
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.quartz.QuartzComponent
-    camel-aws-swf:
-      groupId: org.apache.camel
-      artifactId: camel-aws-swf
-      schemes:
-      - id: aws-swf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.swf.SWFComponent
-    camel-ehcache:
-      groupId: org.apache.camel
-      artifactId: camel-ehcache
-      schemes:
-      - id: ehcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ehcache.EhcacheComponent
-    camel-spring-ws:
-      groupId: org.apache.camel
-      artifactId: camel-spring-ws
-      schemes:
-      - id: spring-ws
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.ws.SpringWebserviceComponent
-    camel-nagios:
-      groupId: org.apache.camel
-      artifactId: camel-nagios
-      schemes:
-      - id: nagios
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nagios.NagiosComponent
-    camel-mongodb:
-      groupId: org.apache.camel
-      artifactId: camel-mongodb
-      schemes:
-      - id: mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.MongoDbComponent
-    camel-aws2-iam:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-iam
-      schemes:
-      - id: aws2-iam
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.iam.IAM2Component
-    camel-aws-eks:
-      groupId: org.apache.camel
-      artifactId: camel-aws-eks
-      schemes:
-      - id: aws-eks
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.eks.EKSComponent
-    camel-platform-http:
-      groupId: org.apache.camel
-      artifactId: camel-platform-http
-      schemes:
-      - id: platform-http
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.platform.http.PlatformHttpComponent
-    camel-jetty:
-      groupId: org.apache.camel
-      artifactId: camel-jetty
-      schemes:
-      - id: jetty
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jetty9.JettyHttpComponent9
-    camel-lzf:
-      groupId: org.apache.camel
-      artifactId: camel-lzf
-      dataformats:
-      - lzf
-      javaTypes:
-      - org.apache.camel.dataformat.lzf.LZFDataFormat
-    camel-aws2-translate:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-translate
-      schemes:
-      - id: aws2-translate
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.translate.Translate2Component
-    camel-vm:
-      groupId: org.apache.camel
-      artifactId: camel-vm
-      schemes:
-      - id: vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.vm.VmComponent
-    camel-crypto:
-      groupId: org.apache.camel
-      artifactId: camel-crypto
-      schemes:
-      - id: crypto
-        http: false
-        passive: false
-      dataformats:
-      - crypto
-      - pgp
-      javaTypes:
-      - org.apache.camel.component.crypto.DigitalSignatureComponent
-      - org.apache.camel.converter.crypto.CryptoDataFormat
-      - org.apache.camel.converter.crypto.PGPDataFormat
-    camel-cometd:
-      groupId: org.apache.camel
-      artifactId: camel-cometd
-      schemes:
-      - id: cometd
-        http: false
-        passive: false
-      - id: cometds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cometd.CometdComponent
-    camel-bean-validator:
-      groupId: org.apache.camel
-      artifactId: camel-bean-validator
-      schemes:
-      - id: bean-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bean.validator.BeanValidatorComponent
-    camel-http:
-      groupId: org.apache.camel
-      artifactId: camel-http
-      schemes:
-      - id: http
-        http: false
-        passive: false
-      - id: https
-        http: false
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel
-        artifactId: camel-file
-      javaTypes:
-      - org.apache.camel.component.http.HttpComponent
-    camel-tika:
-      groupId: org.apache.camel
-      artifactId: camel-tika
-      schemes:
-      - id: tika
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.tika.TikaComponent
-    camel-caffeine:
-      groupId: org.apache.camel
-      artifactId: camel-caffeine
-      schemes:
-      - id: caffeine-cache
-        http: false
-        passive: false
-      - id: caffeine-loadcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
-      - org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
-    camel-vertx:
-      groupId: org.apache.camel
-      artifactId: camel-vertx
-      schemes:
-      - id: vertx
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.vertx.VertxComponent
-    camel-jslt:
-      groupId: org.apache.camel
-      artifactId: camel-jslt
-      schemes:
-      - id: jslt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jslt.JsltComponent
-    camel-openstack:
-      groupId: org.apache.camel
-      artifactId: camel-openstack
-      schemes:
-      - id: openstack-cinder
-        http: false
-        passive: false
-      - id: openstack-glance
-        http: false
-        passive: false
-      - id: openstack-keystone
-        http: false
-        passive: false
-      - id: openstack-neutron
-        http: false
-        passive: false
-      - id: openstack-nova
-        http: false
-        passive: false
-      - id: openstack-swift
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.openstack.cinder.CinderComponent
-      - org.apache.camel.component.openstack.glance.GlanceComponent
-      - org.apache.camel.component.openstack.keystone.KeystoneComponent
-      - org.apache.camel.component.openstack.neutron.NeutronComponent
-      - org.apache.camel.component.openstack.nova.NovaComponent
-      - org.apache.camel.component.openstack.swift.SwiftComponent
-    camel-google-calendar:
-      groupId: org.apache.camel
-      artifactId: camel-google-calendar
-      schemes:
-      - id: google-calendar
-        http: false
-        passive: false
-      - id: google-calendar-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.calendar.GoogleCalendarComponent
-      - org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
-    camel-browse:
-      groupId: org.apache.camel
-      artifactId: camel-browse
-      schemes:
-      - id: browse
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.browse.BrowseComponent
-    camel-ldif:
-      groupId: org.apache.camel
-      artifactId: camel-ldif
-      schemes:
-      - id: ldif
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ldif.LdifComponent
-    camel-google-sheets:
-      groupId: org.apache.camel
-      artifactId: camel-google-sheets
-      schemes:
-      - id: google-sheets
-        http: false
-        passive: false
-      - id: google-sheets-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.sheets.GoogleSheetsComponent
-      - org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
-    camel-sap-netweaver:
-      groupId: org.apache.camel
-      artifactId: camel-sap-netweaver
-      schemes:
-      - id: sap-netweaver
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sap.netweaver.NetWeaverComponent
-    camel-ganglia:
-      groupId: org.apache.camel
-      artifactId: camel-ganglia
-      schemes:
-      - id: ganglia
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ganglia.GangliaComponent
-    camel-schematron:
-      groupId: org.apache.camel
-      artifactId: camel-schematron
-      schemes:
-      - id: schematron
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.schematron.SchematronComponent
-    camel-yammer:
-      groupId: org.apache.camel
-      artifactId: camel-yammer
-      schemes:
-      - id: yammer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.yammer.YammerComponent
-    camel-direct:
-      groupId: org.apache.camel
-      artifactId: camel-direct
-      schemes:
-      - id: direct
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.direct.DirectComponent
-    camel-chunk:
-      groupId: org.apache.camel
-      artifactId: camel-chunk
-      schemes:
-      - id: chunk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.chunk.ChunkComponent
-    camel-weka:
-      groupId: org.apache.camel
-      artifactId: camel-weka
-      schemes:
-      - id: weka
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.weka.WekaComponent
-    camel-jacksonxml:
-      groupId: org.apache.camel
-      artifactId: camel-jacksonxml
-      dataformats:
-      - jacksonxml
-      javaTypes:
-      - org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
-    camel-spring-batch:
-      groupId: org.apache.camel
-      artifactId: camel-spring-batch
-      schemes:
-      - id: spring-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.batch.SpringBatchComponent
-    camel-stub:
-      groupId: org.apache.camel
-      artifactId: camel-stub
-      schemes:
-      - id: stub
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.stub.StubComponent
-    camel-drill:
-      groupId: org.apache.camel
-      artifactId: camel-drill
-      schemes:
-      - id: drill
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.drill.DrillComponent
-    camel-zookeeper:
-      groupId: org.apache.camel
-      artifactId: camel-zookeeper
-      schemes:
-      - id: zookeeper
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zookeeper.ZooKeeperComponent
-    camel-aws-cw:
-      groupId: org.apache.camel
-      artifactId: camel-aws-cw
-      schemes:
-      - id: aws-cw
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.cw.CwComponent
-    camel-xstream:
-      groupId: org.apache.camel
-      artifactId: camel-xstream
-      dataformats:
-      - json-xstream
-      - xstream
-      javaTypes:
-      - org.apache.camel.dataformat.xstream.JsonDataFormat
-      - org.apache.camel.dataformat.xstream.XStreamDataFormat
-    camel-weather:
-      groupId: org.apache.camel
-      artifactId: camel-weather
-      schemes:
-      - id: weather
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.weather.WeatherComponent
-    camel-fastjson:
-      groupId: org.apache.camel
-      artifactId: camel-fastjson
-      dataformats:
-      - json-fastjson
-      javaTypes:
-      - org.apache.camel.component.fastjson.FastjsonDataFormat
-    camel-pdf:
-      groupId: org.apache.camel
-      artifactId: camel-pdf
-      schemes:
-      - id: pdf
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pdf.PdfComponent
-    camel-spring-integration:
-      groupId: org.apache.camel
-      artifactId: camel-spring-integration
-      schemes:
-      - id: spring-integration
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spring.integration.SpringIntegrationComponent
-    camel-paho:
-      groupId: org.apache.camel
-      artifactId: camel-paho
-      schemes:
-      - id: paho
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paho.PahoComponent
-    camel-netty:
-      groupId: org.apache.camel
-      artifactId: camel-netty
-      schemes:
-      - id: netty
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.NettyComponent
-    camel-mustache:
-      groupId: org.apache.camel
-      artifactId: camel-mustache
-      schemes:
-      - id: mustache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mustache.MustacheComponent
-    camel-sip:
-      groupId: org.apache.camel
-      artifactId: camel-sip
-      schemes:
-      - id: sip
-        http: false
-        passive: false
-      - id: sips
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sip.SipComponent
-    camel-hbase:
-      groupId: org.apache.camel
-      artifactId: camel-hbase
-      schemes:
-      - id: hbase
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hbase.HBaseComponent
-    camel-jackson:
-      groupId: org.apache.camel
-      artifactId: camel-jackson
-      dataformats:
-      - json-jackson
-      javaTypes:
-      - org.apache.camel.component.jackson.JacksonDataFormat
-    camel-kafka:
-      groupId: org.apache.camel
-      artifactId: camel-kafka
-      schemes:
-      - id: kafka
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kafka.KafkaComponent
-    camel-twitter:
-      groupId: org.apache.camel
-      artifactId: camel-twitter
-      schemes:
-      - id: twitter-directmessage
-        http: false
-        passive: false
-      - id: twitter-search
-        http: false
-        passive: false
-      - id: twitter-timeline
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twitter.directmessage.TwitterDirectMessageComponent
-      - org.apache.camel.component.twitter.search.TwitterSearchComponent
-      - org.apache.camel.component.twitter.timeline.TwitterTimelineComponent
-    camel-salesforce:
-      groupId: org.apache.camel
-      artifactId: camel-salesforce
-      schemes:
-      - id: salesforce
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.salesforce.SalesforceComponent
-    camel-xj:
-      groupId: org.apache.camel
-      artifactId: camel-xj
-      schemes:
-      - id: xj
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xj.XJComponent
-    camel-aws2-eks:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-eks
-      schemes:
-      - id: aws2-eks
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.eks.EKS2Component
-    camel-servicenow:
-      groupId: org.apache.camel
-      artifactId: camel-servicenow
-      schemes:
-      - id: servicenow
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servicenow.ServiceNowComponent
-    camel-ical:
-      groupId: org.apache.camel
-      artifactId: camel-ical
-      dataformats:
-      - ical
-      javaTypes:
-      - org.apache.camel.component.ical.ICalDataFormat
-    camel-corda:
-      groupId: org.apache.camel
-      artifactId: camel-corda
-      schemes:
-      - id: corda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.corda.CordaComponent
-    camel-grape:
-      groupId: org.apache.camel
-      artifactId: camel-grape
-      schemes:
-      - id: grape
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.grape.GrapeComponent
-    camel-univocity-parsers:
-      groupId: org.apache.camel
-      artifactId: camel-univocity-parsers
-      dataformats:
-      - univocity-csv
-      - univocity-fixed
-      - univocity-tsv
-      javaTypes:
-      - org.apache.camel.dataformat.univocity.UniVocityCsvDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityFixedWidthDataFormat
-      - org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat
-    camel-hdfs:
-      groupId: org.apache.camel
-      artifactId: camel-hdfs
-      schemes:
-      - id: hdfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hdfs.HdfsComponent
-    camel-jclouds:
-      groupId: org.apache.camel
-      artifactId: camel-jclouds
-      schemes:
-      - id: jclouds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jclouds.JcloudsComponent
-    camel-quickfix:
-      groupId: org.apache.camel
-      artifactId: camel-quickfix
-      schemes:
-      - id: quickfix
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.quickfixj.QuickfixjComponent
-    camel-nsq:
-      groupId: org.apache.camel
-      artifactId: camel-nsq
-      schemes:
-      - id: nsq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nsq.NsqComponent
-    camel-hipchat:
-      groupId: org.apache.camel
-      artifactId: camel-hipchat
-      schemes:
-      - id: hipchat
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hipchat.HipchatComponent
-    camel-hazelcast:
-      groupId: org.apache.camel
-      artifactId: camel-hazelcast
-      schemes:
-      - id: hazelcast-atomicvalue
-        http: false
-        passive: false
-      - id: hazelcast-instance
-        http: false
-        passive: false
-      - id: hazelcast-list
-        http: false
-        passive: false
-      - id: hazelcast-map
-        http: false
-        passive: false
-      - id: hazelcast-multimap
-        http: false
-        passive: false
-      - id: hazelcast-queue
-        http: false
-        passive: false
-      - id: hazelcast-replicatedmap
-        http: false
-        passive: false
-      - id: hazelcast-ringbuffer
-        http: false
-        passive: false
-      - id: hazelcast-seda
-        http: false
-        passive: false
-      - id: hazelcast-set
-        http: false
-        passive: false
-      - id: hazelcast-topic
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
-      - org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
-      - org.apache.camel.component.hazelcast.list.HazelcastListComponent
-      - org.apache.camel.component.hazelcast.map.HazelcastMapComponent
-      - org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
-      - org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
-      - org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
-      - org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
-      - org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
-      - org.apache.camel.component.hazelcast.set.HazelcastSetComponent
-      - org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
-    camel-barcode:
-      groupId: org.apache.camel
-      artifactId: camel-barcode
-      dataformats:
-      - barcode
-      javaTypes:
-      - org.apache.camel.dataformat.barcode.BarcodeDataFormat
-    camel-aws-translate:
-      groupId: org.apache.camel
-      artifactId: camel-aws-translate
-      schemes:
-      - id: aws-translate
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.translate.TranslateComponent
-    camel-atmos:
-      groupId: org.apache.camel
-      artifactId: camel-atmos
-      schemes:
-      - id: atmos
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atmos.AtmosComponent
-    camel-language:
-      groupId: org.apache.camel
-      artifactId: camel-language
-      schemes:
-      - id: language
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.language.LanguageComponent
-    camel-infinispan:
-      groupId: org.apache.camel
-      artifactId: camel-infinispan
-      schemes:
-      - id: infinispan
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.infinispan.InfinispanComponent
-    camel-aws2-ddb:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-ddb
-      schemes:
-      - id: aws2-ddb
-        http: false
-        passive: false
-      - id: aws2-ddbstream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.ddb.Ddb2Component
-      - org.apache.camel.component.aws2.ddbstream.Ddb2StreamComponent
-    camel-google-pubsub:
-      groupId: org.apache.camel
-      artifactId: camel-google-pubsub
-      schemes:
-      - id: google-pubsub
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.pubsub.GooglePubsubComponent
-    camel-base64:
-      groupId: org.apache.camel
-      artifactId: camel-base64
-      dataformats:
-      - base64
-      javaTypes:
-      - org.apache.camel.dataformat.base64.Base64DataFormat
-    camel-lucene:
-      groupId: org.apache.camel
-      artifactId: camel-lucene
-      schemes:
-      - id: lucene
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.lucene.LuceneComponent
-    camel-bean:
-      groupId: org.apache.camel
-      artifactId: camel-bean
-      schemes:
-      - id: bean
-        http: false
-        passive: true
-      - id: class
-        http: false
-        passive: true
-      languages:
-      - bean
-      javaTypes:
-      - org.apache.camel.component.bean.BeanComponent
-      - org.apache.camel.component.beanclass.ClassComponent
-      - org.apache.camel.language.bean.BeanLanguage
-    camel-stream:
-      groupId: org.apache.camel
-      artifactId: camel-stream
-      schemes:
-      - id: stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stream.StreamComponent
-    camel-solr:
-      groupId: org.apache.camel
-      artifactId: camel-solr
-      schemes:
-      - id: solr
-        http: false
-        passive: false
-      - id: solrs
-        http: false
-        passive: false
-      - id: solrCloud
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.solr.SolrComponent
-    camel-log:
-      groupId: org.apache.camel
-      artifactId: camel-log
-      schemes:
-      - id: log
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.log.LogComponent
-    camel-iec60870:
-      groupId: org.apache.camel
-      artifactId: camel-iec60870
-      schemes:
-      - id: iec60870-client
-        http: false
-        passive: false
-      - id: iec60870-server
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.iec60870.client.ClientComponent
-      - org.apache.camel.component.iec60870.server.ServerComponent
-    camel-atmosphere-websocket:
-      groupId: org.apache.camel
-      artifactId: camel-atmosphere-websocket
-      schemes:
-      - id: atmosphere-websocket
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atmosphere.websocket.WebsocketComponent
-    camel-debezium-mongodb:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-mongodb
-      schemes:
-      - id: debezium-mongodb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMongodbComponent
-    camel-spring-ldap:
-      groupId: org.apache.camel
-      artifactId: camel-spring-ldap
-      schemes:
-      - id: spring-ldap
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.springldap.SpringLdapComponent
-    camel-dns:
-      groupId: org.apache.camel
-      artifactId: camel-dns
-      schemes:
-      - id: dns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dns.DnsComponent
-    camel-aws2-sqs:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-sqs
-      schemes:
-      - id: aws2-sqs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.sqs.Sqs2Component
-    camel-reactive-streams:
-      groupId: org.apache.camel
-      artifactId: camel-reactive-streams
-      schemes:
-      - id: reactive-streams
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.reactive.streams.ReactiveStreamsComponent
-    camel-graphql:
-      groupId: org.apache.camel
-      artifactId: camel-graphql
-      schemes:
-      - id: graphql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.graphql.GraphqlComponent
-    camel-coap:
-      groupId: org.apache.camel
-      artifactId: camel-coap
-      schemes:
-      - id: coap
-        http: false
-        passive: false
-      - id: coaps
-        http: false
-        passive: false
-      - id: coap+tcp
-        http: false
-        passive: false
-      - id: coaps+tcp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.coap.CoAPComponent
-    camel-dataset:
-      groupId: org.apache.camel
-      artifactId: camel-dataset
-      schemes:
-      - id: dataset
-        http: false
-        passive: true
-      - id: dataset-test
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dataset.DataSetComponent
-      - org.apache.camel.component.dataset.DataSetTestComponent
-    camel-elytron:
-      groupId: org.apache.camel
-      artifactId: camel-elytron
-      schemes:
-      - id: elytron
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.elytron.ElytronComponent
-    camel-jsonapi:
-      groupId: org.apache.camel
-      artifactId: camel-jsonapi
-      dataformats:
-      - jsonApi
-      javaTypes:
-      - org.apache.camel.component.jsonapi.JsonApiDataFormat
-    camel-zendesk:
-      groupId: org.apache.camel
-      artifactId: camel-zendesk
-      schemes:
-      - id: zendesk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zendesk.ZendeskComponent
-    camel-jdbc:
-      groupId: org.apache.camel
-      artifactId: camel-jdbc
-      schemes:
-      - id: jdbc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jdbc.JdbcComponent
-    camel-spark:
-      groupId: org.apache.camel
-      artifactId: camel-spark
-      schemes:
-      - id: spark
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.spark.SparkComponent
-    camel-ahc:
-      groupId: org.apache.camel
-      artifactId: camel-ahc
-      schemes:
-      - id: ahc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.AhcComponent
-    camel-controlbus:
-      groupId: org.apache.camel
-      artifactId: camel-controlbus
-      schemes:
-      - id: controlbus
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.controlbus.ControlBusComponent
-    camel-disruptor:
-      groupId: org.apache.camel
-      artifactId: camel-disruptor
-      schemes:
-      - id: disruptor
-        http: false
-        passive: false
-      - id: disruptor-vm
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.disruptor.DisruptorComponent
-      - org.apache.camel.component.disruptor.vm.DisruptorVmComponent
-    camel-dozer:
-      groupId: org.apache.camel
-      artifactId: camel-dozer
-      schemes:
-      - id: dozer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dozer.DozerComponent
-    camel-beanio:
-      groupId: org.apache.camel
-      artifactId: camel-beanio
-      dataformats:
-      - beanio
-      javaTypes:
-      - org.apache.camel.dataformat.beanio.BeanIODataFormat
-    camel-bindy:
-      groupId: org.apache.camel
-      artifactId: camel-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-guava-eventbus:
-      groupId: org.apache.camel
-      artifactId: camel-guava-eventbus
-      schemes:
-      - id: guava-eventbus
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
-    camel-msv:
-      groupId: org.apache.camel
-      artifactId: camel-msv
-      schemes:
-      - id: msv
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.validator.msv.MsvComponent
-    camel-jms:
-      groupId: org.apache.camel
-      artifactId: camel-jms
-      schemes:
-      - id: jms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jms.JmsComponent
-    camel-file-watch:
-      groupId: org.apache.camel
-      artifactId: camel-file-watch
-      schemes:
-      - id: file-watch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.watch.FileWatchComponent
-    camel-aws-sdb:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sdb
-      schemes:
-      - id: aws-sdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sdb.SdbComponent
-    camel-file:
-      groupId: org.apache.camel
-      artifactId: camel-file
-      schemes:
-      - id: file
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.FileComponent
-    camel-gora:
-      groupId: org.apache.camel
-      artifactId: camel-gora
-      schemes:
-      - id: gora
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.gora.GoraComponent
-    camel-jmx:
-      groupId: org.apache.camel
-      artifactId: camel-jmx
-      schemes:
-      - id: jmx
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jmx.JMXComponent
-    camel-timer:
-      groupId: org.apache.camel
-      artifactId: camel-timer
-      schemes:
-      - id: timer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.timer.TimerComponent
-    camel-jcache:
-      groupId: org.apache.camel
-      artifactId: camel-jcache
-      schemes:
-      - id: jcache
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jcache.JCacheComponent
-    camel-freemarker:
-      groupId: org.apache.camel
-      artifactId: camel-freemarker
-      schemes:
-      - id: freemarker
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.freemarker.FreemarkerComponent
-    camel-ironmq:
-      groupId: org.apache.camel
-      artifactId: camel-ironmq
-      schemes:
-      - id: ironmq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ironmq.IronMQComponent
-    camel-fhir:
-      groupId: org.apache.camel
-      artifactId: camel-fhir
-      schemes:
-      - id: fhir
-        http: false
-        passive: false
-      dataformats:
-      - fhirJson
-      - fhirXml
-      javaTypes:
-      - org.apache.camel.component.fhir.FhirComponent
-      - org.apache.camel.component.fhir.FhirJsonDataFormat
-      - org.apache.camel.component.fhir.FhirXmlDataFormat
-    camel-saxon:
-      groupId: org.apache.camel
-      artifactId: camel-saxon
-      schemes:
-      - id: xquery
-        http: false
-        passive: false
-      languages:
-      - xquery
-      javaTypes:
-      - org.apache.camel.component.xquery.XQueryComponent
-      - org.apache.camel.language.xquery.XQueryLanguage
-    camel-rest-openapi:
-      groupId: org.apache.camel
-      artifactId: camel-rest-openapi
-      schemes:
-      - id: rest-openapi
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.openapi.RestOpenApiComponent
-    camel-jsonpath:
-      groupId: org.apache.camel
-      artifactId: camel-jsonpath
-      languages:
-      - jsonpath
-      javaTypes:
-      - org.apache.camel.jsonpath.JsonPathLanguage
-    camel-spark-rest:
-      groupId: org.apache.camel
-      artifactId: camel-spark-rest
-      schemes:
-      - id: spark-rest
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sparkrest.SparkComponent
-    camel-jt400:
-      groupId: org.apache.camel
-      artifactId: camel-jt400
-      schemes:
-      - id: jt400
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jt400.Jt400Component
-    camel-rabbitmq:
-      groupId: org.apache.camel
-      artifactId: camel-rabbitmq
-      schemes:
-      - id: rabbitmq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rabbitmq.RabbitMQComponent
-    camel-jbpm:
-      groupId: org.apache.camel
-      artifactId: camel-jbpm
-      schemes:
-      - id: jbpm
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jbpm.JBPMComponent
-    camel-jing:
-      groupId: org.apache.camel
-      artifactId: camel-jing
-      schemes:
-      - id: jing
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.validator.jing.JingComponent
-    camel-aws-iam:
-      groupId: org.apache.camel
-      artifactId: camel-aws-iam
-      schemes:
-      - id: aws-iam
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.iam.IAMComponent
-    camel-snmp:
-      groupId: org.apache.camel
-      artifactId: camel-snmp
-      schemes:
-      - id: snmp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.snmp.SnmpComponent
-    camel-web3j:
-      groupId: org.apache.camel
-      artifactId: camel-web3j
-      schemes:
-      - id: web3j
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.web3j.Web3jComponent
-    camel-atom:
-      groupId: org.apache.camel
-      artifactId: camel-atom
-      schemes:
-      - id: atom
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atom.AtomComponent
-    camel-tagsoup:
-      groupId: org.apache.camel
-      artifactId: camel-tagsoup
-      dataformats:
-      - tidyMarkup
-      javaTypes:
-      - org.apache.camel.dataformat.tagsoup.TidyMarkupDataFormat
-    camel-etcd:
-      groupId: org.apache.camel
-      artifactId: camel-etcd
-      schemes:
-      - id: etcd-keys
-        http: false
-        passive: false
-      - id: etcd-stats
-        http: false
-        passive: false
-      - id: etcd-watch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.etcd.EtcdKeysComponent
-      - org.apache.camel.component.etcd.EtcdStatsComponent
-      - org.apache.camel.component.etcd.EtcdWatchComponent
-    camel-ftp:
-      groupId: org.apache.camel
-      artifactId: camel-ftp
-      schemes:
-      - id: ftp
-        http: false
-        passive: false
-      - id: ftps
-        http: false
-        passive: false
-      - id: sftp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.file.remote.FtpComponent
-      - org.apache.camel.component.file.remote.FtpsComponent
-      - org.apache.camel.component.file.remote.SftpComponent
-    camel-aws-ses:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ses
-      schemes:
-      - id: aws-ses
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ses.SesComponent
-    camel-jgroups:
-      groupId: org.apache.camel
-      artifactId: camel-jgroups
-      schemes:
-      - id: jgroups
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jgroups.JGroupsComponent
-    camel-master:
-      groupId: org.apache.camel
-      artifactId: camel-master
-      schemes:
-      - id: master
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.master.MasterComponent
-    camel-eventadmin:
-      groupId: org.apache.camel
-      artifactId: camel-eventadmin
-      schemes:
-      - id: eventadmin
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.eventadmin.EventAdminComponent
-    camel-optaplanner:
-      groupId: org.apache.camel
-      artifactId: camel-optaplanner
-      schemes:
-      - id: optaplanner
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.optaplanner.OptaPlannerComponent
-    camel-amqp:
-      groupId: org.apache.camel
-      artifactId: camel-amqp
-      schemes:
-      - id: amqp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.amqp.AMQPComponent
-    camel-aws2-sns:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-sns
-      schemes:
-      - id: aws2-sns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.sns.Sns2Component
-    camel-github:
-      groupId: org.apache.camel
-      artifactId: camel-github
-      schemes:
-      - id: github
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.github.GitHubComponent
-    camel-atomix:
-      groupId: org.apache.camel
-      artifactId: camel-atomix
-      schemes:
-      - id: atomix-map
-        http: false
-        passive: false
-      - id: atomix-messaging
-        http: false
-        passive: false
-      - id: atomix-multimap
-        http: false
-        passive: false
-      - id: atomix-queue
-        http: false
-        passive: false
-      - id: atomix-set
-        http: false
-        passive: false
-      - id: atomix-value
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.atomix.client.map.AtomixMapComponent
-      - org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
-      - org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
-      - org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
-      - org.apache.camel.component.atomix.client.set.AtomixSetComponent
-      - org.apache.camel.component.atomix.client.value.AtomixValueComponent
-    camel-box:
-      groupId: org.apache.camel
-      artifactId: camel-box
-      schemes:
-      - id: box
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.box.BoxComponent
-    camel-sql:
-      groupId: org.apache.camel
-      artifactId: camel-sql
-      schemes:
-      - id: sql
-        http: false
-        passive: false
-      - id: sql-stored
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sql.SqlComponent
-      - org.apache.camel.component.sql.stored.SqlStoredComponent
-    camel-flatpack:
-      groupId: org.apache.camel
-      artifactId: camel-flatpack
-      schemes:
-      - id: flatpack
-        http: false
-        passive: false
-      dataformats:
-      - flatpack
-      javaTypes:
-      - org.apache.camel.component.flatpack.FlatpackComponent
-      - org.apache.camel.dataformat.flatpack.FlatpackDataFormat
-    camel-git:
-      groupId: org.apache.camel
-      artifactId: camel-git
-      schemes:
-      - id: git
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.git.GitComponent
-    camel-chatscript:
-      groupId: org.apache.camel
-      artifactId: camel-chatscript
-      schemes:
-      - id: chatscript
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.chatscript.ChatScriptComponent
-    camel-telegram:
-      groupId: org.apache.camel
-      artifactId: camel-telegram
-      schemes:
-      - id: telegram
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.telegram.TelegramComponent
-    camel-asn1:
-      groupId: org.apache.camel
-      artifactId: camel-asn1
-      dataformats:
-      - asn1
-      javaTypes:
-      - org.apache.camel.dataformat.asn1.ASN1DataFormat
-    camel-nitrite:
-      groupId: org.apache.camel
-      artifactId: camel-nitrite
-      schemes:
-      - id: nitrite
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nitrite.NitriteComponent
-    camel-aws-sns:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sns
-      schemes:
-      - id: aws-sns
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sns.SnsComponent
-    camel-avro:
-      groupId: org.apache.camel
-      artifactId: camel-avro
-      schemes:
-      - id: avro
-        http: false
-        passive: false
-      dataformats:
-      - avro
-      javaTypes:
-      - org.apache.camel.component.avro.AvroComponent
-      - org.apache.camel.dataformat.avro.AvroDataFormat
-    camel-mllp:
-      groupId: org.apache.camel
-      artifactId: camel-mllp
-      schemes:
-      - id: mllp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mllp.MllpComponent
-    camel-pg-replication-slot:
-      groupId: org.apache.camel
-      artifactId: camel-pg-replication-slot
-      schemes:
-      - id: pg-replication-slot
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pg.replication.slot.PgReplicationSlotComponent
-    camel-elsql:
-      groupId: org.apache.camel
-      artifactId: camel-elsql
-      schemes:
-      - id: elsql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.elsql.ElsqlComponent
-    camel-aws-msk:
-      groupId: org.apache.camel
-      artifactId: camel-aws-msk
-      schemes:
-      - id: aws-msk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.msk.MSKComponent
-    camel-stringtemplate:
-      groupId: org.apache.camel
-      artifactId: camel-stringtemplate
-      schemes:
-      - id: string-template
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stringtemplate.StringTemplateComponent
-    camel-debezium-mysql:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-mysql
-      schemes:
-      - id: debezium-mysql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumMySqlComponent
-    camel-servlet:
-      groupId: org.apache.camel
-      artifactId: camel-servlet
-      schemes:
-      - id: servlet
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.servlet.ServletComponent
-    camel-spring-redis:
-      groupId: org.apache.camel
-      artifactId: camel-spring-redis
-      schemes:
-      - id: spring-redis
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.redis.RedisComponent
-    camel-soroush:
-      groupId: org.apache.camel
-      artifactId: camel-soroush
-      schemes:
-      - id: soroush
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.soroushbot.component.SoroushBotComponent
-    camel-jsch:
-      groupId: org.apache.camel
-      artifactId: camel-jsch
-      schemes:
-      - id: scp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scp.ScpComponent
-    camel-kubernetes:
-      groupId: org.apache.camel
-      artifactId: camel-kubernetes
-      schemes:
-      - id: kubernetes-config-maps
-        http: false
-        passive: false
-      - id: kubernetes-deployments
-        http: false
-        passive: false
-      - id: kubernetes-hpa
-        http: false
-        passive: false
-      - id: kubernetes-job
-        http: false
-        passive: false
-      - id: kubernetes-namespaces
-        http: false
-        passive: false
-      - id: kubernetes-nodes
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes
-        http: false
-        passive: false
-      - id: kubernetes-persistent-volumes-claims
-        http: false
-        passive: false
-      - id: kubernetes-pods
-        http: false
-        passive: false
-      - id: kubernetes-replication-controllers
-        http: false
-        passive: false
-      - id: kubernetes-resources-quota
-        http: false
-        passive: false
-      - id: kubernetes-secrets
-        http: false
-        passive: false
-      - id: kubernetes-service-accounts
-        http: false
-        passive: false
-      - id: kubernetes-services
-        http: false
-        passive: false
-      - id: openshift-build-configs
-        http: false
-        passive: false
-      - id: openshift-builds
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kubernetes.config_maps.KubernetesConfigMapsComponent
-      - org.apache.camel.component.kubernetes.deployments.KubernetesDeploymentsComponent
-      - org.apache.camel.component.kubernetes.hpa.KubernetesHPAComponent
-      - org.apache.camel.component.kubernetes.job.KubernetesJobComponent
-      - org.apache.camel.component.kubernetes.namespaces.KubernetesNamespacesComponent
-      - org.apache.camel.component.kubernetes.nodes.KubernetesNodesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes.KubernetesPersistentVolumesComponent
-      - org.apache.camel.component.kubernetes.persistent_volumes_claims.KubernetesPersistentVolumesClaimsComponent
-      - org.apache.camel.component.kubernetes.pods.KubernetesPodsComponent
-      - org.apache.camel.component.kubernetes.replication_controllers.KubernetesReplicationControllersComponent
-      - org.apache.camel.component.kubernetes.resources_quota.KubernetesResourcesQuotaComponent
-      - org.apache.camel.component.kubernetes.secrets.KubernetesSecretsComponent
-      - org.apache.camel.component.kubernetes.service_accounts.KubernetesServiceAccountsComponent
-      - org.apache.camel.component.kubernetes.services.KubernetesServicesComponent
-      - org.apache.camel.component.openshift.build_configs.OpenshiftBuildConfigsComponent
-      - org.apache.camel.component.openshift.builds.OpenshiftBuildsComponent
-    camel-aws2-ec2:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-ec2
-      schemes:
-      - id: aws2-ec2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.ec2.AWS2EC2Component
-    camel-digitalocean:
-      groupId: org.apache.camel
-      artifactId: camel-digitalocean
-      schemes:
-      - id: digitalocean
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.digitalocean.DigitalOceanComponent
-    camel-aws2-kms:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-kms
-      schemes:
-      - id: aws2-kms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.kms.KMS2Component
-    camel-google-bigquery:
-      groupId: org.apache.camel
-      artifactId: camel-google-bigquery
-      schemes:
-      - id: google-bigquery
-        http: false
-        passive: false
-      - id: google-bigquery-sql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
-      - org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
-    camel-consul:
-      groupId: org.apache.camel
-      artifactId: camel-consul
-      schemes:
-      - id: consul
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.consul.ConsulComponent
-    camel-nats:
-      groupId: org.apache.camel
-      artifactId: camel-nats
-      schemes:
-      - id: nats
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.nats.NatsComponent
-    camel-debezium-postgres:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-postgres
-      schemes:
-      - id: debezium-postgres
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumPostgresComponent
-    camel-hl7:
-      groupId: org.apache.camel
-      artifactId: camel-hl7
-      languages:
-      - hl7terser
-      dataformats:
-      - hl7
-      javaTypes:
-      - org.apache.camel.component.hl7.Hl7TerserLanguage
-      - org.apache.camel.component.hl7.HL7DataFormat
-    camel-aws-ecs:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ecs
-      schemes:
-      - id: aws-ecs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ecs.ECSComponent
-    camel-zip-deflater:
-      groupId: org.apache.camel
-      artifactId: camel-zip-deflater
-      dataformats:
-      - gzipdeflater
-      - zipdeflater
-      javaTypes:
-      - org.apache.camel.dataformat.deflater.GzipDeflaterDataFormat
-      - org.apache.camel.dataformat.deflater.ZipDeflaterDataFormat
-    camel-kudu:
-      groupId: org.apache.camel
-      artifactId: camel-kudu
-      schemes:
-      - id: kudu
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.kudu.KuduComponent
-    camel-jgroups-raft:
-      groupId: org.apache.camel
-      artifactId: camel-jgroups-raft
-      schemes:
-      - id: jgroups-raft
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
-    camel-cmis:
-      groupId: org.apache.camel
-      artifactId: camel-cmis
-      schemes:
-      - id: cmis
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cmis.CMISComponent
-    camel-beanstalk:
-      groupId: org.apache.camel
-      artifactId: camel-beanstalk
-      schemes:
-      - id: beanstalk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.beanstalk.BeanstalkComponent
-    camel-aws-mq:
-      groupId: org.apache.camel
-      artifactId: camel-aws-mq
-      schemes:
-      - id: aws-mq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.mq.MQComponent
-    camel-mongodb-gridfs:
-      groupId: org.apache.camel
-      artifactId: camel-mongodb-gridfs
-      schemes:
-      - id: mongodb-gridfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mongodb.gridfs.GridFsComponent
-    camel-undertow:
-      groupId: org.apache.camel
-      artifactId: camel-undertow
-      schemes:
-      - id: undertow
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.undertow.UndertowComponent
-    camel-robotframework:
-      groupId: org.apache.camel
-      artifactId: camel-robotframework
-      schemes:
-      - id: robotframework
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.robotframework.RobotFrameworkComponent
-    camel-xpath:
-      groupId: org.apache.camel
-      artifactId: camel-xpath
-      languages:
-      - xpath
-      javaTypes:
-      - org.apache.camel.language.xpath.XPathLanguage
-    camel-ssh:
-      groupId: org.apache.camel
-      artifactId: camel-ssh
-      schemes:
-      - id: ssh
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ssh.SshComponent
-    camel-mock:
-      groupId: org.apache.camel
-      artifactId: camel-mock
-      schemes:
-      - id: mock
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.mock.MockComponent
-    camel-websocket-jsr356:
-      groupId: org.apache.camel
-      artifactId: camel-websocket-jsr356
-      schemes:
-      - id: websocket-jsr356
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.websocket.jsr356.JSR356WebSocketComponent
-    camel-twilio:
-      groupId: org.apache.camel
-      artifactId: camel-twilio
-      schemes:
-      - id: twilio
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.twilio.TwilioComponent
-    camel-jolt:
-      groupId: org.apache.camel
-      artifactId: camel-jolt
-      schemes:
-      - id: jolt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jolt.JoltComponent
-    camel-soap:
-      groupId: org.apache.camel
-      artifactId: camel-soap
-      dataformats:
-      - soapjaxb
-      javaTypes:
-      - org.apache.camel.dataformat.soap.SoapJaxbDataFormat
-    camel-thrift:
-      groupId: org.apache.camel
-      artifactId: camel-thrift
-      schemes:
-      - id: thrift
-        http: false
-        passive: false
-      dataformats:
-      - thrift
-      javaTypes:
-      - org.apache.camel.component.thrift.ThriftComponent
-      - org.apache.camel.dataformat.thrift.ThriftDataFormat
-    camel-crypto-cms:
-      groupId: org.apache.camel
-      artifactId: camel-crypto-cms
-      schemes:
-      - id: crypto-cms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.crypto.cms.CryptoCmsComponent
-    camel-xml-jaxp:
-      groupId: org.apache.camel
-      artifactId: camel-xml-jaxp
-      languages:
-      - xtokenize
-      javaTypes:
-      - org.apache.camel.language.xtokenizer.XMLTokenizeLanguage
-    camel-ognl:
-      groupId: org.apache.camel
-      artifactId: camel-ognl
-      languages:
-      - ognl
-      javaTypes:
-      - org.apache.camel.language.ognl.OgnlLanguage
-    camel-couchdb:
-      groupId: org.apache.camel
-      artifactId: camel-couchdb
-      schemes:
-      - id: couchdb
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.couchdb.CouchDbComponent
-    camel-groovy:
-      groupId: org.apache.camel
-      artifactId: camel-groovy
-      languages:
-      - groovy
-      javaTypes:
-      - org.apache.camel.language.groovy.GroovyLanguage
-    camel-saga:
-      groupId: org.apache.camel
-      artifactId: camel-saga
-      schemes:
-      - id: saga
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.saga.SagaComponent
-    camel-elasticsearch-rest:
-      groupId: org.apache.camel
-      artifactId: camel-elasticsearch-rest
-      schemes:
-      - id: elasticsearch-rest
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.elasticsearch.ElasticsearchComponent
-    camel-ldap:
-      groupId: org.apache.camel
-      artifactId: camel-ldap
-      schemes:
-      - id: ldap
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ldap.LdapComponent
-    camel-csv:
-      groupId: org.apache.camel
-      artifactId: camel-csv
-      dataformats:
-      - csv
-      javaTypes:
-      - org.apache.camel.dataformat.csv.CsvDataFormat
-    camel-geocoder:
-      groupId: org.apache.camel
-      artifactId: camel-geocoder
-      schemes:
-      - id: geocoder
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.geocoder.GeoCoderComponent
-    camel-mybatis:
-      groupId: org.apache.camel
-      artifactId: camel-mybatis
-      schemes:
-      - id: mybatis
-        http: false
-        passive: false
-      - id: mybatis-bean
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.mybatis.MyBatisComponent
-      - org.apache.camel.component.mybatis.MyBatisBeanComponent
-    camel-directvm:
-      groupId: org.apache.camel
-      artifactId: camel-directvm
-      schemes:
-      - id: direct-vm
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.directvm.DirectVmComponent
-    camel-aws2-ecs:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-ecs
-      schemes:
-      - id: aws2-ecs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.ecs.ECS2Component
-    camel-xmpp:
-      groupId: org.apache.camel
-      artifactId: camel-xmpp
-      schemes:
-      - id: xmpp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xmpp.XmppComponent
-    camel-workday:
-      groupId: org.apache.camel
-      artifactId: camel-workday
-      schemes:
-      - id: workday
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.workday.WorkdayComponent
-    camel-jira:
-      groupId: org.apache.camel
-      artifactId: camel-jira
-      schemes:
-      - id: jira
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jira.JiraComponent
-    camel-asterisk:
-      groupId: org.apache.camel
-      artifactId: camel-asterisk
-      schemes:
-      - id: asterisk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.asterisk.AsteriskComponent
-    camel-splunk:
-      groupId: org.apache.camel
-      artifactId: camel-splunk
-      schemes:
-      - id: splunk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.splunk.SplunkComponent
-    camel-mail:
-      groupId: org.apache.camel
-      artifactId: camel-mail
-      schemes:
-      - id: imap
-        http: false
-        passive: false
-      - id: imaps
-        http: false
-        passive: false
-      - id: pop3
-        http: false
-        passive: false
-      - id: pop3s
-        http: false
-        passive: false
-      - id: smtp
-        http: false
-        passive: false
-      - id: smtps
-        http: false
-        passive: false
-      dataformats:
-      - mime-multipart
-      javaTypes:
-      - org.apache.camel.component.mail.MailComponent
-      - org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat
-    camel-metrics:
-      groupId: org.apache.camel
-      artifactId: camel-metrics
-      schemes:
-      - id: metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.metrics.MetricsComponent
-    camel-aws-sqs:
-      groupId: org.apache.camel
-      artifactId: camel-aws-sqs
-      schemes:
-      - id: aws-sqs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.sqs.SqsComponent
-    camel-cm-sms:
-      groupId: org.apache.camel
-      artifactId: camel-cm-sms
-      schemes:
-      - id: cm-sms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cm.CMComponent
-    camel-xslt:
-      groupId: org.apache.camel
-      artifactId: camel-xslt
-      schemes:
-      - id: xslt
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.XsltComponent
-    camel-flink:
-      groupId: org.apache.camel
-      artifactId: camel-flink
-      schemes:
-      - id: flink
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.flink.FlinkComponent
-    camel-braintree:
-      groupId: org.apache.camel
-      artifactId: camel-braintree
-      schemes:
-      - id: braintree
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.braintree.BraintreeComponent
-    camel-aws2-msk:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-msk
-      schemes:
-      - id: aws2-msk
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.msk.MSK2Component
-    camel-base:
-      groupId: org.apache.camel
-      artifactId: camel-base
-      languages:
-      - constant
-      - exchangeProperty
-      - file
-      - header
-      - ref
-      - simple
-      - tokenize
-      javaTypes:
-      - org.apache.camel.language.constant.ConstantLanguage
-      - org.apache.camel.language.property.ExchangePropertyLanguage
-      - org.apache.camel.language.simple.FileLanguage
-      - org.apache.camel.language.header.HeaderLanguage
-      - org.apache.camel.language.ref.RefLanguage
-      - org.apache.camel.language.simple.SimpleLanguage
-      - org.apache.camel.language.tokenizer.TokenizeLanguage
-    camel-jpa:
-      groupId: org.apache.camel
-      artifactId: camel-jpa
-      schemes:
-      - id: jpa
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jpa.JpaComponent
-    camel-cassandraql:
-      groupId: org.apache.camel
-      artifactId: camel-cassandraql
-      schemes:
-      - id: cql
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cassandra.CassandraComponent
-    camel-couchbase:
-      groupId: org.apache.camel
-      artifactId: camel-couchbase
-      schemes:
-      - id: couchbase
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.couchbase.CouchbaseComponent
-    camel-aws-ddb:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ddb
-      schemes:
-      - id: aws-ddb
-        http: false
-        passive: false
-      - id: aws-ddbstream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ddb.DdbComponent
-      - org.apache.camel.component.aws.ddbstream.DdbStreamComponent
-    camel-syslog:
-      groupId: org.apache.camel
-      artifactId: camel-syslog
-      dataformats:
-      - syslog
-      javaTypes:
-      - org.apache.camel.component.syslog.SyslogDataFormat
-    camel-pubnub:
-      groupId: org.apache.camel
-      artifactId: camel-pubnub
-      schemes:
-      - id: pubnub
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pubnub.PubNubComponent
-    camel-gson:
-      groupId: org.apache.camel
-      artifactId: camel-gson
-      dataformats:
-      - json-gson
-      javaTypes:
-      - org.apache.camel.component.gson.GsonDataFormat
-    camel-json-validator:
-      groupId: org.apache.camel
-      artifactId: camel-json-validator
-      schemes:
-      - id: json-validator
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jsonvalidator.JsonValidatorComponent
-    camel-rss:
-      groupId: org.apache.camel
-      artifactId: camel-rss
-      schemes:
-      - id: rss
-        http: false
-        passive: false
-      dataformats:
-      - rss
-      javaTypes:
-      - org.apache.camel.component.rss.RssComponent
-      - org.apache.camel.dataformat.rss.RssDataFormat
-    camel-dataformat:
-      groupId: org.apache.camel
-      artifactId: camel-dataformat
-      schemes:
-      - id: dataformat
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.dataformat.DataFormatComponent
-    camel-xmlsecurity:
-      groupId: org.apache.camel
-      artifactId: camel-xmlsecurity
-      schemes:
-      - id: xmlsecurity-sign
-        http: false
-        passive: false
-      - id: xmlsecurity-verify
-        http: false
-        passive: false
-      dataformats:
-      - secureXML
-      javaTypes:
-      - org.apache.camel.component.xmlsecurity.XmlSignatureComponent
-      - org.apache.camel.component.xmlsecurity.XmlVerifierComponent
-      - org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat
-    camel-bonita:
-      groupId: org.apache.camel
-      artifactId: camel-bonita
-      schemes:
-      - id: bonita
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.bonita.BonitaComponent
-    camel-rest:
-      groupId: org.apache.camel
-      artifactId: camel-rest
-      schemes:
-      - id: rest
-        http: true
-        passive: false
-      - id: rest-api
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.RestComponent
-      - org.apache.camel.component.rest.RestApiComponent
-    camel-service:
-      groupId: org.apache.camel
-      artifactId: camel-service
-      schemes:
-      - id: service
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.service.ServiceComponent
-    camel-protobuf:
-      groupId: org.apache.camel
-      artifactId: camel-protobuf
-      dataformats:
-      - protobuf
-      javaTypes:
-      - org.apache.camel.dataformat.protobuf.ProtobufDataFormat
-    camel-smpp:
-      groupId: org.apache.camel
-      artifactId: camel-smpp
-      schemes:
-      - id: smpp
-        http: false
-        passive: false
-      - id: smpps
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.smpp.SmppComponent
-    camel-velocity:
-      groupId: org.apache.camel
-      artifactId: camel-velocity
-      schemes:
-      - id: velocity
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.velocity.VelocityComponent
-    camel-google-mail:
-      groupId: org.apache.camel
-      artifactId: camel-google-mail
-      schemes:
-      - id: google-mail
-        http: false
-        passive: false
-      - id: google-mail-stream
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.mail.GoogleMailComponent
-      - org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
-    camel-as2:
-      groupId: org.apache.camel
-      artifactId: camel-as2
-      schemes:
-      - id: as2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.as2.AS2Component
-    camel-xchange:
-      groupId: org.apache.camel
-      artifactId: camel-xchange
-      schemes:
-      - id: xchange
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xchange.XChangeComponent
-    camel-paxlogging:
-      groupId: org.apache.camel
-      artifactId: camel-paxlogging
-      schemes:
-      - id: paxlogging
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.paxlogging.PaxLoggingComponent
-    camel-tarfile:
-      groupId: org.apache.camel
-      artifactId: camel-tarfile
-      dataformats:
-      - tarfile
-      javaTypes:
-      - org.apache.camel.dataformat.tarfile.TarFileDataFormat
-    camel-jooq:
-      groupId: org.apache.camel
-      artifactId: camel-jooq
-      schemes:
-      - id: jooq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jooq.JooqComponent
-    camel-ahc-ws:
-      groupId: org.apache.camel
-      artifactId: camel-ahc-ws
-      schemes:
-      - id: ahc-ws
-        http: true
-        passive: false
-      - id: ahc-wss
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ahc.ws.WsComponent
-    camel-johnzon:
-      groupId: org.apache.camel
-      artifactId: camel-johnzon
-      dataformats:
-      - json-johnzon
-      javaTypes:
-      - org.apache.camel.component.johnzon.JohnzonDataFormat
-    camel-ignite:
-      groupId: org.apache.camel
-      artifactId: camel-ignite
-      schemes:
-      - id: ignite-cache
-        http: false
-        passive: false
-      - id: ignite-compute
-        http: false
-        passive: false
-      - id: ignite-events
-        http: false
-        passive: false
-      - id: ignite-idgen
-        http: false
-        passive: false
-      - id: ignite-messaging
-        http: false
-        passive: false
-      - id: ignite-queue
-        http: false
-        passive: false
-      - id: ignite-set
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ignite.cache.IgniteCacheComponent
-      - org.apache.camel.component.ignite.compute.IgniteComputeComponent
-      - org.apache.camel.component.ignite.events.IgniteEventsComponent
-      - org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
-      - org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
-      - org.apache.camel.component.ignite.queue.IgniteQueueComponent
-      - org.apache.camel.component.ignite.set.IgniteSetComponent
-    camel-xslt-saxon:
-      groupId: org.apache.camel
-      artifactId: camel-xslt-saxon
-      schemes:
-      - id: xslt-saxon
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.xslt.saxon.XsltSaxonComponent
-    camel-pulsar:
-      groupId: org.apache.camel
-      artifactId: camel-pulsar
-      schemes:
-      - id: pulsar
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pulsar.PulsarComponent
-    camel-rest-swagger:
-      groupId: org.apache.camel
-      artifactId: camel-rest-swagger
-      schemes:
-      - id: rest-swagger
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.rest.swagger.RestSwaggerComponent
-    camel-spring:
-      groupId: org.apache.camel
-      artifactId: camel-spring
-      schemes:
-      - id: spring-event
-        http: false
-        passive: false
-      languages:
-      - spel
-      javaTypes:
-      - org.apache.camel.component.event.EventComponent
-      - org.apache.camel.language.spel.SpelLanguage
-    camel-exec:
-      groupId: org.apache.camel
-      artifactId: camel-exec
-      schemes:
-      - id: exec
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.exec.ExecComponent
-    camel-microprofile-metrics:
-      groupId: org.apache.camel
-      artifactId: camel-microprofile-metrics
-      schemes:
-      - id: microprofile-metrics
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.microprofile.metrics.MicroProfileMetricsComponent
-    camel-aws-s3:
-      groupId: org.apache.camel
-      artifactId: camel-aws-s3
-      schemes:
-      - id: aws-s3
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.s3.S3Component
-    camel-cron:
-      groupId: org.apache.camel
-      artifactId: camel-cron
-      schemes:
-      - id: cron
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cron.CronComponent
-    camel-zookeeper-master:
-      groupId: org.apache.camel
-      artifactId: camel-zookeeper-master
-      schemes:
-      - id: zookeeper-master
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.zookeepermaster.MasterComponent
-    camel-grok:
-      groupId: org.apache.camel
-      artifactId: camel-grok
-      dataformats:
-      - grok
-      javaTypes:
-      - org.apache.camel.component.grok.GrokDataFormat
-    camel-mvel:
-      groupId: org.apache.camel
-      artifactId: camel-mvel
-      schemes:
-      - id: mvel
-        http: false
-        passive: false
-      languages:
-      - mvel
-      javaTypes:
-      - org.apache.camel.component.mvel.MvelComponent
-      - org.apache.camel.language.mvel.MvelLanguage
-    camel-debezium-sqlserver:
-      groupId: org.apache.camel
-      artifactId: camel-debezium-sqlserver
-      schemes:
-      - id: debezium-sqlserver
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.debezium.DebeziumSqlserverComponent
-    camel-cbor:
-      groupId: org.apache.camel
-      artifactId: camel-cbor
-      dataformats:
-      - cbor
-      javaTypes:
-      - org.apache.camel.component.cbor.CBORDataFormat
-    camel-google-drive:
-      groupId: org.apache.camel
-      artifactId: camel-google-drive
-      schemes:
-      - id: google-drive
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.google.drive.GoogleDriveComponent
-    camel-iota:
-      groupId: org.apache.camel
-      artifactId: camel-iota
-      schemes:
-      - id: iota
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.iota.IOTAComponent
-    camel-cxf:
-      groupId: org.apache.camel
-      artifactId: camel-cxf
-      schemes:
-      - id: cxf
-        http: true
-        passive: false
-      - id: cxfrs
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.cxf.CxfComponent
-      - org.apache.camel.component.cxf.jaxrs.CxfRsComponent
-    camel-ref:
-      groupId: org.apache.camel
-      artifactId: camel-ref
-      schemes:
-      - id: ref
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.ref.RefComponent
-    camel-stomp:
-      groupId: org.apache.camel
-      artifactId: camel-stomp
-      schemes:
-      - id: stomp
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.stomp.StompComponent
-    camel-snakeyaml:
-      groupId: org.apache.camel
-      artifactId: camel-snakeyaml
-      dataformats:
-      - yaml-snakeyaml
-      javaTypes:
-      - org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat
-    camel-olingo4:
-      groupId: org.apache.camel
-      artifactId: camel-olingo4
-      schemes:
-      - id: olingo4
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.olingo4.Olingo4Component
-    camel-olingo2:
-      groupId: org.apache.camel
-      artifactId: camel-olingo2
-      schemes:
-      - id: olingo2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.olingo2.Olingo2Component
-    camel-milo:
-      groupId: org.apache.camel
-      artifactId: camel-milo
-      schemes:
-      - id: milo-client
-        http: false
-        passive: false
-      - id: milo-server
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.milo.client.MiloClientComponent
-      - org.apache.camel.component.milo.server.MiloServerComponent
-    camel-aws2-cw:
-      groupId: org.apache.camel
-      artifactId: camel-aws2-cw
-      schemes:
-      - id: aws2-cw
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws2.cw.Cw2Component
-    camel-grpc:
-      groupId: org.apache.camel
-      artifactId: camel-grpc
-      schemes:
-      - id: grpc
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.grpc.GrpcComponent
-    camel-webhook:
-      groupId: org.apache.camel
-      artifactId: camel-webhook
-      schemes:
-      - id: webhook
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.webhook.WebhookComponent
-    camel-pgevent:
-      groupId: org.apache.camel
-      artifactId: camel-pgevent
-      schemes:
-      - id: pgevent
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.pgevent.PgEventComponent
-    camel-micrometer:
-      groupId: org.apache.camel
-      artifactId: camel-micrometer
-      schemes:
-      - id: micrometer
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.micrometer.MicrometerComponent
-    camel-any23:
-      groupId: org.apache.camel
-      artifactId: camel-any23
-      dataformats:
-      - any23
-      javaTypes:
-      - org.apache.camel.dataformat.any23.Any23DataFormat
-    camel-aws-lambda:
-      groupId: org.apache.camel
-      artifactId: camel-aws-lambda
-      schemes:
-      - id: aws-lambda
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.lambda.LambdaComponent
-    camel-aws-kinesis:
-      groupId: org.apache.camel
-      artifactId: camel-aws-kinesis
-      schemes:
-      - id: aws-kinesis
-        http: false
-        passive: false
-      - id: aws-kinesis-firehose
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kinesis.KinesisComponent
-      - org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
-    camel-netty-http:
-      groupId: org.apache.camel
-      artifactId: camel-netty-http
-      schemes:
-      - id: netty-http
-        http: true
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.netty.http.NettyHttpComponent
-    camel-ipfs:
-      groupId: org.apache.camel
-      artifactId: camel-ipfs
-      schemes:
-      - id: ipfs
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.ipfs.IPFSComponent
-    camel-aws-kms:
-      groupId: org.apache.camel
-      artifactId: camel-aws-kms
-      schemes:
-      - id: aws-kms
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.kms.KMSComponent
-    camel-aws-ec2:
-      groupId: org.apache.camel
-      artifactId: camel-aws-ec2
-      schemes:
-      - id: aws-ec2
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.aws.ec2.EC2Component
-    camel-sjms:
-      groupId: org.apache.camel
-      artifactId: camel-sjms
-      schemes:
-      - id: sjms
-        http: false
-        passive: false
-      - id: sjms-batch
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.sjms.SjmsComponent
-      - org.apache.camel.component.sjms.batch.SjmsBatchComponent
-    camel-irc:
-      groupId: org.apache.camel
-      artifactId: camel-irc
-      schemes:
-      - id: irc
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.irc.IrcComponent
-    camel-jcr:
-      groupId: org.apache.camel
-      artifactId: camel-jcr
-      schemes:
-      - id: jcr
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.jcr.JcrComponent
-    camel-dropbox:
-      groupId: org.apache.camel
-      artifactId: camel-dropbox
-      schemes:
-      - id: dropbox
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.dropbox.DropboxComponent
-    camel-activemq:
-      groupId: org.apache.camel
-      artifactId: camel-activemq
-      schemes:
-      - id: activemq
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.activemq.ActiveMQComponent
-    camel-scheduler:
-      groupId: org.apache.camel
-      artifactId: camel-scheduler
-      schemes:
-      - id: scheduler
-        http: false
-        passive: false
-      javaTypes:
-      - org.apache.camel.component.scheduler.SchedulerComponent
-    camel-validator:
-      groupId: org.apache.camel
-      artifactId: camel-validator
-      schemes:
-      - id: validator
-        http: false
-        passive: true
-      javaTypes:
-      - org.apache.camel.component.validator.ValidatorComponent
-    camel-k-loader-yaml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-yaml
-    camel-k-loader-groovy:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-groovy
-    camel-k-loader-kotlin:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-kotlin
-    camel-k-loader-js:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-js
-    camel-k-loader-xml:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-xml
-    camel-k-loader-java:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-loader-java
-    camel-k-runtime-main:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-main
-    camel-k-runtime-health:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-health
-    camel-k-runtime-http:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-http
-    camel-k-runtime-webhook:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-webhook
-    camel-k-runtime-cron:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-cron
-    camel-k-runtime-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-k-runtime-knative
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-k-loader-yaml
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-    camel-knative:
-      groupId: org.apache.camel.k
-      artifactId: camel-knative
-      schemes:
-      - id: knative
-        http: true
-        passive: false
-      dependencies:
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-api
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative
-      - groupId: org.apache.camel.k
-        artifactId: camel-knative-http
-  loaders:
-    yaml:
-      groupId: org.apache.camel.k
... 58185 lines suppressed ...


[camel-k] 06/07: API: move scheme registration and remove controller-runtime

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 615fda23ae982485ab2267b5ca7fb347f926ab75
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Apr 30 18:22:56 2020 +0200

    API: move scheme registration and remove controller-runtime
---
 go.mod                                         |   1 -
 go.sum                                         | 150 +++++++++++++++++++++++++
 pkg/apis/camel/v1/build_types.go               |   4 -
 pkg/apis/camel/v1/camelcatalog_types.go        |   4 -
 pkg/apis/camel/v1/integration_types.go         |   4 -
 pkg/apis/camel/v1/integrationkit_types.go      |   4 -
 pkg/apis/camel/v1/integrationplatform_types.go |   4 -
 pkg/apis/camel/v1/register.go                  |  23 +++-
 8 files changed, 171 insertions(+), 23 deletions(-)

diff --git a/go.mod b/go.mod
index 5ed2b4e..bf3b883 100644
--- a/go.mod
+++ b/go.mod
@@ -6,5 +6,4 @@ require (
 	k8s.io/api v0.16.4
 	k8s.io/apimachinery v0.16.4
 	k8s.io/client-go v0.16.4
-	sigs.k8s.io/controller-runtime v0.4.0
 )
diff --git a/go.sum b/go.sum
index 1a30309..3c1c62c 100644
--- a/go.sum
+++ b/go.sum
@@ -17,12 +17,20 @@ github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt
 github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
 github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
 github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
+github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
+github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
 github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
 github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
 github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
+github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
 github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
 github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
 github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
 github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
@@ -31,8 +39,11 @@ github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHo
 github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
 github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
+github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
 github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
@@ -40,24 +51,36 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
 github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
+github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
 github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
 github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/evanphx/json-patch v4.2.0+incompatible h1:fUDGZCv/7iAN7u0puUVhvKCcsR6vRfwrJatElLBEf0I=
 github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
 github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
+github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
 github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
+github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
 github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
 github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
 github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
 github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
 github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
 github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
+github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
 github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
 github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
 github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
@@ -65,63 +88,87 @@ github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+
 github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
 github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
 github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
+github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
 github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
 github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
 github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
 github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
+github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
 github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
 github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
 github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
 github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
+github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk=
 github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
 github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
+github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
 github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
 github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
 github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
 github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
+github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
 github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
 github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
 github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
+github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
 github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
 github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
 github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
 github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
+github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
 github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
 github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
+github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
+github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
 github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d h1:3PaI8p3seN09VjbTYC/QWlUZdZ1qS1zGjy7LH2Wt07I=
 github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
+github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
+github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
 github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
 github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
 github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
 github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
+github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
 github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d h1:7XGaL1e6bYS1yIonGp9761ExpPPV1ui0SAC59Yube9k=
 github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
+github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
 github.com/googleapis/gnostic v0.3.1 h1:WeAefnSUHlBb0iJKwxFDZdbfGwkd7xRNuV+IpXMJhYk=
 github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
 github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
+github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
+github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
 github.com/grpc-ecosystem/go-grpc-middleware v0.0.0-20190222133341-cfaf5686ec79/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
 github.com/grpc-ecosystem/grpc-gateway v1.3.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
+github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
@@ -135,10 +182,15 @@ github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBv
 github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
 github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo=
 github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
+github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
 github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
@@ -148,6 +200,11 @@ github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN
 github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
+github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
+github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
 github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
@@ -159,14 +216,20 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
 github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
 github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
+github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
 github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.4.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
 github.com/onsi/gomega v1.3.0/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
 github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA=
 github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
 github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
 github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
@@ -176,21 +239,36 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
 github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
+github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
+github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
 github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
+github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
 github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
+github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
 github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
+github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
 github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
 github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
 github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
 github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
 github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
 github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
 github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -198,23 +276,39 @@ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH
 github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
 github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
 github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
+github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
 github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
 github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
+go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
+go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
+go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
 go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
 go.uber.org/atomic v0.0.0-20181018215023-8dc6146f7569/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/multierr v0.0.0-20180122172545-ddea229ff1df/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
 go.uber.org/zap v0.0.0-20180814183419-67bc79d13d15/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
 go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU=
 golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo=
+golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -230,15 +324,22 @@ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73r
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc h1:gkKoSkUmnU6bpS/VhkuO27bzQeSA51uaEfbOW5dNb68=
 golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI=
+golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
@@ -252,7 +353,10 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180117170059-2c42eef0765b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -262,18 +366,26 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f h1:25KHgbfyiSm6vwQLbM3zZIe1v9p/3ea4Rz+nnM5K/i4=
 golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7 h1:HmbHVPwrPEKPGLAcHSrMe6+hqSUlvZU0rab6x5EXfGU=
+golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
@@ -281,7 +393,9 @@ golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3
 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU=
 gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
@@ -295,23 +409,33 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoA
 google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
 google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
 google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/inf.v0 v0.9.0 h1:3zYtXIO92bvsdS3ggAdA8Gb4Azj0YU+TVY1uGYNFA8o=
 gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
 gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
 gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
 gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
+gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
 gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
+gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.0.0/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
@@ -319,35 +443,61 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
 k8s.io/api v0.0.0-20190918155943-95b840bb6a1f/go.mod h1:uWuOHnjmNrtQomJrvEBg0c0HRNyQ+8KTEERVsK0PW48=
 k8s.io/api v0.16.4 h1:O06Ed/hgLiCrzW1SHp6HAhqcTnYHtK80bP5rXoHakpM=
 k8s.io/api v0.16.4/go.mod h1:AtzMnsR45tccQss5q8RnF+W8L81DH6XwXwo/joEx9u0=
+k8s.io/api v0.18.2 h1:wG5g5ZmSVgm5B+eHMIbI9EGATS2L8Z72rda19RIEgY8=
+k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78=
 k8s.io/apiextensions-apiserver v0.0.0-20190918161926-8f644eb6e783/go.mod h1:xvae1SZB3E17UpV59AWc271W/Ph25N+bjPyR63X6tPY=
+k8s.io/apiextensions-apiserver v0.18.2/go.mod h1:q3faSnRGmYimiocj6cHQ1I3WpLqmDgJFlKL37fC4ZvY=
 k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655/go.mod h1:nL6pwRT8NgfF8TT68DBI8uEePRt89cSvoXUVqbkWHq4=
 k8s.io/apimachinery v0.16.4 h1:+VNiyTcctUvBBRUxfulwL2I6TGratkR1oAoULuas/HI=
 k8s.io/apimachinery v0.16.4/go.mod h1:llRdnznGEAqC3DcNm6yEj472xaFVfLM7hnYofMb12tQ=
+k8s.io/apimachinery v0.18.2 h1:44CmtbmkzVDAhCpRVSiP2R5PPrC2RtlIv/MoB8xpdRA=
+k8s.io/apimachinery v0.18.2/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA=
 k8s.io/apiserver v0.0.0-20190918160949-bfa5e2e684ad/go.mod h1:XPCXEwhjaFN29a8NldXA901ElnKeKLrLtREO9ZhFyhg=
+k8s.io/apiserver v0.18.2/go.mod h1:Xbh066NqrZO8cbsoenCwyDJ1OSi8Ag8I2lezeHxzwzw=
 k8s.io/client-go v0.0.0-20190918160344-1fbdaa4c8d90/go.mod h1:J69/JveO6XESwVgG53q3Uz5OSfgsv4uxpScmmyYOOlk=
 k8s.io/client-go v0.16.4 h1:sf+FEZXYhJNjpTZapQDLvvN+0kBeUTxCYxlXcVdhv2E=
 k8s.io/client-go v0.16.4/go.mod h1:ZgxhFDxSnoKY0J0U2/Y1C8obKDdlhGPZwA7oHH863Ok=
+k8s.io/client-go v0.18.2 h1:aLB0iaD4nmwh7arT2wIn+lMnAq7OswjaejkQ8p9bBYE=
+k8s.io/client-go v0.18.2/go.mod h1:Xcm5wVGXX9HAA2JJ2sSBUn3tCJ+4SVlCbl2MNNv+CIU=
 k8s.io/code-generator v0.0.0-20190912054826-cd179ad6a269/go.mod h1:V5BD6M4CyaN5m+VthcclXWsVcT1Hu+glwa1bi3MIsyE=
+k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc=
 k8s.io/component-base v0.0.0-20190918160511-547f6c5d7090/go.mod h1:933PBGtQFJky3TEwYx4aEPZ4IxqhWh3R6DCmzqIn1hA=
+k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM=
 k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
+k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
 k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
 k8s.io/klog v0.4.0 h1:lCJCxf/LIowc2IGS9TPjWDyXY4nOmdGdfcwwDQCOURQ=
 k8s.io/klog v0.4.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
+k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
+k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
 k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf h1:EYm5AW/UUDbnmnI+gK0TJDVK9qPLhM+sRHYanNKw0EQ=
 k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
+k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c h1:/KUFqjjqAcY4Us6luF5RDNZ16KJtb49HfR3ZHB9qYXM=
+k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
 k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE=
 k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
+k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89 h1:d4vVOjXm687F1iLSP2q3lyPPuyvTUt3aVoBpi2DqRsU=
+k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
 modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
 modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
 modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
 modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
 modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
+sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0=
 sigs.k8s.io/controller-runtime v0.4.0 h1:wATM6/m+3w8lj8FXNaO6Fs/rq/vqoOjO1Q116Z9NPsg=
 sigs.k8s.io/controller-runtime v0.4.0/go.mod h1:ApC79lpY3PHW9xj/w9pj+lYkLgwAAUZwfXkME1Lajns=
+sigs.k8s.io/controller-runtime v0.6.0 h1:Fzna3DY7c4BIP6KwfSlrfnj20DJ+SeMBK8HSFvOk9NM=
+sigs.k8s.io/controller-runtime v0.6.0/go.mod h1:CpYf5pdNY/B352A1TFLAS2JVSlnGQ5O2cftPHndTroo=
+sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ=
 sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
 sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
+sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
+sigs.k8s.io/structured-merge-diff/v3 v3.0.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E=
+sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
 sigs.k8s.io/testing_frameworks v0.1.2/go.mod h1:ToQrwSC3s8Xf/lADdZp3Mktcql9CG0UAmdJG9th5i0w=
 sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
 sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
+sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
+sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
diff --git a/pkg/apis/camel/v1/build_types.go b/pkg/apis/camel/v1/build_types.go
index 8b40734..18429b4 100644
--- a/pkg/apis/camel/v1/build_types.go
+++ b/pkg/apis/camel/v1/build_types.go
@@ -171,7 +171,3 @@ type BuildCondition struct {
 	// A human readable message indicating details about the transition.
 	Message string `json:"message,omitempty"`
 }
-
-func init() {
-	SchemeBuilder.Register(&Build{}, &BuildList{})
-}
diff --git a/pkg/apis/camel/v1/camelcatalog_types.go b/pkg/apis/camel/v1/camelcatalog_types.go
index 05c782c..fb8db99 100644
--- a/pkg/apis/camel/v1/camelcatalog_types.go
+++ b/pkg/apis/camel/v1/camelcatalog_types.go
@@ -101,7 +101,3 @@ const (
 	// RuntimeProviderQuarkus --
 	RuntimeProviderQuarkus RuntimeProvider = "quarkus"
 )
-
-func init() {
-	SchemeBuilder.Register(&CamelCatalog{}, &CamelCatalogList{})
-}
diff --git a/pkg/apis/camel/v1/integration_types.go b/pkg/apis/camel/v1/integration_types.go
index 91491cd..ee98043 100644
--- a/pkg/apis/camel/v1/integration_types.go
+++ b/pkg/apis/camel/v1/integration_types.go
@@ -248,7 +248,3 @@ type IntegrationCondition struct {
 	// A human readable message indicating details about the transition.
 	Message string `json:"message,omitempty"`
 }
-
-func init() {
-	SchemeBuilder.Register(&Integration{}, &IntegrationList{})
-}
diff --git a/pkg/apis/camel/v1/integrationkit_types.go b/pkg/apis/camel/v1/integrationkit_types.go
index 767cd6f..eef5e2e 100644
--- a/pkg/apis/camel/v1/integrationkit_types.go
+++ b/pkg/apis/camel/v1/integrationkit_types.go
@@ -126,7 +126,3 @@ type IntegrationKitCondition struct {
 	// A human readable message indicating details about the transition.
 	Message string `json:"message,omitempty"`
 }
-
-func init() {
-	SchemeBuilder.Register(&IntegrationKit{}, &IntegrationKitList{})
-}
diff --git a/pkg/apis/camel/v1/integrationplatform_types.go b/pkg/apis/camel/v1/integrationplatform_types.go
index 143649f..f112597 100644
--- a/pkg/apis/camel/v1/integrationplatform_types.go
+++ b/pkg/apis/camel/v1/integrationplatform_types.go
@@ -202,7 +202,3 @@ type IntegrationPlatformCondition struct {
 	// A human readable message indicating details about the transition.
 	Message string `json:"message,omitempty"`
 }
-
-func init() {
-	SchemeBuilder.Register(&IntegrationPlatform{}, &IntegrationPlatformList{})
-}
diff --git a/pkg/apis/camel/v1/register.go b/pkg/apis/camel/v1/register.go
index 46c8eb6..d74c015 100644
--- a/pkg/apis/camel/v1/register.go
+++ b/pkg/apis/camel/v1/register.go
@@ -23,8 +23,9 @@ limitations under the License.
 package v1
 
 import (
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/apimachinery/pkg/runtime/schema"
-	"sigs.k8s.io/controller-runtime/pkg/scheme"
 )
 
 var (
@@ -32,7 +33,7 @@ var (
 	SchemeGroupVersion = schema.GroupVersion{Group: "camel.apache.org", Version: "v1"}
 
 	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
-	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
+	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
 
 	// AddToScheme is a shortcut to SchemeBuilder.AddToScheme
 	AddToScheme = SchemeBuilder.AddToScheme
@@ -42,3 +43,21 @@ var (
 func Resource(resource string) schema.GroupResource {
 	return SchemeGroupVersion.WithResource(resource).GroupResource()
 }
+
+// Adds the list of known types to Scheme.
+func addKnownTypes(scheme *runtime.Scheme) error {
+	scheme.AddKnownTypes(SchemeGroupVersion,
+		&Integration{},
+		&IntegrationList{},
+		&IntegrationKit{},
+		&IntegrationKitList{},
+		&IntegrationPlatform{},
+		&IntegrationPlatformList{},
+		&CamelCatalog{},
+		&CamelCatalogList{},
+		&Build{},
+		&BuildList{},
+	)
+	metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
+	return nil
+}


[camel-k] 02/07: API: remove unnecessary packages

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit f4d78bec691ce2f1303c80d5844d60a3f9042d98
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Apr 30 17:46:50 2020 +0200

    API: remove unnecessary packages
---
 pkg/apis/addtoscheme_knative_eventing.go         |  33 --
 pkg/apis/addtoscheme_knative_serving.go          |  27 --
 pkg/apis/addtoscheme_monitoring.go               |  25 --
 pkg/apis/addtoscheme_olm.go                      |  29 --
 pkg/apis/addtoscheme_openshift.go                |  25 --
 pkg/util/camel/camel_runtime.go                  |  50 ---
 pkg/util/camel/camel_runtime_catalog.go          | 123 -------
 pkg/util/camel/camel_types.go                    |  50 ---
 pkg/util/camel/camel_util.go                     |  96 -----
 pkg/util/camel/camel_util_test.go                |  73 ----
 pkg/util/cancellable/cancellable.go              |  51 ---
 pkg/util/config/config.go                        |  18 -
 pkg/util/controller/util.go                      |  45 ---
 pkg/util/defaults/defaults.go                    |  45 ---
 pkg/util/digest/digest.go                        | 193 ----------
 pkg/util/envvar/envvar.go                        |  98 -----
 pkg/util/envvar/envvar_test.go                   | 103 ------
 pkg/util/gzip/compress.go                        |  93 -----
 pkg/util/gzip/compress_test.go                   |  33 --
 pkg/util/indentedwriter/writer.go                |  74 ----
 pkg/util/knative/apis.go                         | 225 ------------
 pkg/util/knative/apis_test.go                    | 165 ---------
 pkg/util/knative/enabled.go                      |  93 -----
 pkg/util/knative/knative.go                      | 166 ---------
 pkg/util/knative/uri.go                          | 104 ------
 pkg/util/knative/uri_test.go                     |  98 -----
 pkg/util/kubernetes/camel_labels.go              |  74 ----
 pkg/util/kubernetes/collection.go                | 437 -----------------------
 pkg/util/kubernetes/customclient/customclient.go |  85 -----
 pkg/util/kubernetes/customclient/scheme.go       |  66 ----
 pkg/util/kubernetes/errors.go                    |  26 --
 pkg/util/kubernetes/loader.go                    |  76 ----
 pkg/util/kubernetes/log/annotation_scraper.go    | 173 ---------
 pkg/util/kubernetes/log/pod_scraper.go           | 215 -----------
 pkg/util/kubernetes/log/util.go                  |  41 ---
 pkg/util/kubernetes/permission.go                |  54 ---
 pkg/util/kubernetes/replace.go                   | 150 --------
 pkg/util/kubernetes/resolver.go                  | 132 -------
 pkg/util/kubernetes/sanitize.go                  |  52 ---
 pkg/util/kubernetes/sanitize_test.go             |  46 ---
 pkg/util/kubernetes/util.go                      | 245 -------------
 pkg/util/kubernetes/wait.go                      |  72 ----
 pkg/util/log/log.go                              | 196 ----------
 pkg/util/maven/maven.go                          | 168 ---------
 pkg/util/maven/maven_project.go                  | 199 -----------
 pkg/util/maven/maven_project_test.go             | 235 ------------
 pkg/util/maven/maven_settings.go                 | 113 ------
 pkg/util/maven/maven_settings_test.go            | 239 -------------
 pkg/util/maven/maven_types.go                    | 237 ------------
 pkg/util/minikube/registry.go                    |  66 ----
 pkg/util/monitoring/register.go                  |  47 ---
 pkg/util/olm/available.go                        |  62 ----
 pkg/util/olm/operator.go                         | 292 ---------------
 pkg/util/openshift/openshift.go                  |  34 --
 pkg/util/openshift/register.go                   |  66 ----
 pkg/util/patch/patch.go                          |  91 -----
 pkg/util/registry/registry.go                    |  97 -----
 pkg/util/registry/registry_test.go               |  68 ----
 pkg/util/source/inspector.go                     | 320 -----------------
 pkg/util/source/inspector_groovy.go              |  62 ----
 pkg/util/source/inspector_java_script.go         |  62 ----
 pkg/util/source/inspector_java_source.go         |  58 ---
 pkg/util/source/inspector_kotlin.go              |  58 ---
 pkg/util/source/inspector_xml.go                 |  86 -----
 pkg/util/source/inspector_yaml.go                | 137 -------
 pkg/util/source/inspector_yaml_test.go           | 106 ------
 pkg/util/source/types.go                         |  50 ---
 pkg/util/sync/file.go                            |  57 ---
 pkg/util/sync/file_test.go                       |  69 ----
 pkg/util/test/assertions.go                      |  52 ---
 pkg/util/test/catalog_test.go                    |  43 ---
 pkg/util/test/client.go                          |  67 ----
 pkg/util/test/cmd.go                             |  46 ---
 pkg/util/uri/uri.go                              |  58 ---
 pkg/util/uri/uri_test.go                         |  91 -----
 pkg/util/util.go                                 | 223 ------------
 pkg/util/watch/watch.go                          | 311 ----------------
 pkg/util/zip/zip.go                              |  64 ----
 78 files changed, 8309 deletions(-)

diff --git a/pkg/apis/addtoscheme_knative_eventing.go b/pkg/apis/addtoscheme_knative_eventing.go
deleted file mode 100644
index ef0486b..0000000
--- a/pkg/apis/addtoscheme_knative_eventing.go
+++ /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.
-*/
-
-package apis
-
-import (
-	eventingv1alpha1 "knative.dev/eventing/pkg/apis/eventing/v1alpha1"
-	eventingv1beta1 "knative.dev/eventing/pkg/apis/eventing/v1beta1"
-	messagingv1alpha1 "knative.dev/eventing/pkg/apis/messaging/v1alpha1"
-	messagingv1beta1 "knative.dev/eventing/pkg/apis/messaging/v1beta1"
-)
-
-func init() {
-	// Register the types with the Scheme so the components can map objects to GroupVersionKinds and back
-	AddToSchemes = append(AddToSchemes, eventingv1alpha1.AddToScheme)
-	AddToSchemes = append(AddToSchemes, eventingv1beta1.AddToScheme)
-	AddToSchemes = append(AddToSchemes, messagingv1alpha1.AddToScheme)
-	AddToSchemes = append(AddToSchemes, messagingv1beta1.AddToScheme)
-}
diff --git a/pkg/apis/addtoscheme_knative_serving.go b/pkg/apis/addtoscheme_knative_serving.go
deleted file mode 100644
index f270608..0000000
--- a/pkg/apis/addtoscheme_knative_serving.go
+++ /dev/null
@@ -1,27 +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 apis
-
-import (
-	serving "knative.dev/serving/pkg/apis/serving/v1"
-)
-
-func init() {
-	// Register the types with the Scheme so the components can map objects to GroupVersionKinds and back
-	AddToSchemes = append(AddToSchemes, serving.AddToScheme)
-}
diff --git a/pkg/apis/addtoscheme_monitoring.go b/pkg/apis/addtoscheme_monitoring.go
deleted file mode 100644
index 248772d..0000000
--- a/pkg/apis/addtoscheme_monitoring.go
+++ /dev/null
@@ -1,25 +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 apis
-
-import "github.com/apache/camel-k/pkg/util/monitoring"
-
-func init() {
-	// Register the types with the Scheme so the components can map objects to GroupVersionKinds and back
-	AddToSchemes = append(AddToSchemes, monitoring.AddToScheme)
-}
diff --git a/pkg/apis/addtoscheme_olm.go b/pkg/apis/addtoscheme_olm.go
deleted file mode 100644
index d891e98..0000000
--- a/pkg/apis/addtoscheme_olm.go
+++ /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.
-*/
-
-package apis
-
-import (
-	olmv1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1"
-	olmv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1"
-)
-
-func init() {
-	// Register the types with the Scheme so the components can map objects to GroupVersionKinds and back
-	AddToSchemes = append(AddToSchemes, olmv1alpha1.AddToScheme)
-	AddToSchemes = append(AddToSchemes, olmv1.AddToScheme)
-}
diff --git a/pkg/apis/addtoscheme_openshift.go b/pkg/apis/addtoscheme_openshift.go
deleted file mode 100644
index 13f6b53..0000000
--- a/pkg/apis/addtoscheme_openshift.go
+++ /dev/null
@@ -1,25 +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 apis
-
-import "github.com/apache/camel-k/pkg/util/openshift"
-
-func init() {
-	// Register the types with the Scheme so the components can map objects to GroupVersionKinds and back
-	AddToSchemes = append(AddToSchemes, openshift.AddToScheme)
-}
diff --git a/pkg/util/camel/camel_runtime.go b/pkg/util/camel/camel_runtime.go
deleted file mode 100644
index 2d6a345..0000000
--- a/pkg/util/camel/camel_runtime.go
+++ /dev/null
@@ -1,50 +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 camel
-
-import (
-	"context"
-
-	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/client"
-)
-
-// LoadCatalog --
-func LoadCatalog(ctx context.Context, client client.Client, namespace string, runtime v1.RuntimeSpec) (*RuntimeCatalog, error) {
-	options := []k8sclient.ListOption{
-		k8sclient.InNamespace(namespace),
-		k8sclient.MatchingLabels{
-			"camel.apache.org/runtime.provider": string(runtime.Provider),
-		},
-	}
-
-	list := v1.NewCamelCatalogList()
-	err := client.List(ctx, &list, options...)
-	if err != nil {
-		return nil, err
-	}
-
-	catalog, err := findBestMatch(list.Items, runtime)
-	if err != nil {
-		return nil, err
-	}
-
-	return catalog, nil
-}
diff --git a/pkg/util/camel/camel_runtime_catalog.go b/pkg/util/camel/camel_runtime_catalog.go
deleted file mode 100644
index 8153299..0000000
--- a/pkg/util/camel/camel_runtime_catalog.go
+++ /dev/null
@@ -1,123 +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 camel
-
-import (
-	"strings"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-)
-
-// NewRuntimeCatalog --
-func NewRuntimeCatalog(spec v1.CamelCatalogSpec) *RuntimeCatalog {
-	catalog := RuntimeCatalog{}
-	catalog.CamelCatalogSpec = spec
-	catalog.artifactByScheme = make(map[string]string)
-	catalog.schemesByID = make(map[string]v1.CamelScheme)
-	catalog.languageDependencies = make(map[string]string)
-	catalog.javaTypeDependencies = make(map[string]string)
-
-	for id, artifact := range catalog.Artifacts {
-		for _, scheme := range artifact.Schemes {
-			scheme := scheme
-			catalog.artifactByScheme[scheme.ID] = id
-			catalog.schemesByID[scheme.ID] = scheme
-		}
-		for _, language := range artifact.Languages {
-			// Skip languages in common dependencies since they are always available to integrations
-			if artifact.ArtifactID != "camel-base" {
-				catalog.languageDependencies[language] = getDependency(artifact, catalog.Runtime.Provider)
-			}
-		}
-		for _, javaType := range artifact.JavaTypes {
-			// Skip types in common dependencies since they are always available to integrations
-			if artifact.ArtifactID != "camel-base" {
-				catalog.javaTypeDependencies[javaType] = getDependency(artifact, catalog.Runtime.Provider)
-			}
-		}
-	}
-
-	return &catalog
-}
-
-// RuntimeCatalog --
-type RuntimeCatalog struct {
-	v1.CamelCatalogSpec
-
-	artifactByScheme     map[string]string
-	schemesByID          map[string]v1.CamelScheme
-	languageDependencies map[string]string
-	javaTypeDependencies map[string]string
-}
-
-// HasArtifact --
-func (c *RuntimeCatalog) HasArtifact(artifact string) bool {
-	if !strings.HasPrefix(artifact, "camel-") {
-		artifact = "camel-" + artifact
-	}
-
-	_, ok := c.Artifacts[artifact]
-
-	return ok
-}
-
-// GetArtifactByScheme returns the artifact corresponding to the given component scheme
-func (c *RuntimeCatalog) GetArtifactByScheme(scheme string) *v1.CamelArtifact {
-	if id, ok := c.artifactByScheme[scheme]; ok {
-		if artifact, present := c.Artifacts[id]; present {
-			return &artifact
-		}
-	}
-	return nil
-}
-
-// GetScheme returns the scheme definition for the given scheme id
-func (c *RuntimeCatalog) GetScheme(id string) (v1.CamelScheme, bool) {
-	scheme, ok := c.schemesByID[id]
-	return scheme, ok
-}
-
-// GetLanguageDependency returns the maven dependency for the given language name
-func (c *RuntimeCatalog) GetLanguageDependency(language string) (string, bool) {
-	language, ok := c.languageDependencies[language]
-	return language, ok
-}
-
-// GetJavaTypeDependency returns the maven dependency for the given type name
-func (c *RuntimeCatalog) GetJavaTypeDependency(camelType string) (string, bool) {
-	javaType, ok := c.javaTypeDependencies[camelType]
-	return javaType, ok
-}
-
-// VisitArtifacts --
-func (c *RuntimeCatalog) VisitArtifacts(visitor func(string, v1.CamelArtifact) bool) {
-	for id, artifact := range c.Artifacts {
-		if !visitor(id, artifact) {
-			break
-		}
-	}
-}
-
-// VisitSchemes --
-func (c *RuntimeCatalog) VisitSchemes(visitor func(string, v1.CamelScheme) bool) {
-	for id, scheme := range c.schemesByID {
-		if !visitor(id, scheme) {
-			break
-		}
-	}
-}
diff --git a/pkg/util/camel/camel_types.go b/pkg/util/camel/camel_types.go
deleted file mode 100644
index 7dd776a..0000000
--- a/pkg/util/camel/camel_types.go
+++ /dev/null
@@ -1,50 +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 camel
-
-import (
-	"github.com/Masterminds/semver"
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-)
-
-// CatalogVersion --
-type CatalogVersion struct {
-	RuntimeVersion *semver.Version
-	Catalog        *v1.CamelCatalog
-}
-
-// CatalogVersionCollection --
-type CatalogVersionCollection []CatalogVersion
-
-// Len returns the length of a collection. The number of CatalogVersion instances
-// on the slice.
-func (c CatalogVersionCollection) Len() int {
-	return len(c)
-}
-
-// Less is needed for the sort interface to compare two CatalogVersion objects on the
-// slice. If checks if one is less than the other.
-func (c CatalogVersionCollection) Less(i, j int) bool {
-	return c[i].RuntimeVersion.LessThan(c[j].RuntimeVersion)
-}
-
-// Swap is needed for the sort interface to replace the CatalogVersion objects
-// at two different positions in the slice.
-func (c CatalogVersionCollection) Swap(i, j int) {
-	c[i], c[j] = c[j], c[i]
-}
diff --git a/pkg/util/camel/camel_util.go b/pkg/util/camel/camel_util.go
deleted file mode 100644
index 055eefe..0000000
--- a/pkg/util/camel/camel_util.go
+++ /dev/null
@@ -1,96 +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 camel
-
-import (
-	"sort"
-	"strings"
-
-	"github.com/Masterminds/semver"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util/log"
-)
-
-func findBestMatch(catalogs []v1.CamelCatalog, runtime v1.RuntimeSpec) (*RuntimeCatalog, error) {
-	for _, catalog := range catalogs {
-		if catalog.Spec.Runtime.Version == runtime.Version && catalog.Spec.Runtime.Provider == runtime.Provider {
-			return NewRuntimeCatalog(catalog.Spec), nil
-		}
-	}
-
-	rc := newSemVerConstraint(runtime.Version)
-	if rc == nil {
-		return nil, nil
-	}
-
-	cc := newCatalogVersionCollection(catalogs)
-	for _, c := range cc {
-		if rc.Check(c.RuntimeVersion) {
-			return NewRuntimeCatalog(c.Catalog.Spec), nil
-		}
-	}
-
-	return nil, nil
-}
-
-func newSemVerConstraint(versionConstraint string) *semver.Constraints {
-	constraint, err := semver.NewConstraint(versionConstraint)
-	if err != nil || constraint == nil {
-		if err != nil {
-			log.Debug("Unable to parse version constraint: %s, error:\n", versionConstraint, err.Error())
-		}
-		if constraint == nil {
-			log.Debug("Unable to parse version constraint: %s\n", versionConstraint)
-		}
-	}
-
-	return constraint
-}
-
-func newCatalogVersionCollection(catalogs []v1.CamelCatalog) CatalogVersionCollection {
-	versions := make([]CatalogVersion, 0, len(catalogs))
-
-	for i := range catalogs {
-		rv, err := semver.NewVersion(catalogs[i].Spec.Runtime.Version)
-		if err != nil {
-			log.Debugf("Invalid semver version (runtime) %s", rv)
-			continue
-		}
-
-		versions = append(versions, CatalogVersion{
-			RuntimeVersion: rv,
-			Catalog:        &catalogs[i],
-		})
-	}
-
-	answer := CatalogVersionCollection(versions)
-
-	sort.Sort(
-		sort.Reverse(answer),
-	)
-
-	return answer
-}
-
-func getDependency(artifact v1.CamelArtifact, runtimeProvider v1.RuntimeProvider) string {
-	if runtimeProvider == v1.RuntimeProviderQuarkus {
-		return strings.Replace(artifact.ArtifactID, "camel-quarkus-", "camel-quarkus:", 1)
-	}
-	return strings.Replace(artifact.ArtifactID, "camel-", "camel:", 1)
-}
diff --git a/pkg/util/camel/camel_util_test.go b/pkg/util/camel/camel_util_test.go
deleted file mode 100644
index 2caec80..0000000
--- a/pkg/util/camel/camel_util_test.go
+++ /dev/null
@@ -1,73 +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 camel
-
-import (
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-)
-
-func TestFindBestMatch(t *testing.T) {
-	catalogs := []v1.CamelCatalog{
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.0", Provider: v1.RuntimeProviderMain}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.1", Provider: v1.RuntimeProviderMain}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.0", Provider: v1.RuntimeProviderQuarkus}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.1", Provider: v1.RuntimeProviderQuarkus}}},
-	}
-
-	c, err := findBestMatch(catalogs, v1.RuntimeSpec{Version: "~1.0.x", Provider: v1.RuntimeProviderMain})
-	assert.Nil(t, err)
-	assert.NotNil(t, c)
-	assert.Equal(t, "1.0.1", c.Runtime.Version)
-	assert.Equal(t, v1.RuntimeProviderMain, c.Runtime.Provider)
-}
-
-func TestFindExactSemVerMatch(t *testing.T) {
-	catalogs := []v1.CamelCatalog{
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.0", Provider: v1.RuntimeProviderMain}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.1", Provider: v1.RuntimeProviderMain}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.0", Provider: v1.RuntimeProviderQuarkus}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.1", Provider: v1.RuntimeProviderQuarkus}}},
-	}
-
-	c, err := findBestMatch(catalogs, v1.RuntimeSpec{Version: "1.0.0", Provider: v1.RuntimeProviderMain})
-	assert.Nil(t, err)
-	assert.NotNil(t, c)
-	assert.Equal(t, "1.0.0", c.Runtime.Version)
-	assert.Equal(t, v1.RuntimeProviderMain, c.Runtime.Provider)
-}
-
-func TestFindRangeMatch(t *testing.T) {
-	catalogs := []v1.CamelCatalog{
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.0", Provider: v1.RuntimeProviderMain}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.1", Provider: v1.RuntimeProviderMain}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.2", Provider: v1.RuntimeProviderMain}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.0", Provider: v1.RuntimeProviderQuarkus}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.1", Provider: v1.RuntimeProviderQuarkus}}},
-		{Spec: v1.CamelCatalogSpec{Runtime: v1.RuntimeSpec{Version: "1.0.2", Provider: v1.RuntimeProviderQuarkus}}},
-	}
-
-	c, err := findBestMatch(catalogs, v1.RuntimeSpec{Version: "> 1.0.1, < 1.0.3", Provider: v1.RuntimeProviderMain})
-	assert.Nil(t, err)
-	assert.NotNil(t, c)
-	assert.Equal(t, "1.0.2", c.Runtime.Version)
-	assert.Equal(t, v1.RuntimeProviderMain, c.Runtime.Provider)
-}
diff --git a/pkg/util/cancellable/cancellable.go b/pkg/util/cancellable/cancellable.go
deleted file mode 100644
index 3e90d31..0000000
--- a/pkg/util/cancellable/cancellable.go
+++ /dev/null
@@ -1,51 +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 cancellable
-
-import "context"
-
-// Context --
-type Context interface {
-	context.Context
-
-	Cancel()
-}
-
-// NewContext --
-func NewContext() Context {
-	return NewContextWithParent(context.TODO())
-}
-
-// NewContextWithParent --
-func NewContextWithParent(parent context.Context) Context {
-	c, cc := context.WithCancel(parent)
-
-	return &cancellableContext{
-		Context: c,
-		cancel:  cc,
-	}
-}
-
-type cancellableContext struct {
-	context.Context
-	cancel func()
-}
-
-func (c *cancellableContext) Cancel() {
-	c.cancel()
-}
diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go
deleted file mode 100644
index 8ab6ad0..0000000
--- a/pkg/util/config/config.go
+++ /dev/null
@@ -1,18 +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 config
diff --git a/pkg/util/controller/util.go b/pkg/util/controller/util.go
deleted file mode 100644
index b80c94e..0000000
--- a/pkg/util/controller/util.go
+++ /dev/null
@@ -1,45 +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 controller
-
-import (
-	"k8s.io/apimachinery/pkg/labels"
-	"k8s.io/apimachinery/pkg/selection"
-	"sigs.k8s.io/controller-runtime/pkg/client"
-)
-
-type MatchingSelector struct {
-	Selector labels.Selector
-}
-
-func (s MatchingSelector) ApplyToList(opts *client.ListOptions) {
-	opts.LabelSelector = s.Selector
-}
-
-func (s MatchingSelector) ApplyToDeleteAllOf(opts *client.DeleteAllOfOptions) {
-	opts.LabelSelector = s.Selector
-}
-
-func NewLabelSelector(key string, op selection.Operator, values []string) MatchingSelector {
-	provider, _ := labels.NewRequirement(key, op, values)
-	selector := labels.NewSelector().Add(*provider)
-
-	return MatchingSelector{
-		Selector: selector,
-	}
-}
diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults.go
deleted file mode 100644
index 91febcb..0000000
--- a/pkg/util/defaults/defaults.go
+++ /dev/null
@@ -1,45 +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 defaults
-
-// ***********************
-//  DO NOT EDIT THIS FILE
-// ***********************
-
-const (
-	// Version --
-	Version = "1.0.0-SNAPSHOT"
-
-	// DefaultRuntimeVersion --
-	DefaultRuntimeVersion = "1.3.0-SNAPSHOT"
-
-	// BuildahVersion --
-	BuildahVersion = "1.14.0"
-
-	// KanikoVersion --
-	KanikoVersion = "0.17.1"
-
-	// BaseImage --
-	BaseImage = "adoptopenjdk/openjdk11:slim"
-
-	// LocalRepository --
-	LocalRepository = "/tmp/artifacts/m2"
-
-	// ImageName --
-	ImageName = "docker.io/apache/camel-k"
-)
diff --git a/pkg/util/digest/digest.go b/pkg/util/digest/digest.go
deleted file mode 100644
index c79f045..0000000
--- a/pkg/util/digest/digest.go
+++ /dev/null
@@ -1,193 +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 digest
-
-import (
-	// nolint: gosec
-	"crypto/sha1"
-	"crypto/sha256"
-	"encoding/base64"
-	"io"
-	"os"
-	"path"
-	"sort"
-	"strconv"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util"
-	"github.com/apache/camel-k/pkg/util/defaults"
-)
-
-// ComputeForIntegration a digest of the fields that are relevant for the deployment
-// Produces a digest that can be used as docker image tag
-func ComputeForIntegration(integration *v1.Integration) (string, error) {
-	hash := sha256.New()
-	// Operator version is relevant
-	if _, err := hash.Write([]byte(defaults.Version)); err != nil {
-		return "", err
-	}
-	// Integration Kit is relevant
-	if _, err := hash.Write([]byte(integration.Spec.Kit)); err != nil {
-		return "", err
-	}
-	// Profile is relevant
-	if _, err := hash.Write([]byte(integration.Spec.Profile)); err != nil {
-		return "", err
-	}
-
-	// Integration code
-	for _, s := range integration.Spec.Sources {
-		if s.Content != "" {
-			if _, err := hash.Write([]byte(s.Content)); err != nil {
-				return "", err
-			}
-		}
-	}
-
-	// Integration resources
-	for _, item := range integration.Spec.Resources {
-		if _, err := hash.Write([]byte(item.Content)); err != nil {
-			return "", err
-		}
-	}
-
-	// Integration dependencies
-	for _, item := range integration.Spec.Dependencies {
-		if _, err := hash.Write([]byte(item)); err != nil {
-			return "", err
-		}
-	}
-
-	// Integration configuration
-	for _, item := range integration.Spec.Configuration {
-		if _, err := hash.Write([]byte(item.String())); err != nil {
-			return "", err
-		}
-	}
-
-	// Integration traits
-	for _, name := range sortedTraitSpecMapKeys(integration.Spec.Traits) {
-		if _, err := hash.Write([]byte(name + "[")); err != nil {
-			return "", err
-		}
-		spec := integration.Spec.Traits[name]
-		for _, prop := range util.SortedStringMapKeys(spec.Configuration) {
-			val := spec.Configuration[prop]
-			if _, err := hash.Write([]byte(prop + "=" + val + ",")); err != nil {
-				return "", err
-			}
-		}
-		if _, err := hash.Write([]byte("]")); err != nil {
-			return "", err
-		}
-	}
-
-	// Add a letter at the beginning and use URL safe encoding
-	digest := "v" + base64.RawURLEncoding.EncodeToString(hash.Sum(nil))
-	return digest, nil
-}
-
-// ComputeForIntegrationKit a digest of the fields that are relevant for the deployment
-// Produces a digest that can be used as docker image tag
-func ComputeForIntegrationKit(kit *v1.IntegrationKit) (string, error) {
-	hash := sha256.New()
-	// Operator version is relevant
-	if _, err := hash.Write([]byte(defaults.Version)); err != nil {
-		return "", err
-	}
-
-	for _, item := range kit.Spec.Dependencies {
-		if _, err := hash.Write([]byte(item)); err != nil {
-			return "", err
-		}
-	}
-	for _, item := range kit.Spec.Configuration {
-		if _, err := hash.Write([]byte(item.String())); err != nil {
-			return "", err
-		}
-	}
-
-	// Add a letter at the beginning and use URL safe encoding
-	digest := "v" + base64.RawURLEncoding.EncodeToString(hash.Sum(nil))
-	return digest, nil
-}
-
-// ComputeForResource returns a digest for the specific resource
-func ComputeForResource(res v1.ResourceSpec) (string, error) {
-	hash := sha256.New()
-	// Operator version is relevant
-	if _, err := hash.Write([]byte(defaults.Version)); err != nil {
-		return "", err
-	}
-
-	if _, err := hash.Write([]byte(res.Content)); err != nil {
-		return "", err
-	}
-	if _, err := hash.Write([]byte(res.Name)); err != nil {
-		return "", err
-	}
-	if _, err := hash.Write([]byte(res.Type)); err != nil {
-		return "", err
-	}
-	if _, err := hash.Write([]byte(res.ContentKey)); err != nil {
-		return "", err
-	}
-	if _, err := hash.Write([]byte(res.ContentRef)); err != nil {
-		return "", err
-	}
-	if _, err := hash.Write([]byte(res.MountPath)); err != nil {
-		return "", err
-	}
-	if _, err := hash.Write([]byte(strconv.FormatBool(res.Compression))); err != nil {
-		return "", err
-	}
-
-	// Add a letter at the beginning and use URL safe encoding
-	digest := "v" + base64.RawURLEncoding.EncodeToString(hash.Sum(nil))
-	return digest, nil
-}
-
-func sortedTraitSpecMapKeys(m map[string]v1.TraitSpec) []string {
-	res := make([]string, len(m))
-	i := 0
-	for k := range m {
-		res[i] = k
-		i++
-	}
-	sort.Strings(res)
-	return res
-}
-
-// ComputeSHA1 ---
-func ComputeSHA1(elem ...string) (string, error) {
-	file := path.Join(elem...)
-
-	f, err := os.Open(file)
-	if err != nil {
-		return "", err
-	}
-	defer f.Close()
-
-	// nolint: gosec
-	h := sha1.New()
-	if _, err := io.Copy(h, f); err != nil {
-		return "", err
-	}
-
-	return base64.StdEncoding.EncodeToString(h.Sum(nil)), nil
-}
diff --git a/pkg/util/envvar/envvar.go b/pkg/util/envvar/envvar.go
deleted file mode 100644
index 806c818..0000000
--- a/pkg/util/envvar/envvar.go
+++ /dev/null
@@ -1,98 +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 envvar
-
-import corev1 "k8s.io/api/core/v1"
-
-// Get --
-func Get(vars []corev1.EnvVar, name string) *corev1.EnvVar {
-	for i := 0; i < len(vars); i++ {
-		if vars[i].Name == name {
-			return &vars[i]
-		}
-	}
-
-	return nil
-}
-
-// Remove --
-func Remove(vars *[]corev1.EnvVar, name string) {
-	v := *vars
-	for i := 0; i < len(v); i++ {
-		if v[i].Name == name {
-			v = append(v[:i], v[i+1:]...)
-			*vars = v
-			return
-		}
-	}
-}
-
-// SetVal --
-func SetVal(vars *[]corev1.EnvVar, name string, value string) {
-	envVar := Get(*vars, name)
-
-	if envVar != nil {
-		envVar.Value = value
-		envVar.ValueFrom = nil
-	} else {
-		*vars = append(*vars, corev1.EnvVar{
-			Name:  name,
-			Value: value,
-		})
-	}
-}
-
-// SetVar --
-func SetVar(vars *[]corev1.EnvVar, newEnvVar corev1.EnvVar) {
-	envVar := Get(*vars, newEnvVar.Name)
-
-	if envVar != nil {
-		envVar.Value = newEnvVar.Value
-		envVar.ValueFrom = nil
-
-		if newEnvVar.ValueFrom != nil {
-			from := *newEnvVar.ValueFrom
-			envVar.ValueFrom = &from
-		}
-	} else {
-		*vars = append(*vars, newEnvVar)
-	}
-}
-
-// SetValFrom --
-func SetValFrom(vars *[]corev1.EnvVar, name string, path string) {
-	envVar := Get(*vars, name)
-
-	if envVar != nil {
-		envVar.Value = ""
-		envVar.ValueFrom = &corev1.EnvVarSource{
-			FieldRef: &corev1.ObjectFieldSelector{
-				FieldPath: path,
-			},
-		}
-	} else {
-		*vars = append(*vars, corev1.EnvVar{
-			Name: name,
-			ValueFrom: &corev1.EnvVarSource{
-				FieldRef: &corev1.ObjectFieldSelector{
-					FieldPath: path,
-				},
-			},
-		})
-	}
-}
diff --git a/pkg/util/envvar/envvar_test.go b/pkg/util/envvar/envvar_test.go
deleted file mode 100644
index 041341d..0000000
--- a/pkg/util/envvar/envvar_test.go
+++ /dev/null
@@ -1,103 +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 envvar
-
-import (
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-
-	corev1 "k8s.io/api/core/v1"
-)
-
-func TestGetEnvVar(t *testing.T) {
-	vars := []corev1.EnvVar{
-		{
-			Name:  "MyEnv",
-			Value: "MyValue",
-		},
-	}
-
-	ev := Get(vars, "MyEnv")
-
-	assert.NotNil(t, ev)
-	assert.Equal(t, "MyValue", ev.Value)
-	assert.Nil(t, ev.ValueFrom)
-
-	assert.Nil(t, Get(vars, "NotMyEnv"))
-}
-
-func TestModifyEnvVar(t *testing.T) {
-	vars := []corev1.EnvVar{
-		{
-			Name:  "MyEnv",
-			Value: "MyValue",
-		},
-	}
-
-	ev := Get(vars, "MyEnv")
-	assert.NotNil(t, ev)
-	assert.Equal(t, "MyValue", ev.Value)
-
-	ev.Value = "MyNewValue"
-
-	ev = Get(vars, "MyEnv")
-	assert.NotNil(t, ev)
-	assert.Equal(t, "MyNewValue", ev.Value)
-}
-
-func TestSetEnvVar(t *testing.T) {
-	vars := []corev1.EnvVar{
-		{
-			Name:  "MyEnv",
-			Value: "MyValue",
-		},
-	}
-
-	ev := Get(vars, "MyEnv")
-	assert.NotNil(t, ev)
-	assert.Equal(t, "MyValue", ev.Value)
-	assert.Nil(t, ev.ValueFrom)
-
-	SetVal(&vars, "MyEnv", "MyNewValue")
-
-	ev = Get(vars, "MyEnv")
-	assert.NotNil(t, ev)
-	assert.Equal(t, "MyNewValue", ev.Value)
-	assert.Nil(t, ev.ValueFrom)
-
-	SetVal(&vars, "MyNewEnv", "MyNewNewValue")
-
-	ev = Get(vars, "MyEnv")
-	assert.NotNil(t, ev)
-	assert.Equal(t, "MyNewValue", ev.Value)
-	assert.Nil(t, ev.ValueFrom)
-
-	ev = Get(vars, "MyNewEnv")
-	assert.NotNil(t, ev)
-	assert.Equal(t, "MyNewNewValue", ev.Value)
-	assert.Nil(t, ev.ValueFrom)
-
-	SetValFrom(&vars, "MyNewEnv", "metadata.namespace")
-
-	ev = Get(vars, "MyNewEnv")
-	assert.NotNil(t, ev)
-	assert.Equal(t, "", ev.Value)
-	assert.NotNil(t, ev.ValueFrom)
-	assert.Equal(t, "metadata.namespace", ev.ValueFrom.FieldRef.FieldPath)
-}
diff --git a/pkg/util/gzip/compress.go b/pkg/util/gzip/compress.go
deleted file mode 100644
index ede1ff2..0000000
--- a/pkg/util/gzip/compress.go
+++ /dev/null
@@ -1,93 +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 gzip
-
-import (
-	"bytes"
-	g "compress/gzip"
-	"encoding/base64"
-	"io"
-	"io/ioutil"
-)
-
-// Compress --
-func Compress(buffer io.Writer, data []byte) error {
-	gz := g.NewWriter(buffer)
-
-	if _, err := gz.Write(data); err != nil {
-		return err
-	}
-	if err := gz.Flush(); err != nil {
-		return err
-	}
-	if err := gz.Close(); err != nil {
-		return err
-	}
-
-	return nil
-}
-
-// CompressBase64 --
-func CompressBase64(data []byte) ([]byte, error) {
-	var b bytes.Buffer
-
-	if err := Compress(&b, data); err != nil {
-		return []byte{}, err
-	}
-
-	return []byte(base64.StdEncoding.EncodeToString(b.Bytes())), nil
-}
-
-// Uncompress --
-func Uncompress(buffer io.Writer, data []byte) error {
-	b := bytes.NewBuffer(data)
-	gz, err := g.NewReader(b)
-	if err != nil {
-		return err
-	}
-
-	defer gz.Close()
-
-	data, err = ioutil.ReadAll(gz)
-	if err != nil {
-		return err
-	}
-
-	_, err = buffer.Write(data)
-	if err != nil {
-		return err
-	}
-
-	return nil
-}
-
-// UncompressBase64 --
-func UncompressBase64(data []byte) ([]byte, error) {
-	d, err := base64.StdEncoding.DecodeString(string(data))
-	if err != nil {
-		return []byte{}, err
-	}
-
-	var b bytes.Buffer
-	err = Uncompress(&b, d)
-	if err != nil {
-		return []byte{}, err
-	}
-
-	return b.Bytes(), nil
-}
diff --git a/pkg/util/gzip/compress_test.go b/pkg/util/gzip/compress_test.go
deleted file mode 100644
index 97cc195..0000000
--- a/pkg/util/gzip/compress_test.go
+++ /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.
-*/
-
-package gzip
-
-import (
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestCompression(t *testing.T) {
-	source := "this is a script"
-	compressed, err := CompressBase64([]byte(source))
-	assert.Nil(t, err)
-	uncompressed, err := UncompressBase64(compressed)
-	assert.Nil(t, err)
-	assert.Equal(t, source, string(uncompressed))
-}
diff --git a/pkg/util/indentedwriter/writer.go b/pkg/util/indentedwriter/writer.go
deleted file mode 100644
index cab0e8c..0000000
--- a/pkg/util/indentedwriter/writer.go
+++ /dev/null
@@ -1,74 +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 indentedwriter
-
-import (
-	"bytes"
-	"fmt"
-	"io"
-	"strings"
-	"text/tabwriter"
-)
-
-// Flusher --
-type Flusher interface {
-	Flush()
-}
-
-// Writer --.
-type Writer struct {
-	out io.Writer
-}
-
-// NewWriter --
-func NewWriter(out io.Writer) *Writer {
-	return &Writer{out: out}
-}
-
-// Write --
-func (iw *Writer) Write(indentLevel int, format string, i ...interface{}) {
-	fmt.Fprint(iw.out, strings.Repeat("  ", indentLevel))
-	fmt.Fprintf(iw.out, format, i...)
-}
-
-// Writeln --
-func (iw *Writer) Writeln(indentLevel int, format string, i ...interface{}) {
-	fmt.Fprint(iw.out, strings.Repeat("  ", indentLevel))
-	fmt.Fprintf(iw.out, format, i...)
-	fmt.Fprint(iw.out, "\n")
-}
-
-// Flush --
-func (iw *Writer) Flush() {
-	if f, ok := iw.out.(Flusher); ok {
-		f.Flush()
-	}
-}
-
-// IndentedString --
-func IndentedString(f func(io.Writer)) string {
-	var out tabwriter.Writer
-	buf := &bytes.Buffer{}
-	out.Init(buf, 0, 8, 2, ' ', 0)
-
-	f(&out)
-
-	out.Flush()
-
-	return buf.String()
-}
diff --git a/pkg/util/knative/apis.go b/pkg/util/knative/apis.go
deleted file mode 100644
index fbe26ce..0000000
--- a/pkg/util/knative/apis.go
+++ /dev/null
@@ -1,225 +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 knative
-
-import (
-	knativev1 "github.com/apache/camel-k/pkg/apis/camel/v1/knative"
-	"github.com/apache/camel-k/pkg/util"
-	v1 "k8s.io/api/core/v1"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-var (
-	// KnownChannelKinds are known channel kinds belonging to Knative
-	KnownChannelKinds = []GroupVersionKindResource{
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Channel",
-				Group:   "messaging.knative.dev",
-				Version: "v1beta1",
-			},
-			Resource: "channels",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Channel",
-				Group:   "messaging.knative.dev",
-				Version: "v1alpha1",
-			},
-			Resource: "channels",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Channel",
-				Group:   "eventing.knative.dev",
-				Version: "v1alpha1",
-			},
-			Resource: "channels",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "InMemoryChannel",
-				Group:   "messaging.knative.dev",
-				Version: "v1beta1",
-			},
-			Resource: "inmemorychannels",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "InMemoryChannel",
-				Group:   "messaging.knative.dev",
-				Version: "v1alpha1",
-			},
-			Resource: "inmemorychannels",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "KafkaChannel",
-				Group:   "messaging.knative.dev",
-				Version: "v1alpha1",
-			},
-			Resource: "kafkachannels",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "NatssChannel",
-				Group:   "messaging.knative.dev",
-				Version: "v1alpha1",
-			},
-			Resource: "natsschannels",
-		},
-	}
-
-	// KnownEndpointKinds are known endpoint kinds belonging to Knative
-	KnownEndpointKinds = []GroupVersionKindResource{
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Service",
-				Group:   "serving.knative.dev",
-				Version: "v1",
-			},
-			Resource: "services",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Service",
-				Group:   "serving.knative.dev",
-				Version: "v1beta1",
-			},
-			Resource: "services",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Service",
-				Group:   "serving.knative.dev",
-				Version: "v1alpha1",
-			},
-			Resource: "services",
-		},
-	}
-
-	// KnownBrokerKinds are known broker kinds belonging to Knative
-	KnownBrokerKinds = []GroupVersionKindResource{
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Broker",
-				Group:   "eventing.knative.dev",
-				Version: "v1beta1",
-			},
-			Resource: "brokers",
-		},
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Broker",
-				Group:   "eventing.knative.dev",
-				Version: "v1alpha1",
-			},
-			Resource: "brokers",
-		},
-	}
-
-	// RequiredKinds are Knative kinds used by Camel K for materializing integrations.
-	// They must be present on the cluster
-	RequiredKinds = []GroupVersionKindResource{
-		{
-			GroupVersionKind: schema.GroupVersionKind{
-				Kind:    "Service",
-				Group:   "serving.knative.dev",
-				Version: "v1",
-			},
-			Resource: "services",
-		},
-	}
-)
-
-// GroupVersionKindResource --
-type GroupVersionKindResource struct {
-	schema.GroupVersionKind
-	Resource string
-}
-
-func init() {
-	// Channels are also endpoints
-	KnownEndpointKinds = append(KnownEndpointKinds, KnownChannelKinds...)
-	// Let's add the brokers as last
-	KnownEndpointKinds = append(KnownEndpointKinds, KnownBrokerKinds...)
-}
-
-// FillMissingReferenceData returns all possible combinations of ObjectReference that can be obtained by filling the missing fields
-// with known data.
-func FillMissingReferenceData(serviceType knativev1.CamelServiceType, ref v1.ObjectReference) []v1.ObjectReference {
-	var refs []v1.ObjectReference
-	switch serviceType {
-	case knativev1.CamelServiceTypeChannel:
-		refs = fillMissingReferenceDataWith(KnownChannelKinds, ref)
-	case knativev1.CamelServiceTypeEndpoint:
-		refs = fillMissingReferenceDataWith(KnownEndpointKinds, ref)
-	case knativev1.CamelServiceTypeEvent:
-		refs = fillMissingReferenceDataWith(KnownBrokerKinds, ref)
-	}
-
-	return refs
-}
-
-// nolint: gocritic
-func fillMissingReferenceDataWith(serviceTypes []GroupVersionKindResource, ref v1.ObjectReference) []v1.ObjectReference {
-	list := make([]v1.ObjectReference, 0)
-	if ref.APIVersion == "" && ref.Kind == "" {
-		for _, st := range serviceTypes {
-			refCopy := ref.DeepCopy()
-			refCopy.APIVersion = st.GroupVersion().String()
-			refCopy.Kind = st.Kind
-			list = append(list, *refCopy)
-		}
-	} else if ref.APIVersion == "" {
-		for _, gv := range getGroupVersions(serviceTypes, ref.Kind) {
-			refCopy := ref.DeepCopy()
-			refCopy.APIVersion = gv
-			list = append(list, *refCopy)
-		}
-	} else if ref.Kind == "" {
-		for _, k := range getKinds(serviceTypes, ref.APIVersion) {
-			refCopy := ref.DeepCopy()
-			refCopy.Kind = k
-			list = append(list, *refCopy)
-		}
-	} else {
-		list = append(list, ref)
-	}
-	return list
-}
-
-func getGroupVersions(serviceTypes []GroupVersionKindResource, kind string) []string {
-	res := make([]string, 0)
-	for _, st := range serviceTypes {
-		if st.Kind == kind {
-			util.StringSliceUniqueAdd(&res, st.GroupVersion().String())
-		}
-	}
-	return res
-}
-
-func getKinds(serviceTypes []GroupVersionKindResource, apiVersion string) []string {
-	res := make([]string, 0)
-	for _, st := range serviceTypes {
-		if st.GroupVersion().String() == apiVersion {
-			util.StringSliceUniqueAdd(&res, st.Kind)
-		}
-	}
-	return res
-}
diff --git a/pkg/util/knative/apis_test.go b/pkg/util/knative/apis_test.go
deleted file mode 100644
index b1014b6..0000000
--- a/pkg/util/knative/apis_test.go
+++ /dev/null
@@ -1,165 +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 knative
-
-import (
-	"testing"
-
-	"github.com/apache/camel-k/pkg/apis/camel/v1/knative"
-	"github.com/stretchr/testify/assert"
-	v1 "k8s.io/api/core/v1"
-)
-
-func TestAPIs(t *testing.T) {
-	ref, err := ExtractObjectReference("knative:endpoint/ciao")
-	assert.Nil(t, err)
-	refs := FillMissingReferenceData(knative.CamelServiceTypeEndpoint, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Service",
-		APIVersion: "serving.knative.dev/v1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?apiVersion=serving.knative.dev/v1")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEndpoint, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, 1, len(refs))
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Service",
-		APIVersion: "serving.knative.dev/v1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?apiVersion=serving.knative.dev/v1&kind=Xxx")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEndpoint, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, 1, len(refs))
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Xxx",
-		APIVersion: "serving.knative.dev/v1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?apiVersion=yyy&kind=Xxx")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEndpoint, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, 1, len(refs))
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Xxx",
-		APIVersion: "yyy",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?kind=Service")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEndpoint, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Service",
-		APIVersion: "serving.knative.dev/v1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?kind=Channel")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEndpoint, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Channel",
-		APIVersion: "messaging.knative.dev/v1beta1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?kind=KafkaChannel")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEndpoint, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "KafkaChannel",
-		APIVersion: "messaging.knative.dev/v1alpha1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:channel/ciao")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeChannel, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Channel",
-		APIVersion: "messaging.knative.dev/v1beta1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:channel/ciao?apiVersion=eventing.knative.dev/v1alpha1")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeChannel, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Channel",
-		APIVersion: "eventing.knative.dev/v1alpha1",
-		Name:       "ciao",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:channel/ciao?apiVersion=xxx.knative.dev/v1alpha1")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeChannel, ref)
-	assert.Equal(t, 0, len(refs))
-
-	ref, err = ExtractObjectReference("knative:event/ciao")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEvent, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Broker",
-		APIVersion: "eventing.knative.dev/v1beta1",
-		Name:       "default",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:event/ciao?brokerApiVersion=xxx")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEvent, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Broker",
-		APIVersion: "xxx",
-		Name:       "default",
-	}, refs[0])
-
-	ref, err = ExtractObjectReference("knative:event/ciao?brokerName=aaa")
-	assert.Nil(t, err)
-	refs = FillMissingReferenceData(knative.CamelServiceTypeEvent, ref)
-	checkValidRefs(t, refs)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Broker",
-		APIVersion: "eventing.knative.dev/v1beta1",
-		Name:       "aaa",
-	}, refs[0])
-}
-
-func checkValidRefs(t *testing.T, refs []v1.ObjectReference) {
-	assert.True(t, len(refs) > 0)
-	for _, ref := range refs {
-		assert.NotNil(t, ref.Name)
-		assert.NotNil(t, ref.Kind)
-		assert.NotNil(t, ref.APIVersion)
-	}
-}
diff --git a/pkg/util/knative/enabled.go b/pkg/util/knative/enabled.go
deleted file mode 100644
index 8853e2d..0000000
--- a/pkg/util/knative/enabled.go
+++ /dev/null
@@ -1,93 +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 knative
-
-import (
-	"context"
-
-	"github.com/apache/camel-k/pkg/client"
-	kubernetesutils "github.com/apache/camel-k/pkg/util/kubernetes"
-	"github.com/apache/camel-k/pkg/util/log"
-	k8serrors "k8s.io/apimachinery/pkg/api/errors"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-	"k8s.io/client-go/dynamic"
-	"k8s.io/client-go/kubernetes"
-)
-
-// IsEnabledInNamespace returns true if we can list some basic knative objects in the given namespace.
-//
-// This method can be used at operator level to check if knative resources can be accessed.
-func IsEnabledInNamespace(ctx context.Context, c client.Client, namespace string) bool {
-	dyn, err := dynamic.NewForConfig(c.GetConfig())
-	if err != nil {
-		log.Infof("could not create dynamic client to check knative installation in namespace %s, got error: %v", namespace, err)
-		return false
-	}
-	for _, kgv := range RequiredKinds {
-		_, err = dyn.Resource(schema.GroupVersionResource{
-			Group:    kgv.Group,
-			Version:  kgv.Version,
-			Resource: kgv.Resource,
-		}).Namespace(namespace).List(metav1.ListOptions{})
-
-		if err == nil {
-			return true
-		}
-	}
-
-	log.Infof("could not find any knative type in namespace %s, last error was: %v", namespace, err)
-	return false
-}
-
-// IsInstalled returns true if we are connected to a cluster with Knative installed
-//
-// This method should not be called from the operator, as it might require permissions that are not available.
-func IsInstalled(ctx context.Context, c kubernetes.Interface) (bool, error) {
-	// check some Knative APIs
-	for _, api := range getRequiredKnativeGroupVersions() {
-		if installed, err := isInstalled(c, api); err != nil {
-			return false, err
-		} else if installed {
-			return true, nil
-		}
-	}
-	return false, nil
-}
-
-func isInstalled(c kubernetes.Interface, api schema.GroupVersion) (bool, error) {
-	_, err := c.Discovery().ServerResourcesForGroupVersion(api.String())
-	if err != nil && (k8serrors.IsNotFound(err) || kubernetesutils.IsUnknownAPIError(err)) {
-		return false, nil
-	} else if err != nil {
-		return false, err
-	}
-	return true, nil
-}
-
-func getRequiredKnativeGroupVersions() []schema.GroupVersion {
-	apis := make(map[schema.GroupVersion]bool)
-	res := make([]schema.GroupVersion, 0)
-	for _, gvk := range RequiredKinds {
-		if !apis[gvk.GroupVersion()] {
-			apis[gvk.GroupVersion()] = true
-			res = append(res, gvk.GroupVersion())
-		}
-	}
-	return res
-}
diff --git a/pkg/util/knative/knative.go b/pkg/util/knative/knative.go
deleted file mode 100644
index e39eb54..0000000
--- a/pkg/util/knative/knative.go
+++ /dev/null
@@ -1,166 +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 knative
-
-import (
-	"context"
-	"fmt"
-	"net/url"
-
-	"github.com/apache/camel-k/pkg/client"
-	kubernetesutils "github.com/apache/camel-k/pkg/util/kubernetes"
-	corev1 "k8s.io/api/core/v1"
-	k8serrors "k8s.io/apimachinery/pkg/api/errors"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-	eventing "knative.dev/eventing/pkg/apis/eventing/v1alpha1"
-	messaging "knative.dev/eventing/pkg/apis/messaging/v1alpha1"
-	"knative.dev/pkg/apis/duck"
-	duckv1 "knative.dev/pkg/apis/duck/v1"
-	serving "knative.dev/serving/pkg/apis/serving/v1"
-	controller "sigs.k8s.io/controller-runtime/pkg/client"
-)
-
-// CreateSubscription ---
-func CreateSubscription(channelReference corev1.ObjectReference, serviceName string) runtime.Object {
-	subs := messaging.Subscription{
-		TypeMeta: metav1.TypeMeta{
-			APIVersion: messaging.SchemeGroupVersion.String(),
-			Kind:       "Subscription",
-		},
-		ObjectMeta: metav1.ObjectMeta{
-			Namespace: channelReference.Namespace,
-			Name:      channelReference.Name + "-" + serviceName,
-		},
-		Spec: messaging.SubscriptionSpec{
-			Channel: corev1.ObjectReference{
-				APIVersion: channelReference.GroupVersionKind().GroupVersion().String(),
-				Kind:       channelReference.Kind,
-				Name:       channelReference.Name,
-			},
-			Subscriber: &duckv1.Destination{
-				Ref: &duckv1.KReference{
-					APIVersion: serving.SchemeGroupVersion.String(),
-					Kind:       "Service",
-					Name:       serviceName,
-				},
-			},
-		},
-	}
-
-	return &subs
-}
-
-// CreateTrigger ---
-func CreateTrigger(brokerReference corev1.ObjectReference, serviceName string, eventType string) runtime.Object {
-	subs := eventing.Trigger{
-		TypeMeta: metav1.TypeMeta{
-			APIVersion: eventing.SchemeGroupVersion.String(),
-			Kind:       "Trigger",
-		},
-		ObjectMeta: metav1.ObjectMeta{
-			Namespace: brokerReference.Namespace,
-			Name:      brokerReference.Name + "-" + serviceName + "-" + eventType,
-		},
-		Spec: eventing.TriggerSpec{
-			Filter: &eventing.TriggerFilter{
-				Attributes: &eventing.TriggerFilterAttributes{
-					"type": eventType,
-				},
-			},
-			Broker: brokerReference.Name,
-			Subscriber: duckv1.Destination{
-				Ref: &duckv1.KReference{
-					APIVersion: serving.SchemeGroupVersion.String(),
-					Kind:       "Service",
-					Name:       serviceName,
-				},
-			},
-		},
-	}
-	return &subs
-}
-
-// GetAddressableReference looks up the resource among all given types and returns an object reference to it
-func GetAddressableReference(ctx context.Context, c client.Client,
-	possibleReferences []corev1.ObjectReference, namespace string, name string) (*corev1.ObjectReference, error) {
-
-	for _, ref := range possibleReferences {
-		sink := ref.DeepCopy()
-		sink.Namespace = namespace
-		_, err := GetSinkURI(ctx, c, sink, namespace)
-		if err != nil && (k8serrors.IsNotFound(err) || kubernetesutils.IsUnknownAPIError(err)) {
-			continue
-		} else if err != nil {
-			return nil, err
-		}
-
-		return sink, nil
-	}
-	return nil, k8serrors.NewNotFound(schema.GroupResource{}, name)
-}
-
-// GetSinkURL returns the sink as *url.URL
-func GetSinkURL(ctx context.Context, c client.Client, sink *corev1.ObjectReference, namespace string) (*url.URL, error) {
-	res, err := GetSinkURI(ctx, c, sink, namespace)
-	if err != nil {
-		return nil, err
-	}
-	return url.Parse(res)
-}
-
-// GetSinkURI retrieves the sink URI from the object referenced by the given
-// ObjectReference.
-//
-// Method taken from https://github.com/knative/eventing-contrib/blob/master/pkg/controller/sinks/sinks.go
-func GetSinkURI(ctx context.Context, c client.Client, sink *corev1.ObjectReference, namespace string) (string, error) {
-	if sink == nil {
-		return "", fmt.Errorf("sink ref is nil")
-	}
-
-	u := &unstructured.Unstructured{}
-	u.SetGroupVersionKind(sink.GroupVersionKind())
-	err := c.Get(ctx, controller.ObjectKey{Namespace: namespace, Name: sink.Name}, u)
-	if err != nil {
-		return "", err
-	}
-
-	objIdentifier := fmt.Sprintf("\"%s/%s\" (%s)", u.GetNamespace(), u.GetName(), u.GroupVersionKind())
-	// Special case v1/Service to allow it be addressable
-	if u.GroupVersionKind().Kind == "Service" && u.GroupVersionKind().Group == "" && u.GroupVersionKind().Version == "v1" {
-		return fmt.Sprintf("http://%s.%s.svc/", u.GetName(), u.GetNamespace()), nil
-	}
-
-	t := duckv1.AddressableType{}
-	err = duck.FromUnstructured(u, &t)
-	if err != nil {
-		return "", fmt.Errorf("failed to deserialize sink %s: %v", objIdentifier, err)
-	}
-
-	if t.Status.Address == nil || t.Status.Address.URL == nil {
-		return "", fmt.Errorf("sink %s does not contain address or URL", objIdentifier)
-	}
-
-	addressURL := t.Status.Address.URL
-	if addressURL.Host == "" {
-		return "", fmt.Errorf("sink %s contains an empty hostname", objIdentifier)
-	}
-	return addressURL.String(), nil
-}
diff --git a/pkg/util/knative/uri.go b/pkg/util/knative/uri.go
deleted file mode 100644
index 6536818..0000000
--- a/pkg/util/knative/uri.go
+++ /dev/null
@@ -1,104 +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 knative
-
-import (
-	"fmt"
-	"regexp"
-
-	knativev1 "github.com/apache/camel-k/pkg/apis/camel/v1/knative"
-	uriutils "github.com/apache/camel-k/pkg/util/uri"
-	v1 "k8s.io/api/core/v1"
-)
-
-var uriRegexp = regexp.MustCompile(`^knative:[/]*(channel|endpoint|event)/([A-Za-z0-9.-]+)(?:[/?].*|$)`)
-var plainNameRegexp = regexp.MustCompile(`^[A-Za-z0-9.-]+$`)
-
-const (
-	paramAPIVersion       = "apiVersion"
-	paramKind             = "kind"
-	paramBrokerName       = "brokerName"
-	paramBrokerAPIVersion = "brokerApiVersion"
-)
-
-// FilterURIs returns all Knative URIs of the given type from a slice
-func FilterURIs(uris []string, kind knativev1.CamelServiceType) []string {
-	res := make([]string, 0)
-	for _, uri := range uris {
-		if isKnativeURI(kind, uri) {
-			res = append(res, uri)
-		}
-	}
-	return res
-}
-
-// NormalizeToURI produces a Knative uri of the given service type if the argument is a plain string
-func NormalizeToURI(kind knativev1.CamelServiceType, uriOrString string) string {
-	if plainNameRegexp.MatchString(uriOrString) {
-		return fmt.Sprintf("knative://%s/%s", string(kind), uriOrString)
-	}
-	return uriOrString
-}
-
-// ExtractObjectReference returns a reference to the object described in the Knative URI
-func ExtractObjectReference(uri string) (v1.ObjectReference, error) {
-	if isKnativeURI(knativev1.CamelServiceTypeEvent, uri) {
-		name := uriutils.GetQueryParameter(uri, paramBrokerName)
-		if name == "" {
-			name = "default"
-		}
-		apiVersion := uriutils.GetQueryParameter(uri, paramBrokerAPIVersion)
-		return v1.ObjectReference{
-			Name:       name,
-			APIVersion: apiVersion,
-			Kind:       "Broker",
-		}, nil
-	}
-	name := matchOrEmpty(uriRegexp, 2, uri)
-	if name == "" {
-		return v1.ObjectReference{}, fmt.Errorf("cannot find name in uri %s", uri)
-	}
-	apiVersion := uriutils.GetQueryParameter(uri, paramAPIVersion)
-	kind := uriutils.GetQueryParameter(uri, paramKind)
-	return v1.ObjectReference{
-		Name:       name,
-		APIVersion: apiVersion,
-		Kind:       kind,
-	}, nil
-}
-
-// ExtractEventType extract the eventType from a event URI
-func ExtractEventType(uri string) string {
-	return matchOrEmpty(uriRegexp, 2, uri)
-}
-
-func matchOrEmpty(reg *regexp.Regexp, index int, str string) string {
-	match := reg.FindStringSubmatch(str)
-	if len(match) > index {
-		return match[index]
-	}
-	return ""
-}
-
-func isKnativeURI(kind knativev1.CamelServiceType, uri string) bool {
-	match := uriRegexp.FindStringSubmatch(uri)
-	if len(match) == 3 && match[1] == string(kind) {
-		return true
-	}
-	return false
-}
diff --git a/pkg/util/knative/uri_test.go b/pkg/util/knative/uri_test.go
deleted file mode 100644
index 1ee24ee..0000000
--- a/pkg/util/knative/uri_test.go
+++ /dev/null
@@ -1,98 +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 knative
-
-import (
-	"testing"
-
-	"github.com/apache/camel-k/pkg/apis/camel/v1/knative"
-	"github.com/stretchr/testify/assert"
-	v1 "k8s.io/api/core/v1"
-)
-
-func TestChannelUri(t *testing.T) {
-	ref, err := ExtractObjectReference("knative:endpoint/ciao")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "",
-		APIVersion: "",
-		Name:       "ciao",
-	}, ref)
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?apiVersion=xxx")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "",
-		APIVersion: "xxx",
-		Name:       "ciao",
-	}, ref)
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?x=y&apiVersion=xxx")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "",
-		APIVersion: "xxx",
-		Name:       "ciao",
-	}, ref)
-
-	ref, err = ExtractObjectReference("knative:channel/ciao2?x=y&apiVersion=eventing.knative.dev/v1&kind=KafkaChannel")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "KafkaChannel",
-		APIVersion: "eventing.knative.dev/v1",
-		Name:       "ciao2",
-	}, ref)
-
-	ref, err = ExtractObjectReference("knative:endpoint/ciao?aapiVersion=xxx&kind=Broker")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Broker",
-		APIVersion: "",
-		Name:       "ciao",
-	}, ref)
-
-	ref, err = ExtractObjectReference("knative://endpoint/ciao?&apiVersion=serving.knative.dev/v1alpha1&kind=Service&1=1")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		Kind:       "Service",
-		APIVersion: "serving.knative.dev/v1alpha1",
-		Name:       "ciao",
-	}, ref)
-
-	ref, err = ExtractObjectReference("knative://event/chuck?&brokerApiVersion=eventing.knative.dev/v1alpha1&brokerName=broker2")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		APIVersion: "eventing.knative.dev/v1alpha1",
-		Name:       "broker2",
-		Kind:       "Broker",
-	}, ref)
-
-	ref, err = ExtractObjectReference("knative://event/chuck?&brokerApxxiVersion=eventing.knative.dev/v1alpha1&brokxerName=broker2")
-	assert.Nil(t, err)
-	assert.Equal(t, v1.ObjectReference{
-		Name: "default",
-		Kind: "Broker",
-	}, ref)
-}
-
-func TestNormalizeToUri(t *testing.T) {
-	assert.Equal(t, "knative://channel/name.chan", NormalizeToURI(knative.CamelServiceTypeChannel, "name.chan"))
-	assert.Equal(t, "knative://event/chuck", NormalizeToURI(knative.CamelServiceTypeEvent, "chuck"))
-	assert.Equal(t, "knative://endpoint/xx", NormalizeToURI(knative.CamelServiceTypeEndpoint, "xx"))
-	assert.Equal(t, "direct:xxx", NormalizeToURI(knative.CamelServiceTypeChannel, "direct:xxx"))
-}
diff --git a/pkg/util/kubernetes/camel_labels.go b/pkg/util/kubernetes/camel_labels.go
deleted file mode 100644
index cc31559..0000000
--- a/pkg/util/kubernetes/camel_labels.go
+++ /dev/null
@@ -1,74 +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 kubernetes
-
-import (
-	"strings"
-
-	camelv1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	v1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-)
-
-// CamelCreatorLabelPrefix --
-const (
-	CamelCreatorLabelPrefix = "camel.apache.org/created.by"
-
-	CamelCreatorLabelKind = CamelCreatorLabelPrefix + ".kind"
-	CamelCreatorLabelName = CamelCreatorLabelPrefix + ".name"
-)
-
-// FilterCamelCreatorLabels is used to inherit the creator information among resources
-func FilterCamelCreatorLabels(source map[string]string) map[string]string {
-	res := make(map[string]string)
-	for k, v := range source {
-		if strings.HasPrefix(k, CamelCreatorLabelPrefix) {
-			res[k] = v
-		}
-	}
-	return res
-}
-
-// MergeCamelCreatorLabels is used to inject the creator information from another set of labels
-func MergeCamelCreatorLabels(source map[string]string, target map[string]string) map[string]string {
-	if target == nil {
-		target = make(map[string]string)
-	}
-	for k, v := range FilterCamelCreatorLabels(source) {
-		target[k] = v
-	}
-	return target
-}
-
-// GetCamelCreator returns the Camel creator object referenced by this runtime object, if present
-func GetCamelCreator(obj runtime.Object) *v1.ObjectReference {
-	if m, ok := obj.(metav1.Object); ok {
-		kind := m.GetLabels()[CamelCreatorLabelKind]
-		name := m.GetLabels()[CamelCreatorLabelName]
-		if kind != "" && name != "" {
-			return &v1.ObjectReference{
-				Kind:       kind,
-				Namespace:  m.GetNamespace(),
-				Name:       name,
-				APIVersion: camelv1.SchemeGroupVersion.String(),
-			}
-		}
-	}
-	return nil
-}
diff --git a/pkg/util/kubernetes/collection.go b/pkg/util/kubernetes/collection.go
deleted file mode 100644
index d4b6140..0000000
--- a/pkg/util/kubernetes/collection.go
+++ /dev/null
@@ -1,437 +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 kubernetes
-
-import (
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	monitoringv1 "github.com/coreos/prometheus-operator/pkg/apis/monitoring/v1"
-	routev1 "github.com/openshift/api/route/v1"
-	appsv1 "k8s.io/api/apps/v1"
-	"k8s.io/api/batch/v1beta1"
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-	eventing "knative.dev/eventing/pkg/apis/eventing/v1alpha1"
-	serving "knative.dev/serving/pkg/apis/serving/v1"
-)
-
-// A Collection is a container of Kubernetes resources
-type Collection struct {
-	items []runtime.Object
-}
-
-// NewCollection creates a new empty collection
-func NewCollection(objects ...runtime.Object) *Collection {
-	collection := Collection{
-		items: make([]runtime.Object, 0, len(objects)),
-	}
-
-	collection.items = append(collection.items, objects...)
-
-	return &collection
-}
-
-// Size returns the number of resources belonging to the collection
-func (c *Collection) Size() int {
-	return len(c.items)
-}
-
-// Items returns all resources belonging to the collection
-func (c *Collection) Items() []runtime.Object {
-	return c.items
-}
-
-// AsKubernetesList returns all resources wrapped in a Kubernetes list
-func (c *Collection) AsKubernetesList() *corev1.List {
-	lst := corev1.List{
-		TypeMeta: metav1.TypeMeta{
-			Kind:       "List",
-			APIVersion: "v1",
-		},
-		Items: make([]runtime.RawExtension, 0, len(c.items)),
-	}
-	for _, res := range c.items {
-		raw := runtime.RawExtension{
-			Object: res,
-		}
-		lst.Items = append(lst.Items, raw)
-	}
-	return &lst
-}
-
-// Add adds a resource to the collection
-func (c *Collection) Add(resource runtime.Object) {
-	if resource != nil {
-		c.items = append(c.items, resource)
-	}
-}
-
-// AddAll adds all resources to the collection
-func (c *Collection) AddAll(resource []runtime.Object) {
-	c.items = append(c.items, resource...)
-}
-
-// VisitDeployment executes the visitor function on all Deployment resources
-func (c *Collection) VisitDeployment(visitor func(*appsv1.Deployment)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*appsv1.Deployment); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// VisitDeploymentE executes the visitor function on all Deployment resources
-func (c *Collection) VisitDeploymentE(visitor func(*appsv1.Deployment) error) error {
-	return c.VisitE(func(res runtime.Object) error {
-		if conv, ok := res.(*appsv1.Deployment); ok {
-			return visitor(conv)
-		}
-
-		return nil
-	})
-}
-
-// GetDeployment returns a Deployment that matches the given function
-func (c *Collection) GetDeployment(filter func(*appsv1.Deployment) bool) *appsv1.Deployment {
-	var retValue *appsv1.Deployment
-	c.VisitDeployment(func(re *appsv1.Deployment) {
-		if filter(re) {
-			retValue = re
-		}
-	})
-	return retValue
-}
-
-// GetDeploymentForIntegration returns a Deployment for the given integration
-func (c *Collection) GetDeploymentForIntegration(integration *v1.Integration) *appsv1.Deployment {
-	if integration == nil {
-		return nil
-	}
-
-	return c.GetDeployment(func(d *appsv1.Deployment) bool {
-		return d.ObjectMeta.Labels["camel.apache.org/integration"] == integration.Name
-	})
-}
-
-// HasDeployment returns true if a deployment matching the given condition is present
-func (c *Collection) HasDeployment(filter func(*appsv1.Deployment) bool) bool {
-	return c.GetDeployment(filter) != nil
-}
-
-// RemoveDeployment removes and returns a Deployment that matches the given function
-func (c *Collection) RemoveDeployment(filter func(*appsv1.Deployment) bool) *appsv1.Deployment {
-	res := c.Remove(func(res runtime.Object) bool {
-		if conv, ok := res.(*appsv1.Deployment); ok {
-			return filter(conv)
-		}
-		return false
-	})
-	if res == nil {
-		return nil
-	}
-	return res.(*appsv1.Deployment)
-}
-
-// VisitConfigMap executes the visitor function on all ConfigMap resources
-func (c *Collection) VisitConfigMap(visitor func(*corev1.ConfigMap)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*corev1.ConfigMap); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// GetConfigMap returns a ConfigMap that matches the given function
-func (c *Collection) GetConfigMap(filter func(*corev1.ConfigMap) bool) *corev1.ConfigMap {
-	var retValue *corev1.ConfigMap
-	c.VisitConfigMap(func(re *corev1.ConfigMap) {
-		if filter(re) {
-			retValue = re
-		}
-	})
-	return retValue
-}
-
-// RemoveConfigMap removes and returns a ConfigMap that matches the given function
-func (c *Collection) RemoveConfigMap(filter func(*corev1.ConfigMap) bool) *corev1.ConfigMap {
-	res := c.Remove(func(res runtime.Object) bool {
-		if conv, ok := res.(*corev1.ConfigMap); ok {
-			return filter(conv)
-		}
-		return false
-	})
-	if res == nil {
-		return nil
-	}
-	return res.(*corev1.ConfigMap)
-}
-
-// VisitService executes the visitor function on all Service resources
-func (c *Collection) VisitService(visitor func(*corev1.Service)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*corev1.Service); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// GetService returns a Service that matches the given function
-func (c *Collection) GetService(filter func(*corev1.Service) bool) *corev1.Service {
-	var retValue *corev1.Service
-	c.VisitService(func(re *corev1.Service) {
-		if filter(re) {
-			retValue = re
-		}
-	})
-	return retValue
-}
-
-// GetUserServiceForIntegration returns a user Service for the given integration
-func (c *Collection) GetUserServiceForIntegration(integration *v1.Integration) *corev1.Service {
-	if integration == nil {
-		return nil
-	}
-	return c.GetService(func(s *corev1.Service) bool {
-		return s.ObjectMeta.Labels != nil &&
-			s.ObjectMeta.Labels["camel.apache.org/integration"] == integration.Name &&
-			s.ObjectMeta.Labels["camel.apache.org/service.type"] == v1.ServiceTypeUser
-	})
-}
-
-// GetServiceForIntegration returns a user Service for the given integration
-func (c *Collection) GetServiceForIntegration(integration *v1.Integration) *corev1.Service {
-	if integration == nil {
-		return nil
-	}
-	return c.GetService(func(s *corev1.Service) bool {
-		return s.ObjectMeta.Labels != nil && s.ObjectMeta.Labels["camel.apache.org/integration"] == integration.Name
-	})
-}
-
-// GetKnativeService returns a knative Service that matches the given function
-func (c *Collection) GetKnativeService(filter func(*serving.Service) bool) *serving.Service {
-	var retValue *serving.Service
-	c.VisitKnativeService(func(re *serving.Service) {
-		if filter(re) {
-			retValue = re
-		}
-	})
-	return retValue
-}
-
-// VisitRoute executes the visitor function on all Route resources
-func (c *Collection) VisitRoute(visitor func(*routev1.Route)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*routev1.Route); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// GetRoute returns a Route that matches the given function
-func (c *Collection) GetRoute(filter func(*routev1.Route) bool) *routev1.Route {
-	var retValue *routev1.Route
-	c.VisitRoute(func(re *routev1.Route) {
-		if filter(re) {
-			retValue = re
-		}
-	})
-	return retValue
-}
-
-// VisitCronJob executes the visitor function on all CronJob resources
-func (c *Collection) VisitCronJob(visitor func(*v1beta1.CronJob)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*v1beta1.CronJob); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// VisitCronJobE executes the visitor function on all CronJob resources
-func (c *Collection) VisitCronJobE(visitor func(*v1beta1.CronJob) error) error {
-	return c.VisitE(func(res runtime.Object) error {
-		if conv, ok := res.(*v1beta1.CronJob); ok {
-			return visitor(conv)
-		}
-
-		return nil
-	})
-}
-
-// VisitKnativeService executes the visitor function on all Knative serving Service resources
-func (c *Collection) VisitKnativeService(visitor func(*serving.Service)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*serving.Service); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// VisitKnativeServiceE executes the visitor function on all Knative serving Service resources
-func (c *Collection) VisitKnativeServiceE(visitor func(*serving.Service) error) error {
-	return c.VisitE(func(res runtime.Object) error {
-		if conv, ok := res.(*serving.Service); ok {
-			return visitor(conv)
-		}
-
-		return nil
-	})
-}
-
-// VisitKnativeTrigger executes the visitor function on all Knative eventing Trigger resources
-func (c *Collection) VisitKnativeTrigger(visitor func(trigger *eventing.Trigger)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*eventing.Trigger); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// HasKnativeTrigger returns true if a Knative trigger respecting filter is found
-func (c *Collection) HasKnativeTrigger(filter func(trigger *eventing.Trigger) bool) bool {
-	var retValue *bool
-	c.VisitKnativeTrigger(func(re *eventing.Trigger) {
-		if filter(re) {
-			found := true
-			retValue = &found
-		}
-	})
-	return retValue != nil && *retValue
-}
-
-// GetContainer --
-func (c *Collection) GetContainer(filter func(container *corev1.Container) bool) *corev1.Container {
-	var retValue *corev1.Container
-
-	c.VisitContainer(func(container *corev1.Container) {
-		if filter(container) {
-			retValue = container
-		}
-	})
-
-	return retValue
-}
-
-// GetContainerByName --
-func (c *Collection) GetContainerByName(name string) *corev1.Container {
-	return c.GetContainer(func(c *corev1.Container) bool {
-		return c.Name == name
-	})
-}
-
-// VisitContainer executes the visitor function on all Containers inside deployments or other resources
-func (c *Collection) VisitContainer(visitor func(container *corev1.Container)) {
-	c.VisitDeployment(func(d *appsv1.Deployment) {
-		for idx := range d.Spec.Template.Spec.Containers {
-			cntref := &d.Spec.Template.Spec.Containers[idx]
-			visitor(cntref)
-		}
-	})
-	c.VisitKnativeConfigurationSpec(func(cs *serving.ConfigurationSpec) {
-		for id := range cs.Template.Spec.Containers {
-			cntref := &cs.Template.Spec.Containers[id]
-			visitor(cntref)
-		}
-	})
-	c.VisitCronJob(func(c *v1beta1.CronJob) {
-		for idx := range c.Spec.JobTemplate.Spec.Template.Spec.Containers {
-			cntref := &c.Spec.JobTemplate.Spec.Template.Spec.Containers[idx]
-			visitor(cntref)
-		}
-	})
-}
-
-// VisitPodSpec executes the visitor function on all PodSpec inside deployments or other resources
-func (c *Collection) VisitPodSpec(visitor func(container *corev1.PodSpec)) {
-	c.VisitDeployment(func(d *appsv1.Deployment) {
-		visitor(&d.Spec.Template.Spec)
-	})
-	c.VisitKnativeConfigurationSpec(func(cs *serving.ConfigurationSpec) {
-		visitor(&cs.Template.Spec.PodSpec)
-	})
-	c.VisitCronJob(func(d *v1beta1.CronJob) {
-		visitor(&d.Spec.JobTemplate.Spec.Template.Spec)
-	})
-}
-
-// VisitKnativeConfigurationSpec executes the visitor function on all knative ConfigurationSpec inside serving Services
-func (c *Collection) VisitKnativeConfigurationSpec(visitor func(container *serving.ConfigurationSpec)) {
-	c.VisitKnativeService(func(s *serving.Service) {
-		visitor(&s.Spec.ConfigurationSpec)
-	})
-}
-
-// VisitMetaObject executes the visitor function on all meta.Object resources
-func (c *Collection) VisitMetaObject(visitor func(metav1.Object)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(metav1.Object); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// Visit executes the visitor function on all resources
-func (c *Collection) Visit(visitor func(runtime.Object)) {
-	for _, res := range c.items {
-		visitor(res)
-	}
-}
-
-// VisitE executes the visitor function on all resources breaking if the visitor function
-// returns an error
-func (c *Collection) VisitE(visitor func(runtime.Object) error) error {
-	for _, res := range c.items {
-		if err := visitor(res); err != nil {
-			return err
-		}
-	}
-
-	return nil
-}
-
-// Remove removes the given element from the collection and returns it
-func (c *Collection) Remove(selector func(runtime.Object) bool) runtime.Object {
-	for idx, res := range c.items {
-		if selector(res) {
-			c.items = append(c.items[0:idx], c.items[idx+1:]...)
-			return res
-		}
-	}
-	return nil
-}
-
-// VisitServiceMonitor ---
-func (c *Collection) VisitServiceMonitor(visitor func(*monitoringv1.ServiceMonitor)) {
-	c.Visit(func(res runtime.Object) {
-		if conv, ok := res.(*monitoringv1.ServiceMonitor); ok {
-			visitor(conv)
-		}
-	})
-}
-
-// GetServiceMonitor ---
-func (c *Collection) GetServiceMonitor(filter func(*monitoringv1.ServiceMonitor) bool) *monitoringv1.ServiceMonitor {
-	var retValue *monitoringv1.ServiceMonitor
-	c.VisitServiceMonitor(func(serviceMonitor *monitoringv1.ServiceMonitor) {
-		if filter(serviceMonitor) {
-			retValue = serviceMonitor
-		}
-	})
-	return retValue
-}
diff --git a/pkg/util/kubernetes/customclient/customclient.go b/pkg/util/kubernetes/customclient/customclient.go
deleted file mode 100644
index d3810be..0000000
--- a/pkg/util/kubernetes/customclient/customclient.go
+++ /dev/null
@@ -1,85 +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 customclient
-
-import (
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-	"k8s.io/client-go/dynamic"
-	"k8s.io/client-go/kubernetes"
-	"k8s.io/client-go/rest"
-	"sigs.k8s.io/controller-runtime/pkg/client/config"
-)
-
-// GetClientFor returns a RESTClient for the given group and version
-func GetClientFor(c kubernetes.Interface, group string, version string) (*rest.RESTClient, error) {
-	inConfig, err := config.GetConfig()
-	if err != nil {
-		return nil, err
-	}
-	conf := rest.CopyConfig(inConfig)
-	conf.GroupVersion = &schema.GroupVersion{
-		Group:   group,
-		Version: version,
-	}
-	conf.APIPath = "/apis"
-	conf.AcceptContentTypes = "application/json"
-	conf.ContentType = "application/json"
-
-	// this gets used for discovery and error handling types
-	conf.NegotiatedSerializer = basicNegotiatedSerializer{}
-	if conf.UserAgent == "" {
-		conf.UserAgent = rest.DefaultKubernetesUserAgent()
-	}
-
-	return rest.RESTClientFor(conf)
-}
-
-// GetDynamicClientFor returns a dynamic client for a given kind
-func GetDynamicClientFor(group string, version string, kind string, namespace string) (dynamic.ResourceInterface, error) {
-	conf, err := config.GetConfig()
-	if err != nil {
-		return nil, err
-	}
-	dynamicClient, err := dynamic.NewForConfig(conf)
-	if err != nil {
-		return nil, err
-	}
-	return dynamicClient.Resource(schema.GroupVersionResource{
-		Group:    group,
-		Version:  version,
-		Resource: kind,
-	}).Namespace(namespace), nil
-}
-
-// GetDefaultDynamicClientFor returns a dynamic client for a given kind
-func GetDefaultDynamicClientFor(kind string, namespace string) (dynamic.ResourceInterface, error) {
-	conf, err := config.GetConfig()
-	if err != nil {
-		return nil, err
-	}
-	dynamicClient, err := dynamic.NewForConfig(conf)
-	if err != nil {
-		return nil, err
-	}
-	return dynamicClient.Resource(schema.GroupVersionResource{
-		Group:    v1.SchemeGroupVersion.Group,
-		Version:  v1.SchemeGroupVersion.Version,
-		Resource: kind,
-	}).Namespace(namespace), nil
-}
diff --git a/pkg/util/kubernetes/customclient/scheme.go b/pkg/util/kubernetes/customclient/scheme.go
deleted file mode 100644
index ba261e8..0000000
--- a/pkg/util/kubernetes/customclient/scheme.go
+++ /dev/null
@@ -1,66 +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 customclient
-
-import (
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-	"k8s.io/apimachinery/pkg/runtime/serializer/json"
-	"k8s.io/apimachinery/pkg/runtime/serializer/versioning"
-)
-
-var watchScheme = runtime.NewScheme()
-var basicScheme = runtime.NewScheme()
-var deleteScheme = runtime.NewScheme()
-var parameterScheme = runtime.NewScheme()
-var versionV1 = schema.GroupVersion{Version: "v1"}
-
-func init() {
-	metav1.AddToGroupVersion(watchScheme, versionV1)
-	metav1.AddToGroupVersion(basicScheme, versionV1)
-	metav1.AddToGroupVersion(parameterScheme, versionV1)
-	metav1.AddToGroupVersion(deleteScheme, versionV1)
-}
-
-// basicNegotiatedSerializer is used to handle discovery and error handling serialization
-type basicNegotiatedSerializer struct{}
-
-func (s basicNegotiatedSerializer) SupportedMediaTypes() []runtime.SerializerInfo {
-	return []runtime.SerializerInfo{
-		{
-			MediaType:        "application/json",
-			EncodesAsText:    true,
-			Serializer:       json.NewSerializer(json.DefaultMetaFactory, basicScheme, basicScheme, false),
-			PrettySerializer: json.NewSerializer(json.DefaultMetaFactory, basicScheme, basicScheme, true),
-			StreamSerializer: &runtime.StreamSerializerInfo{
-				EncodesAsText: true,
-				Serializer:    json.NewSerializer(json.DefaultMetaFactory, basicScheme, basicScheme, false),
-				Framer:        json.Framer,
-			},
-		},
-	}
-}
-
-func (s basicNegotiatedSerializer) EncoderForVersion(encoder runtime.Encoder, gv runtime.GroupVersioner) runtime.Encoder {
-	return versioning.NewDefaultingCodecForScheme(watchScheme, encoder, nil, gv, nil)
-}
-
-func (s basicNegotiatedSerializer) DecoderToVersion(decoder runtime.Decoder, gv runtime.GroupVersioner) runtime.Decoder {
-	return versioning.NewDefaultingCodecForScheme(watchScheme, nil, decoder, nil, gv)
-}
diff --git a/pkg/util/kubernetes/errors.go b/pkg/util/kubernetes/errors.go
deleted file mode 100644
index dd86544..0000000
--- a/pkg/util/kubernetes/errors.go
+++ /dev/null
@@ -1,26 +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 kubernetes
-
-import "strings"
-
-// IsUnknownAPIError checks if the given error is due to some missing APIs in the cluster.
-// Apparently there's no such method in Kubernetes Go API.
-func IsUnknownAPIError(err error) bool {
-	return err != nil && strings.HasPrefix(err.Error(), "no matches for kind")
-}
diff --git a/pkg/util/kubernetes/loader.go b/pkg/util/kubernetes/loader.go
deleted file mode 100644
index aba9700..0000000
--- a/pkg/util/kubernetes/loader.go
+++ /dev/null
@@ -1,76 +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 kubernetes
-
-import (
-	"encoding/json"
-	"fmt"
-
-	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/runtime/serializer"
-	"k8s.io/apimachinery/pkg/util/yaml"
-)
-
-// LoadResourceFromYaml loads a k8s resource from a yaml definition
-func LoadResourceFromYaml(scheme *runtime.Scheme, data string) (runtime.Object, error) {
-	source := []byte(data)
-	jsonSource, err := yaml.ToJSON(source)
-	if err != nil {
-		return nil, err
-	}
-	u := unstructured.Unstructured{}
-	err = u.UnmarshalJSON(jsonSource)
-	if err != nil {
-		return nil, err
-	}
-	return RuntimeObjectFromUnstructured(scheme, &u)
-}
-
-// LoadRawResourceFromYaml loads a k8s resource from a yaml definition without making assumptions on the underlying type
-func LoadRawResourceFromYaml(data string) (runtime.Object, error) {
-	source := []byte(data)
-	jsonSource, err := yaml.ToJSON(source)
-	if err != nil {
-		return nil, err
-	}
-	var objmap map[string]interface{}
-	if err = json.Unmarshal(jsonSource, &objmap); err != nil {
-		return nil, err
-	}
-	return &unstructured.Unstructured{
-		Object: objmap,
-	}, nil
-}
-
-// RuntimeObjectFromUnstructured converts an unstructured to a runtime object
-func RuntimeObjectFromUnstructured(scheme *runtime.Scheme, u *unstructured.Unstructured) (runtime.Object, error) {
-	gvk := u.GroupVersionKind()
-	codecs := serializer.NewCodecFactory(scheme)
-	decoder := codecs.UniversalDecoder(gvk.GroupVersion())
-
-	b, err := u.MarshalJSON()
-	if err != nil {
-		return nil, fmt.Errorf("error running MarshalJSON on unstructured object: %v", err)
-	}
-	ro, _, err := decoder.Decode(b, &gvk, nil)
-	if err != nil {
-		return nil, fmt.Errorf("failed to decode json data with gvk(%v): %v", gvk.String(), err)
-	}
-	return ro, nil
-}
diff --git a/pkg/util/kubernetes/log/annotation_scraper.go b/pkg/util/kubernetes/log/annotation_scraper.go
deleted file mode 100644
index adc5f1a..0000000
--- a/pkg/util/kubernetes/log/annotation_scraper.go
+++ /dev/null
@@ -1,173 +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 log
-
-import (
-	"bufio"
-	"context"
-	"io"
-	"strconv"
-	"sync"
-	"sync/atomic"
-	"time"
-
-	klog "github.com/apache/camel-k/pkg/util/log"
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
-	"k8s.io/client-go/kubernetes"
-)
-
-// SelectorScraper scrapes all pods with a given selector
-type SelectorScraper struct {
-	client               kubernetes.Interface
-	namespace            string
-	defaultContainerName string
-	labelSelector        string
-	podScrapers          sync.Map
-	counter              uint64
-	L                    klog.Logger
-}
-
-// NewSelectorScraper creates a new SelectorScraper
-func NewSelectorScraper(client kubernetes.Interface, namespace string, defaultContainerName string, labelSelector string) *SelectorScraper {
-	return &SelectorScraper{
-		client:               client,
-		namespace:            namespace,
-		defaultContainerName: defaultContainerName,
-		labelSelector:        labelSelector,
-		L:                    klog.WithName("scraper").WithName("label").WithValues("selector", labelSelector),
-	}
-}
-
-// Start returns a reader that streams the log of all selected pods
-func (s *SelectorScraper) Start(ctx context.Context) *bufio.Reader {
-	pipeIn, pipeOut := io.Pipe()
-	bufPipeIn := bufio.NewReader(pipeIn)
-	bufPipeOut := bufio.NewWriter(pipeOut)
-	closeFun := func() error {
-		bufPipeOut.Flush()
-		return pipeOut.Close()
-	}
-	go s.periodicSynchronize(ctx, bufPipeOut, closeFun)
-	return bufPipeIn
-}
-
-func (s *SelectorScraper) periodicSynchronize(ctx context.Context, out *bufio.Writer, clientCloser func() error) {
-	err := s.synchronize(ctx, out)
-	if err != nil {
-		s.L.Info("Could not synchronize log")
-	}
-	select {
-	case <-ctx.Done():
-		// cleanup
-		s.podScrapers.Range(func(_, v interface{}) bool {
-			if canc, isCanc := v.(context.CancelFunc); isCanc {
-				canc()
-			}
-
-			return true
-		})
-		if err := clientCloser(); err != nil {
-			s.L.Error(err, "Unable to close the client")
-		}
-	case <-time.After(2 * time.Second):
-		go s.periodicSynchronize(ctx, out, clientCloser)
-	}
-}
-
-func (s *SelectorScraper) synchronize(ctx context.Context, out *bufio.Writer) error {
-	list, err := s.listPods()
-	if err != nil {
-		return err
-	}
-
-	present := make(map[string]bool)
-	for _, pod := range list.Items {
-		present[pod.Name] = true
-		if _, ok := s.podScrapers.Load(pod.Name); !ok {
-			s.addPodScraper(ctx, pod.Name, out)
-		}
-	}
-
-	toBeRemoved := make(map[string]bool)
-	s.podScrapers.Range(func(k, _ interface{}) bool {
-		if str, isStr := k.(string); isStr {
-			if _, ok := present[str]; !ok {
-				toBeRemoved[str] = true
-			}
-		}
-
-		return true
-	})
-
-	for podName := range toBeRemoved {
-		if scr, ok := s.podScrapers.Load(podName); ok {
-			if canc, ok2 := scr.(context.CancelFunc); ok2 {
-				canc()
-				s.podScrapers.Delete(podName)
-			}
-		}
-	}
-	return nil
-}
-
-func (s *SelectorScraper) addPodScraper(ctx context.Context, podName string, out *bufio.Writer) {
-	podScraper := NewPodScraper(s.client, s.namespace, podName, s.defaultContainerName)
-	podCtx, podCancel := context.WithCancel(ctx)
-	id := atomic.AddUint64(&s.counter, 1)
-	prefix := "[" + strconv.FormatUint(id, 10) + "] "
-	podReader := podScraper.Start(podCtx)
-	s.podScrapers.Store(podName, podCancel)
-	go func() {
-		defer podCancel()
-
-		if _, err := out.WriteString(prefix + "Monitoring pod " + podName); err != nil {
-			s.L.Error(err, "Cannot write to output")
-			return
-		}
-		for {
-			str, err := podReader.ReadString('\n')
-			if err == io.EOF {
-				return
-			} else if err != nil {
-				s.L.Error(err, "Cannot read from pod stream")
-				return
-			}
-			if _, err := out.WriteString(prefix + str); err != nil {
-				s.L.Error(err, "Cannot write to output")
-				return
-			}
-			out.Flush()
-			if podCtx.Err() != nil {
-				return
-			}
-		}
-	}()
-}
-
-func (s *SelectorScraper) listPods() (*corev1.PodList, error) {
-	list, err := s.client.CoreV1().Pods(s.namespace).List(metav1.ListOptions{
-		LabelSelector: s.labelSelector,
-	})
-	if err != nil {
-		return nil, err
-	}
-
-	return list, nil
-}
diff --git a/pkg/util/kubernetes/log/pod_scraper.go b/pkg/util/kubernetes/log/pod_scraper.go
deleted file mode 100644
index 1d1a583..0000000
--- a/pkg/util/kubernetes/log/pod_scraper.go
+++ /dev/null
@@ -1,215 +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 log
-
-import (
-	"bufio"
-	"context"
-	"io"
-	"time"
-
-	klog "github.com/apache/camel-k/pkg/util/log"
-	"github.com/pkg/errors"
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/util/json"
-	"k8s.io/apimachinery/pkg/watch"
-	"k8s.io/client-go/kubernetes"
-)
-
-var commonUserContainerNames = map[string]bool{
-	// Convention used in Knative and Istio
-	"user-container": true,
-}
-
-// PodScraper scrapes logs of a specific pod
-type PodScraper struct {
-	namespace            string
-	podName              string
-	defaultContainerName string
-	client               kubernetes.Interface
-	L                    klog.Logger
-}
-
-// NewPodScraper creates a new pod scraper
-func NewPodScraper(c kubernetes.Interface, namespace string, podName string, defaultContainerName string) *PodScraper {
-	return &PodScraper{
-		namespace:            namespace,
-		podName:              podName,
-		defaultContainerName: defaultContainerName,
-		client:               c,
-		L:                    klog.WithName("scraper").WithName("pod").WithValues("name", podName),
-	}
-}
-
-// Start returns a reader that streams the pod logs
-func (s *PodScraper) Start(ctx context.Context) *bufio.Reader {
-	pipeIn, pipeOut := io.Pipe()
-	bufPipeIn := bufio.NewReader(pipeIn)
-	bufPipeOut := bufio.NewWriter(pipeOut)
-	closeFun := func() error {
-		bufPipeOut.Flush()
-		return pipeOut.Close()
-	}
-	go s.doScrape(ctx, bufPipeOut, closeFun)
-	return bufPipeIn
-}
-
-func (s *PodScraper) doScrape(ctx context.Context, out *bufio.Writer, clientCloser func() error) {
-	containerName, err := s.waitForPodRunning(ctx, s.namespace, s.podName, s.defaultContainerName)
-	if err != nil {
-		s.handleAndRestart(ctx, err, 5*time.Second, out, clientCloser)
-		return
-	}
-	logOptions := corev1.PodLogOptions{
-		Follow:    true,
-		Container: containerName,
-	}
-	byteReader, err := s.client.CoreV1().Pods(s.namespace).GetLogs(s.podName, &logOptions).Context(ctx).Stream()
-	if err != nil {
-		s.handleAndRestart(ctx, err, 5*time.Second, out, clientCloser)
-		return
-	}
-
-	reader := bufio.NewReader(byteReader)
-	for {
-		data, err := reader.ReadBytes('\n')
-		if err == io.EOF {
-			return
-		}
-		if err != nil {
-			break
-		}
-		_, err = out.Write(data)
-		if err != nil {
-			break
-		}
-		out.Flush()
-	}
-
-	s.handleAndRestart(ctx, err, 5*time.Second, out, clientCloser)
-}
-
-func (s *PodScraper) handleAndRestart(ctx context.Context, err error, wait time.Duration, out *bufio.Writer, clientCloser func() error) {
-	if err != nil {
-		s.L.Error(err, "error caught during log scraping")
-	}
-
-	if ctx.Err() != nil {
-		s.L.Debug("Pod will no longer be monitored")
-		if err := clientCloser(); err != nil {
-			s.L.Error(err, "Unable to close the client")
-		}
-		return
-	}
-
-	s.L.Debugf("Retrying to scrape pod logs in %f seconds...", wait.Seconds())
-	select {
-	case <-time.After(wait):
-		break
-	case <-ctx.Done():
-		if err := clientCloser(); err != nil {
-			s.L.Error(err, "Unable to close the client")
-		}
-		return
-	}
-
-	s.doScrape(ctx, out, clientCloser)
-}
-
-// waitForPodRunning waits for a given pod to reach the running state.
-// It may return the internal container to watch if present
-func (s *PodScraper) waitForPodRunning(ctx context.Context, namespace string, podName string, defaultContainerName string) (string, error) {
-	pod := corev1.Pod{
-		TypeMeta: metav1.TypeMeta{
-			Kind:       "Pod",
-			APIVersion: corev1.SchemeGroupVersion.String(),
-		},
-		ObjectMeta: metav1.ObjectMeta{
-			Name:      podName,
-			Namespace: namespace,
-		},
-	}
-	podClient := s.client.CoreV1().Pods(pod.Namespace)
-	watcher, err := podClient.Watch(metav1.ListOptions{
-		FieldSelector: "metadata.name=" + pod.Name,
-	})
-	if err != nil {
-		return "", err
-	}
-	events := watcher.ResultChan()
-	for {
-		select {
-		case <-ctx.Done():
-			return "", ctx.Err()
-		case e, ok := <-events:
-			if !ok {
-				return "", errors.New("event channel closed")
-			}
-
-			if e.Object != nil {
-				var recvPod *corev1.Pod
-				if runtimeUnstructured, ok := e.Object.(runtime.Unstructured); ok {
-					unstr := unstructured.Unstructured{
-						Object: runtimeUnstructured.UnstructuredContent(),
-					}
-					jsondata, err := unstr.MarshalJSON()
-					if err != nil {
-						return "", err
-					}
-					recvPod := pod.DeepCopy()
-					if err := json.Unmarshal(jsondata, recvPod); err != nil {
-						return "", err
-					}
-				} else if gotPod, ok := e.Object.(*corev1.Pod); ok {
-					recvPod = gotPod
-				}
-
-				if recvPod != nil && recvPod.Status.Phase == corev1.PodRunning {
-					return s.chooseContainer(recvPod, defaultContainerName), nil
-				}
-			} else if e.Type == watch.Deleted || e.Type == watch.Error {
-				return "", errors.New("unable to watch pod " + s.podName)
-			}
-		case <-time.After(30 * time.Second):
-			return "", errors.New("no state change after 30 seconds for pod " + s.podName)
-		}
-	}
-}
-
-func (s *PodScraper) chooseContainer(p *corev1.Pod, defaultContainerName string) string {
-	if p != nil {
-		if len(p.Spec.Containers) == 1 {
-			// Let Kubernetes auto-detect
-			return ""
-		}
-		// Fallback to first container name
-		containerNameFound := p.Spec.Containers[0].Name
-		for _, c := range p.Spec.Containers {
-			if _, ok := commonUserContainerNames[c.Name]; ok {
-				return c.Name
-			} else if c.Name == defaultContainerName {
-				containerNameFound = defaultContainerName
-			}
-		}
-		return containerNameFound
-	}
-	return ""
-}
diff --git a/pkg/util/kubernetes/log/util.go b/pkg/util/kubernetes/log/util.go
deleted file mode 100644
index bd72a94..0000000
--- a/pkg/util/kubernetes/log/util.go
+++ /dev/null
@@ -1,41 +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 log
-
-import (
-	"context"
-	"fmt"
-	"io"
-	"io/ioutil"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-
-	"k8s.io/client-go/kubernetes"
-)
-
-// Print prints integrations logs to the stdout
-func Print(ctx context.Context, client kubernetes.Interface, integration *v1.Integration, out io.Writer) error {
-	scraper := NewSelectorScraper(client, integration.Namespace, integration.Name, "camel.apache.org/integration="+integration.Name)
-	reader := scraper.Start(ctx)
-
-	if _, err := io.Copy(out, ioutil.NopCloser(reader)); err != nil {
-		fmt.Println(err.Error())
-	}
-
-	return nil
-}
diff --git a/pkg/util/kubernetes/permission.go b/pkg/util/kubernetes/permission.go
deleted file mode 100644
index e72be7d..0000000
--- a/pkg/util/kubernetes/permission.go
+++ /dev/null
@@ -1,54 +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 kubernetes
-
-import (
-	"github.com/apache/camel-k/pkg/client"
-	authorizationv1 "k8s.io/api/authorization/v1"
-	k8serrors "k8s.io/apimachinery/pkg/api/errors"
-)
-
-// CheckPermission can be used to check if the current user/service-account is allowed to execute a given operation
-// in the cluster.
-// E.g. checkPermission(client, olmv1alpha1.GroupName, "clusterserviceversions", namespace, "camel-k", "get")
-//
-// nolint:unparam
-func CheckPermission(client client.Client, group, resource, namespace, name, verb string) (bool, error) {
-	sarReview := &authorizationv1.SelfSubjectAccessReview{
-		Spec: authorizationv1.SelfSubjectAccessReviewSpec{
-			ResourceAttributes: &authorizationv1.ResourceAttributes{
-				Group:     group,
-				Resource:  resource,
-				Namespace: namespace,
-				Name:      name,
-				Verb:      verb,
-			},
-		},
-	}
-
-	sar, err := client.AuthorizationV1().SelfSubjectAccessReviews().Create(sarReview)
-	if err != nil {
-		if k8serrors.IsForbidden(err) {
-			return false, nil
-		}
-		return false, err
-	} else if !sar.Status.Allowed {
-		return false, nil
-	}
-	return true, nil
-}
diff --git a/pkg/util/kubernetes/replace.go b/pkg/util/kubernetes/replace.go
deleted file mode 100644
index c0c417a..0000000
--- a/pkg/util/kubernetes/replace.go
+++ /dev/null
@@ -1,150 +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 kubernetes
-
-import (
-	"context"
-
-	"github.com/apache/camel-k/pkg/client"
-	routev1 "github.com/openshift/api/route/v1"
-	"github.com/pkg/errors"
-	corev1 "k8s.io/api/core/v1"
-	k8serrors "k8s.io/apimachinery/pkg/api/errors"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-	messaging "knative.dev/eventing/pkg/apis/messaging/v1alpha1"
-	serving "knative.dev/serving/pkg/apis/serving/v1"
-	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
-)
-
-// ReplaceResources allows to completely replace a list of resources on Kubernetes, taking care of immutable fields and resource versions
-func ReplaceResources(ctx context.Context, c client.Client, objects []runtime.Object) error {
-	for _, object := range objects {
-		err := ReplaceResource(ctx, c, object)
-		if err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-// ReplaceResource allows to completely replace a resource on Kubernetes, taking care of immutable fields and resource versions
-func ReplaceResource(ctx context.Context, c client.Client, res runtime.Object) error {
-	err := c.Create(ctx, res)
-	if err != nil && k8serrors.IsAlreadyExists(err) {
-		existing := res.DeepCopyObject()
-		var key k8sclient.ObjectKey
-		key, err = k8sclient.ObjectKeyFromObject(existing)
-		if err != nil {
-			return err
-		}
-		err = c.Get(ctx, key, existing)
-		if err != nil {
-			return err
-		}
-		mapRequiredMeta(existing, res)
-		mapRequiredServiceData(existing, res)
-		mapRequiredRouteData(existing, res)
-		mapRequiredKnativeData(existing, res)
-		mapRequiredKnativeServiceV1Beta1Data(existing, res)
-		mapRequiredKnativeServiceV1Data(existing, res)
-		err = c.Update(ctx, res)
-	}
-	if err != nil {
-		return errors.Wrap(err, "could not create or replace "+findResourceDetails(res))
-	}
-	return nil
-}
-
-func mapRequiredMeta(from runtime.Object, to runtime.Object) {
-	if fromC, ok := from.(metav1.Object); ok {
-		if toC, ok := to.(metav1.Object); ok {
-			toC.SetResourceVersion(fromC.GetResourceVersion())
-		}
-	}
-}
-
-func mapRequiredServiceData(from runtime.Object, to runtime.Object) {
-	if fromC, ok := from.(*corev1.Service); ok {
-		if toC, ok := to.(*corev1.Service); ok {
-			toC.Spec.ClusterIP = fromC.Spec.ClusterIP
-		}
-	}
-}
-
-func mapRequiredRouteData(from runtime.Object, to runtime.Object) {
-	if fromC, ok := from.(*routev1.Route); ok {
-		if toC, ok := to.(*routev1.Route); ok {
-			toC.Spec.Host = fromC.Spec.Host
-		}
-	}
-}
-
-func mapRequiredKnativeData(from runtime.Object, to runtime.Object) {
-	if fromC, ok := from.(*messaging.Subscription); ok {
-		if toC, ok := to.(*messaging.Subscription); ok {
-			toC.Spec.DeprecatedGeneration = fromC.Spec.DeprecatedGeneration
-		}
-	}
-}
-
-func mapRequiredKnativeServiceV1Beta1Data(from runtime.Object, to runtime.Object) {
-	if fromC, ok := from.(*serving.Service); ok {
-		if toC, ok := to.(*serving.Service); ok {
-			if toC.ObjectMeta.Annotations == nil {
-				toC.ObjectMeta.Annotations = make(map[string]string)
-			}
-			if v, present := fromC.ObjectMeta.Annotations["serving.knative.dev/creator"]; present {
-				toC.ObjectMeta.Annotations["serving.knative.dev/creator"] = v
-			}
-			if v, present := fromC.ObjectMeta.Annotations["serving.knative.dev/lastModifier"]; present {
-				toC.ObjectMeta.Annotations["serving.knative.dev/lastModifier"] = v
-			}
-		}
-	}
-}
-
-func mapRequiredKnativeServiceV1Data(from runtime.Object, to runtime.Object) {
-	if fromC, ok := from.(*serving.Service); ok {
-		if toC, ok := to.(*serving.Service); ok {
-			if toC.ObjectMeta.Annotations == nil {
-				toC.ObjectMeta.Annotations = make(map[string]string)
-			}
-			if v, present := fromC.ObjectMeta.Annotations["serving.knative.dev/creator"]; present {
-				toC.ObjectMeta.Annotations["serving.knative.dev/creator"] = v
-			}
-			if v, present := fromC.ObjectMeta.Annotations["serving.knative.dev/lastModifier"]; present {
-				toC.ObjectMeta.Annotations["serving.knative.dev/lastModifier"] = v
-			}
-		}
-	}
-}
-
-func findResourceDetails(res runtime.Object) string {
-	if res == nil {
-		return "nil resource"
-	}
-	if meta, ok := res.(metav1.Object); ok {
-		name := meta.GetName()
-		if ty, ok := res.(metav1.Type); ok {
-			return ty.GetKind() + " " + name
-		}
-		return "resource " + name
-	}
-	return "unnamed resource"
-}
diff --git a/pkg/util/kubernetes/resolver.go b/pkg/util/kubernetes/resolver.go
deleted file mode 100644
index fbb3eff..0000000
--- a/pkg/util/kubernetes/resolver.go
+++ /dev/null
@@ -1,132 +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 kubernetes
-
-import (
-	"context"
-	"fmt"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-
-	corev1 "k8s.io/api/core/v1"
-	controller "sigs.k8s.io/controller-runtime/pkg/client"
-)
-
-// ResolveSources --
-func ResolveSources(elements []v1.SourceSpec, mapLookup func(string) (*corev1.ConfigMap, error)) ([]v1.SourceSpec, error) {
-	for i := 0; i < len(elements); i++ {
-		r := &elements[i]
-
-		if err := Resolve(&r.DataSpec, mapLookup); err != nil {
-			return nil, err
-		}
-	}
-
-	return elements, nil
-}
-
-// ResolveResource --
-func ResolveResource(elements []v1.ResourceSpec, mapLookup func(string) (*corev1.ConfigMap, error)) ([]v1.ResourceSpec, error) {
-	for i := 0; i < len(elements); i++ {
-		r := &elements[i]
-
-		if err := Resolve(&r.DataSpec, mapLookup); err != nil {
-			return nil, err
-		}
-	}
-
-	return elements, nil
-}
-
-// Resolve --
-func Resolve(data *v1.DataSpec, mapLookup func(string) (*corev1.ConfigMap, error)) error {
-	// if it is a reference, get the content from the
-	// referenced ConfigMap
-	if data.ContentRef != "" {
-		//look up the ConfigMap from the kubernetes cluster
-		cm, err := mapLookup(data.ContentRef)
-		if err != nil {
-			return err
-		}
-
-		if cm == nil {
-			return fmt.Errorf("unable to find a ConfigMap with name: %s ", data.ContentRef)
-		}
-
-		//
-		// Replace ref source content with real content
-		//
-		data.Content = cm.Data["content"]
-		data.ContentRef = ""
-	}
-
-	return nil
-}
-
-// ResolveIntegrationSources --
-func ResolveIntegrationSources(
-	context context.Context,
-	client controller.Reader,
-	integration *v1.Integration,
-	resources *Collection) ([]v1.SourceSpec, error) {
-
-	if integration == nil {
-		return nil, nil
-	}
-
-	return ResolveSources(integration.Sources(), func(name string) (*corev1.ConfigMap, error) {
-		// the config map could be part of the resources created
-		// by traits
-		cm := resources.GetConfigMap(func(m *corev1.ConfigMap) bool {
-			return m.Name == name
-		})
-
-		if cm != nil {
-			return cm, nil
-		}
-
-		return GetConfigMap(context, client, name, integration.Namespace)
-	})
-}
-
-// ResolveIntegrationResources --
-// nolint: lll
-func ResolveIntegrationResources(
-	context context.Context,
-	client controller.Reader,
-	integration *v1.Integration,
-	resources *Collection) ([]v1.ResourceSpec, error) {
-
-	if integration == nil {
-		return nil, nil
-	}
-
-	return ResolveResource(integration.Spec.Resources, func(name string) (*corev1.ConfigMap, error) {
-		// the config map could be part of the resources created
-		// by traits
-		cm := resources.GetConfigMap(func(m *corev1.ConfigMap) bool {
-			return m.Name == name
-		})
-
-		if cm != nil {
-			return cm, nil
-		}
-
-		return GetConfigMap(context, client, name, integration.Namespace)
-	})
-}
diff --git a/pkg/util/kubernetes/sanitize.go b/pkg/util/kubernetes/sanitize.go
deleted file mode 100644
index 1ed8026..0000000
--- a/pkg/util/kubernetes/sanitize.go
+++ /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.
-*/
-
-package kubernetes
-
-import (
-	"path"
-	"regexp"
-	"strings"
-	"unicode"
-
-	scase "github.com/stoewer/go-strcase"
-)
-
-var disallowedChars = regexp.MustCompile(`[^a-z0-9-]`)
-
-// SanitizeName sanitizes the given name to be compatible with k8s
-func SanitizeName(name string) string {
-	name = path.Base(name)
-	name = strings.Split(name, ".")[0]
-	name = scase.KebabCase(name)
-	name = strings.ToLower(name)
-	name = disallowedChars.ReplaceAllString(name, "")
-	name = strings.TrimFunc(name, isDisallowedStartEndChar)
-	return name
-}
-
-// SanitizeLabel sanitizes the given name to be compatible with k8s
-func SanitizeLabel(name string) string {
-	name = strings.ToLower(name)
-	name = disallowedChars.ReplaceAllString(name, "")
-	name = strings.TrimFunc(name, isDisallowedStartEndChar)
-	return name
-}
-
-func isDisallowedStartEndChar(rune rune) bool {
-	return !unicode.IsLetter(rune) && !unicode.IsNumber(rune)
-}
diff --git a/pkg/util/kubernetes/sanitize_test.go b/pkg/util/kubernetes/sanitize_test.go
deleted file mode 100644
index 31b422e..0000000
--- a/pkg/util/kubernetes/sanitize_test.go
+++ /dev/null
@@ -1,46 +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 kubernetes
-
-import (
-	"testing"
-)
-
-func TestSanitizeName(t *testing.T) {
-	cases := []map[string]string{
-		{"input": "./abc.java", "expect": "abc"},
-		{"input": "../../abc.java", "expect": "abc"},
-		{"input": "/path/to/abc.js", "expect": "abc"},
-		{"input": "abc.xml", "expect": "abc"},
-		{"input": "./path/to/abc.kts", "expect": "abc"},
-		{"input": "fooToBar.groovy", "expect": "foo-to-bar"},
-		{"input": "foo-to-bar", "expect": "foo-to-bar"},
-		{"input": "http://foo.bar.com/cheese/wine/beer/abc.java", "expect": "abc"},
-		{"input": "http://foo.bar.com/cheese", "expect": "cheese"},
-		{"input": "http://foo.bar.com", "expect": "foo"},
-		{"input": "-foo-bar-", "expect": "foo-bar"},
-		{"input": "1foo-bar2", "expect": "1foo-bar2"},
-		{"input": "foo-bar-1", "expect": "foo-bar-1"},
-	}
-
-	for _, c := range cases {
-		if name := SanitizeName(c["input"]); name != c["expect"] {
-			t.Errorf("result of %s should be %s, instead of %s", c["input"], c["expect"], name)
-		}
-	}
-}
diff --git a/pkg/util/kubernetes/util.go b/pkg/util/kubernetes/util.go
deleted file mode 100644
index 9fd960a..0000000
--- a/pkg/util/kubernetes/util.go
+++ /dev/null
@@ -1,245 +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 kubernetes
-
-import (
-	"context"
-	"fmt"
-
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/util/json"
-	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/client"
-	yaml2 "gopkg.in/yaml.v2"
-)
-
-// ToJSON --
-func ToJSON(value runtime.Object) ([]byte, error) {
-	return json.Marshal(value)
-}
-
-// ToYAML --
-func ToYAML(value runtime.Object) ([]byte, error) {
-	data, err := ToJSON(value)
-	if err != nil {
-		return nil, err
-	}
-
-	return JSONToYAML(data)
-}
-
-// JSONToYAML --
-func JSONToYAML(src []byte) ([]byte, error) {
-	jsondata := map[string]interface{}{}
-	err := json.Unmarshal(src, &jsondata)
-	if err != nil {
-		return nil, fmt.Errorf("error unmarshalling json: %v", err)
-	}
-	yamldata, err := yaml2.Marshal(&jsondata)
-	if err != nil {
-		return nil, fmt.Errorf("error marshalling to yaml: %v", err)
-	}
-
-	return yamldata, nil
-}
-
-// GetConfigMap --
-func GetConfigMap(context context.Context, client k8sclient.Reader, name string, namespace string) (*corev1.ConfigMap, error) {
-	key := k8sclient.ObjectKey{
-		Name:      name,
-		Namespace: namespace,
-	}
-
-	answer := corev1.ConfigMap{
-		TypeMeta: metav1.TypeMeta{
-			Kind:       "ConfigMap",
-			APIVersion: "v1",
-		},
-		ObjectMeta: metav1.ObjectMeta{
-			Name:      name,
-			Namespace: namespace,
-		},
-	}
-
-	if err := client.Get(context, key, &answer); err != nil {
-		return nil, err
-	}
-
-	return &answer, nil
-}
-
-// GetSecret --
-func GetSecret(context context.Context, client k8sclient.Reader, name string, namespace string) (*corev1.Secret, error) {
-	key := k8sclient.ObjectKey{
-		Name:      name,
-		Namespace: namespace,
-	}
-
-	answer := corev1.Secret{
-		TypeMeta: metav1.TypeMeta{
-			Kind:       "Secret",
-			APIVersion: "v1",
-		},
-		ObjectMeta: metav1.ObjectMeta{
-			Name:      name,
-			Namespace: namespace,
-		},
-	}
-
-	if err := client.Get(context, key, &answer); err != nil {
-		return nil, err
-	}
-
-	return &answer, nil
-}
-
-// GetIntegrationPlatform --
-func GetIntegrationPlatform(context context.Context, client k8sclient.Reader, name string, namespace string) (*v1.IntegrationPlatform, error) {
-	key := k8sclient.ObjectKey{
-		Name:      name,
-		Namespace: namespace,
-	}
-
-	answer := v1.NewIntegrationPlatform(namespace, name)
-
-	if err := client.Get(context, key, &answer); err != nil {
-		return nil, err
-	}
-
-	return &answer, nil
-}
-
-// GetIntegrationKit --
-func GetIntegrationKit(context context.Context, client k8sclient.Reader, name string, namespace string) (*v1.IntegrationKit, error) {
-	key := k8sclient.ObjectKey{
-		Name:      name,
-		Namespace: namespace,
-	}
-
-	answer := v1.NewIntegrationKit(namespace, name)
-
-	if err := client.Get(context, key, &answer); err != nil {
-		return nil, err
-	}
-
-	return &answer, nil
-}
-
-// GetIntegration --
-func GetIntegration(context context.Context, client k8sclient.Reader, name string, namespace string) (*v1.Integration, error) {
-	key := k8sclient.ObjectKey{
-		Name:      name,
-		Namespace: namespace,
-	}
-
-	answer := v1.NewIntegration(namespace, name)
-
-	if err := client.Get(context, key, &answer); err != nil {
-		return nil, err
-	}
-
-	return &answer, nil
-}
-
-// GetBuild --
-func GetBuild(context context.Context, client client.Client, name string, namespace string) (*v1.Build, error) {
-	key := k8sclient.ObjectKey{
-		Name:      name,
-		Namespace: namespace,
-	}
-
-	answer := v1.NewBuild(namespace, name)
-
-	if err := client.Get(context, key, &answer); err != nil {
-		return nil, err
-	}
-
-	return &answer, nil
-}
-
-// GetService --
-func GetService(context context.Context, client k8sclient.Reader, name string, namespace string) (*corev1.Service, error) {
-	key := k8sclient.ObjectKey{
-		Name:      name,
-		Namespace: namespace,
-	}
-
-	answer := corev1.Service{
-		TypeMeta: metav1.TypeMeta{
-			Kind:       "Service",
-			APIVersion: "v1",
-		},
-		ObjectMeta: metav1.ObjectMeta{
-			Name:      name,
-			Namespace: namespace,
-		},
-	}
-
-	if err := client.Get(context, key, &answer); err != nil {
-		return nil, err
-	}
-
-	return &answer, nil
-}
-
-// GetSecretRefValue returns the value of a secret in the supplied namespace --
-func GetSecretRefValue(ctx context.Context, client k8sclient.Reader, namespace string, selector *corev1.SecretKeySelector) (string, error) {
-	secret, err := GetSecret(ctx, client, selector.Name, namespace)
-	if err != nil {
-		return "", err
-	}
-
-	if data, ok := secret.Data[selector.Key]; ok {
-		return string(data), nil
-	}
-
-	return "", fmt.Errorf("key %s not found in secret %s", selector.Key, selector.Name)
-}
-
-// GetConfigMapRefValue returns the value of a configmap in the supplied namespace
-func GetConfigMapRefValue(ctx context.Context, client k8sclient.Reader, namespace string, selector *corev1.ConfigMapKeySelector) (string, error) {
-	cm, err := GetConfigMap(ctx, client, selector.Name, namespace)
-	if err != nil {
-		return "", err
-	}
-
-	if data, ok := cm.Data[selector.Key]; ok {
-		return data, nil
-	}
-
-	return "", fmt.Errorf("key %s not found in config map %s", selector.Key, selector.Name)
-}
-
-// ResolveValueSource --
-func ResolveValueSource(ctx context.Context, client k8sclient.Reader, namespace string, valueSource *v1.ValueSource) (string, error) {
-	if valueSource.ConfigMapKeyRef != nil && valueSource.SecretKeyRef != nil {
-		return "", fmt.Errorf("value source has bot config map and secret configured")
-	}
-	if valueSource.ConfigMapKeyRef != nil {
-		return GetConfigMapRefValue(ctx, client, namespace, valueSource.ConfigMapKeyRef)
-	}
-	if valueSource.SecretKeyRef != nil {
-		return GetSecretRefValue(ctx, client, namespace, valueSource.SecretKeyRef)
-	}
-
-	return "", nil
-}
diff --git a/pkg/util/kubernetes/wait.go b/pkg/util/kubernetes/wait.go
deleted file mode 100644
index 5c6129b..0000000
--- a/pkg/util/kubernetes/wait.go
+++ /dev/null
@@ -1,72 +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 kubernetes
-
-import (
-	"context"
-	"time"
-
-	"github.com/apache/camel-k/pkg/client"
-	"github.com/pkg/errors"
-	"k8s.io/apimachinery/pkg/runtime"
-
-	k8serrors "k8s.io/apimachinery/pkg/api/errors"
-	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
-)
-
-// ResourceRetrieveFunction --
-type ResourceRetrieveFunction func() (interface{}, error)
-
-// ResourceCheckFunction --
-type ResourceCheckFunction func(interface{}) (bool, error)
-
-const (
-	sleepTime = 400 * time.Millisecond
-)
-
-// WaitCondition --
-func WaitCondition(ctx context.Context, c client.Client, obj runtime.Object, condition ResourceCheckFunction, maxDuration time.Duration) error {
-	start := time.Now()
-	key, err := k8sclient.ObjectKeyFromObject(obj)
-	if err != nil {
-		return err
-	}
-	for start.Add(maxDuration).After(time.Now()) {
-		err := c.Get(ctx, key, obj)
-		if err != nil {
-			if k8serrors.IsNotFound(err) {
-				time.Sleep(sleepTime)
-				continue
-			}
-
-			return err
-		}
-
-		satisfied, err := condition(obj)
-		if err != nil {
-			return errors.Wrap(err, "error while evaluating condition")
-		}
-		if !satisfied {
-			time.Sleep(sleepTime)
-			continue
-		}
-
-		return nil
-	}
-	return errors.New("timeout while waiting condition")
-}
diff --git a/pkg/util/log/log.go b/pkg/util/log/log.go
deleted file mode 100644
index 8287561..0000000
--- a/pkg/util/log/log.go
+++ /dev/null
@@ -1,196 +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 log
-
-import (
-	"fmt"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/go-logr/logr"
-	logf "sigs.k8s.io/controller-runtime/pkg/log"
-)
-
-// Log --
-var Log Logger
-
-func init() {
-	Log = Logger{
-		delegate: logf.Log.WithName("camel-k"),
-	}
-}
-
-// Injectable identifies objects that can receive a Logger
-type Injectable interface {
-	InjectLogger(Logger)
-}
-
-// Logger --
-type Logger struct {
-	delegate logr.Logger
-}
-
-// Debugf --
-func (l Logger) Debugf(format string, args ...interface{}) {
-	l.delegate.V(1).Info(fmt.Sprintf(format, args...))
-}
-
-// Infof --
-func (l Logger) Infof(format string, args ...interface{}) {
-	l.delegate.Info(fmt.Sprintf(format, args...))
-}
-
-// Errorf --
-func (l Logger) Errorf(err error, format string, args ...interface{}) {
-	l.delegate.Error(err, fmt.Sprintf(format, args...))
-}
-
-// Debug --
-func (l Logger) Debug(msg string, keysAndValues ...interface{}) {
-	l.delegate.V(1).Info(msg, keysAndValues...)
-}
-
-// Info --
-func (l Logger) Info(msg string, keysAndValues ...interface{}) {
-	l.delegate.Info(msg, keysAndValues...)
-}
-
-// Error --
-func (l Logger) Error(err error, msg string, keysAndValues ...interface{}) {
-	l.delegate.Error(err, msg, keysAndValues...)
-}
-
-// WithName --
-func (l Logger) WithName(name string) Logger {
-	return Logger{
-		delegate: l.delegate.WithName(name),
-	}
-}
-
-// WithValues --
-func (l Logger) WithValues(keysAndValues ...interface{}) Logger {
-	return Logger{
-		delegate: l.delegate.WithValues(keysAndValues...),
-	}
-}
-
-// ForBuild --
-func (l Logger) ForBuild(target *v1.Build) Logger {
-	return l.WithValues(
-		"api-version", target.APIVersion,
-		"kind", target.Kind,
-		"ns", target.Namespace,
-		"name", target.Name,
-	)
-}
-
-// ForIntegration --
-func (l Logger) ForIntegration(target *v1.Integration) Logger {
-	return l.WithValues(
-		"api-version", target.APIVersion,
-		"kind", target.Kind,
-		"ns", target.Namespace,
-		"name", target.Name,
-	)
-}
-
-// ForIntegrationKit --
-func (l Logger) ForIntegrationKit(target *v1.IntegrationKit) Logger {
-	return l.WithValues(
-		"api-version", target.APIVersion,
-		"kind", target.Kind,
-		"ns", target.Namespace,
-		"name", target.Name,
-	)
-}
-
-// ForIntegrationPlatform --
-func (l Logger) ForIntegrationPlatform(target *v1.IntegrationPlatform) Logger {
-	return l.WithValues(
-		"api-version", target.APIVersion,
-		"kind", target.Kind,
-		"ns", target.Namespace,
-		"name", target.Name,
-	)
-}
-
-// ***********************************
-//
-// Helpers
-//
-// ***********************************
-
-// WithName --
-func WithName(name string) Logger {
-	return Log.WithName(name)
-}
-
-// WithValues --
-func WithValues(keysAndValues ...interface{}) Logger {
-	return Log.WithValues(keysAndValues...)
-}
-
-// ForIntegration --
-func ForIntegration(target *v1.Integration) Logger {
-	return Log.ForIntegration(target)
-}
-
-// ForIntegrationKit --
-func ForIntegrationKit(target *v1.IntegrationKit) Logger {
-	return Log.ForIntegrationKit(target)
-}
-
-// ForIntegrationPlatform --
-func ForIntegrationPlatform(target *v1.IntegrationPlatform) Logger {
-	return Log.ForIntegrationPlatform(target)
-}
-
-// ***********************************
-//
-//
-//
-// ***********************************
-
-// Debugf --
-func Debugf(format string, args ...interface{}) {
-	Log.Debugf(format, args...)
-}
-
-// Infof --
-func Infof(format string, args ...interface{}) {
-	Log.Infof(format, args...)
-}
-
-// Errorf --
-func Errorf(err error, format string, args ...interface{}) {
-	Log.Errorf(err, format, args...)
-}
-
-// Debug --
-func Debug(msg string, keysAndValues ...interface{}) {
-	Log.Debug(msg, keysAndValues...)
-}
-
-// Info --
-func Info(msg string, keysAndValues ...interface{}) {
-	Log.Info(msg, keysAndValues...)
-}
-
-// Error --
-func Error(err error, msg string, keysAndValues ...interface{}) {
-	Log.Error(err, msg, keysAndValues...)
-}
diff --git a/pkg/util/maven/maven.go b/pkg/util/maven/maven.go
deleted file mode 100644
index 067feca..0000000
--- a/pkg/util/maven/maven.go
+++ /dev/null
@@ -1,168 +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 maven
-
-import (
-	"context"
-	"fmt"
-	"io"
-	"io/ioutil"
-	"math"
-	"os"
-	"os/exec"
-	"path"
-	"regexp"
-	"strings"
-
-	"github.com/pkg/errors"
-
-	"github.com/apache/camel-k/pkg/util"
-	"github.com/apache/camel-k/pkg/util/log"
-)
-
-// Log --
-var Log = log.WithName("maven")
-
-// GenerateProjectStructure --
-func GenerateProjectStructure(context Context) error {
-	if err := util.WriteFileWithBytesMarshallerContent(context.Path, "pom.xml", context.Project); err != nil {
-		return err
-	}
-
-	if context.SettingsContent != nil {
-		if err := util.WriteFileWithContent(context.Path, "settings.xml", context.SettingsContent); err != nil {
-			return err
-		}
-	}
-
-	for k, v := range context.AdditionalEntries {
-		var bytes []byte
-		var err error
-
-		if dc, ok := v.([]byte); ok {
-			bytes = dc
-		} else if dc, ok := v.(io.Reader); ok {
-			bytes, err = ioutil.ReadAll(dc)
-			if err != nil {
-				return err
-			}
-		} else {
-			return fmt.Errorf("unknown content type: name=%s, content=%+v", k, v)
-		}
-
-		if len(bytes) > 0 {
-			Log.Infof("write entry: %s (%d bytes)", k, len(bytes))
-
-			err = util.WriteFileWithContent(context.Path, k, bytes)
-			if err != nil {
-				return err
-			}
-		}
-	}
-
-	return nil
-}
-
-// Run --
-func Run(ctx Context) error {
-	if err := GenerateProjectStructure(ctx); err != nil {
-		return err
-	}
-
-	mvnCmd := "mvn"
-	if c, ok := os.LookupEnv("MAVEN_CMD"); ok {
-		mvnCmd = c
-	}
-
-	args := make([]string, 0)
-	args = append(args, "--batch-mode")
-
-	if ctx.LocalRepository == "" {
-		args = append(args, "-Dcamel.noop=true")
-	} else if _, err := os.Stat(ctx.LocalRepository); err == nil {
-		args = append(args, "-Dmaven.repo.local="+ctx.LocalRepository)
-	}
-
-	settingsPath := path.Join(ctx.Path, "settings.xml")
-	settingsExists, err := util.FileExists(settingsPath)
-	if err != nil {
-		return err
-	}
-
-	if settingsExists {
-		args = append(args, "--settings", settingsPath)
-	}
-
-	args = append(args, ctx.AdditionalArguments...)
-
-	timeout := ctx.Timeout
-	if timeout == 0 {
-		timeout = math.MaxInt64
-	}
-
-	c, cancel := context.WithTimeout(context.Background(), timeout)
-	defer cancel()
-
-	cmd := exec.CommandContext(c, mvnCmd, args...)
-	cmd.Dir = ctx.Path
-	cmd.Stderr = os.Stderr
-	if ctx.Stdout != nil {
-		cmd.Stdout = ctx.Stdout
-	} else {
-		cmd.Stdout = os.Stdout
-	}
-
-	Log.WithValues("timeout", timeout.String()).Infof("executing: %s", strings.Join(cmd.Args, " "))
-
-	return cmd.Run()
-}
-
-// ParseGAV decode a maven artifact id to a dependency definition.
-//
-// The artifact id is in the form of:
-//
-//     <groupId>:<artifactId>[:<packagingType>[:<classifier>]]:(<version>|'?')
-//
-func ParseGAV(gav string) (Dependency, error) {
-	// <groupId>:<artifactId>[:<packagingType>[:<classifier>]]:(<version>|'?')
-	dep := Dependency{}
-	rex := regexp.MustCompile("([^: ]+):([^: ]+)(:([^: ]*)(:([^: ]+))?)?(:([^: ]+))?")
-	res := rex.FindStringSubmatch(gav)
-
-	if res == nil || len(res) < 9 {
-		return Dependency{}, errors.New("GAV must match <groupId>:<artifactId>[:<packagingType>[:<classifier>]]:(<version>|'?')")
-	}
-
-	dep.GroupID = res[1]
-	dep.ArtifactID = res[2]
-
-	cnt := strings.Count(gav, ":")
-	switch cnt {
-	case 2:
-		dep.Version = res[4]
-	case 3:
-		dep.Type = res[4]
-		dep.Version = res[6]
-	default:
-		dep.Type = res[4]
-		dep.Classifier = res[6]
-		dep.Version = res[8]
-	}
-
-	return dep, nil
-}
diff --git a/pkg/util/maven/maven_project.go b/pkg/util/maven/maven_project.go
deleted file mode 100644
index 4de5225..0000000
--- a/pkg/util/maven/maven_project.go
+++ /dev/null
@@ -1,199 +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 maven
-
-import (
-	"bytes"
-	"encoding/xml"
-	"strings"
-)
-
-// NewProject --
-func NewProject() Project {
-	return Project{
-		XMLName:           xml.Name{Local: "project"},
-		XMLNs:             "http://maven.apache.org/POM/4.0.0",
-		XMLNsXsi:          "http://www.w3.org/2001/XMLSchema-instance",
-		XsiSchemaLocation: "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd",
-		ModelVersion:      "4.0.0",
-	}
-}
-
-// NewProjectWithGAV --
-func NewProjectWithGAV(group string, artifact string, version string) Project {
-	p := NewProject()
-	p.GroupID = group
-	p.ArtifactID = artifact
-	p.Version = version
-	p.Properties = make(map[string]string)
-	p.Properties["project.build.sourceEncoding"] = "UTF-8"
-
-	return p
-}
-
-// MarshalBytes --
-func (p Project) MarshalBytes() ([]byte, error) {
-	w := &bytes.Buffer{}
-	w.WriteString(xml.Header)
-
-	e := xml.NewEncoder(w)
-	e.Indent("", "  ")
-
-	err := e.Encode(p)
-	if err != nil {
-		return []byte{}, err
-	}
-
-	return w.Bytes(), nil
-}
-
-// LookupDependency --
-func (p *Project) LookupDependency(dep Dependency) *Dependency {
-	for i := range p.Dependencies {
-		// Check if the given dependency is already included in the dependency list
-		if p.Dependencies[i].GroupID == dep.GroupID && p.Dependencies[i].ArtifactID == dep.ArtifactID {
-			return &p.Dependencies[i]
-		}
-	}
-
-	return nil
-}
-
-// ReplaceDependency --
-func (p *Project) ReplaceDependency(dep Dependency) {
-	for i, d := range p.Dependencies {
-		// Check if the given dependency is already included in the dependency list
-		if d.GroupID == dep.GroupID && d.ArtifactID == dep.ArtifactID {
-			p.Dependencies[i] = dep
-
-			return
-		}
-	}
-}
-
-// AddDependency adds a dependency to maven's dependencies
-func (p *Project) AddDependency(dep Dependency) {
-	for _, d := range p.Dependencies {
-		// Check if the given dependency is already included in the dependency list
-		if d.GroupID == dep.GroupID && d.ArtifactID == dep.ArtifactID {
-			return
-		}
-	}
-
-	p.Dependencies = append(p.Dependencies, dep)
-}
-
-// AddDependencies adds dependencies to maven's dependencies
-func (p *Project) AddDependencies(deps ...Dependency) {
-	for _, d := range deps {
-		p.AddDependency(d)
-	}
-}
-
-// AddDependencyGAV a dependency to maven's dependencies
-func (p *Project) AddDependencyGAV(groupID string, artifactID string, version string) {
-	p.AddDependency(NewDependency(groupID, artifactID, version))
-}
-
-// AddEncodedDependencyGAV a dependency to maven's dependencies
-func (p *Project) AddEncodedDependencyGAV(gav string) {
-	if d, err := ParseGAV(gav); err == nil {
-		// TODO: error handling
-		p.AddDependency(d)
-	}
-}
-
-// AddDependencyExclusion --
-func (p *Project) AddDependencyExclusion(dep Dependency, exclusion Exclusion) {
-	if t := p.LookupDependency(dep); t != nil {
-		if t.Exclusions == nil {
-			exclusions := make([]Exclusion, 0)
-			t.Exclusions = &exclusions
-		}
-
-		for _, e := range *t.Exclusions {
-			if e.ArtifactID == exclusion.ArtifactID && e.GroupID == exclusion.GroupID {
-				return
-			}
-		}
-
-		*t.Exclusions = append(*t.Exclusions, exclusion)
-	}
-}
-
-// AddDependencyExclusions --
-func (p *Project) AddDependencyExclusions(dep Dependency, exclusions ...Exclusion) {
-	for _, e := range exclusions {
-		p.AddDependencyExclusion(dep, e)
-	}
-}
-
-// NewDependency create an new dependency from the given gav info
-func NewDependency(groupID string, artifactID string, version string) Dependency {
-	return Dependency{
-		GroupID:    groupID,
-		ArtifactID: artifactID,
-		Version:    version,
-		Type:       "",
-		Classifier: "",
-	}
-}
-
-//
-// NewRepository parse the given repo url ang generated the related struct.
-//
-// The repository can be customized by appending @instruction to the repository
-// uri, as example:
-//
-//     http://my-nexus:8081/repository/publicc@id=my-repo@snapshots
-//
-// Will enable snapshots and sets the repo it to my-repo
-//
-func NewRepository(repo string) Repository {
-	r := Repository{
-		URL: repo,
-		Releases: RepositoryPolicy{
-			Enabled:        true,
-			ChecksumPolicy: "fail",
-		},
-		Snapshots: RepositoryPolicy{
-			Enabled:        false,
-			ChecksumPolicy: "fail",
-		},
-	}
-
-	if idx := strings.Index(repo, "@"); idx != -1 {
-		r.URL = repo[:idx]
-
-		for _, attribute := range strings.Split(repo[idx+1:], "@") {
-			switch {
-			case attribute == "snapshots":
-				r.Snapshots.Enabled = true
-			case attribute == "noreleases":
-				r.Releases.Enabled = false
-			case strings.HasPrefix(attribute, "id="):
-				r.ID = attribute[3:]
-			case strings.HasPrefix(attribute, "checksumpolicy="):
-				r.Snapshots.ChecksumPolicy = attribute[15:]
-				r.Releases.ChecksumPolicy = attribute[15:]
-			}
-		}
-	}
-
-	return r
-}
diff --git a/pkg/util/maven/maven_project_test.go b/pkg/util/maven/maven_project_test.go
deleted file mode 100644
index 164734c..0000000
--- a/pkg/util/maven/maven_project_test.go
+++ /dev/null
@@ -1,235 +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 maven
-
-import (
-	"testing"
-
-	"github.com/apache/camel-k/pkg/util"
-
-	"github.com/stretchr/testify/assert"
-)
-
-const expectedPom = `<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ` +
-	`xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.camel.k.integration</groupId>
-  <artifactId>camel-k-integration</artifactId>
-  <version>1.0.0</version>
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-bom</artifactId>
-        <version>2.22.1</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.camel.k</groupId>
-      <artifactId>camel-k-runtime-jvm</artifactId>
-      <version>1.0.0</version>
-    </dependency>
-  </dependencies>
-  <repositories>
-    <repository>
-      <id>central</id>
-      <url>https://repo.maven.apache.org/maven2</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-        <updatePolicy>never</updatePolicy>
-      </releases>
-    </repository>
-  </repositories>
-  <pluginRepositories>
-    <pluginRepository>
-      <id>central</id>
-      <url>https://repo.maven.apache.org/maven2</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <enabled>true</enabled>
-        <updatePolicy>never</updatePolicy>
-      </releases>
-    </pluginRepository>
-  </pluginRepositories>
-</project>`
-
-func TestPomGeneration(t *testing.T) {
-	project := NewProjectWithGAV("org.apache.camel.k.integration", "camel-k-integration", "1.0.0")
-	project.DependencyManagement = &DependencyManagement{
-		Dependencies: []Dependency{
-			{
-				GroupID:    "org.apache.camel",
-				ArtifactID: "camel-bom",
-				Version:    "2.22.1",
-				Type:       "pom",
-				Scope:      "import",
-			},
-		},
-	}
-	project.Dependencies = []Dependency{
-		{
-			GroupID:    "org.apache.camel.k",
-			ArtifactID: "camel-k-runtime-jvm",
-			Version:    "1.0.0",
-		},
-	}
-	project.Repositories = []Repository{
-		{
-			ID:  "central",
-			URL: "https://repo.maven.apache.org/maven2",
-			Snapshots: RepositoryPolicy{
-				Enabled: false,
-			},
-			Releases: RepositoryPolicy{
-				Enabled:      true,
-				UpdatePolicy: "never",
-			},
-		},
-	}
-	project.PluginRepositories = []Repository{
-		{
-			ID:  "central",
-			URL: "https://repo.maven.apache.org/maven2",
-			Snapshots: RepositoryPolicy{
-				Enabled: false,
-			},
-			Releases: RepositoryPolicy{
-				Enabled:      true,
-				UpdatePolicy: "never",
-			},
-		},
-	}
-
-	pom, err := util.EncodeXML(project)
-
-	assert.Nil(t, err)
-	assert.NotNil(t, pom)
-
-	assert.Equal(t, expectedPom, string(pom))
-}
-
-func TestParseSimpleGAV(t *testing.T) {
-	dep, err := ParseGAV("org.apache.camel:camel-core:2.21.1")
-
-	assert.Nil(t, err)
-	assert.Equal(t, dep.GroupID, "org.apache.camel")
-	assert.Equal(t, dep.ArtifactID, "camel-core")
-	assert.Equal(t, dep.Version, "2.21.1")
-	assert.Equal(t, dep.Type, "")
-	assert.Equal(t, dep.Classifier, "")
-}
-
-func TestParseGAVWithType(t *testing.T) {
-	dep, err := ParseGAV("org.apache.camel:camel-core:war:2.21.1")
-
-	assert.Nil(t, err)
-	assert.Equal(t, dep.GroupID, "org.apache.camel")
-	assert.Equal(t, dep.ArtifactID, "camel-core")
-	assert.Equal(t, dep.Version, "2.21.1")
-	assert.Equal(t, dep.Type, "war")
-	assert.Equal(t, dep.Classifier, "")
-}
-
-func TestParseGAVWithClassifierAndType(t *testing.T) {
-	dep, err := ParseGAV("org.apache.camel:camel-core:war:test:2.21.1")
-
-	assert.Nil(t, err)
-	assert.Equal(t, dep.GroupID, "org.apache.camel")
-	assert.Equal(t, dep.ArtifactID, "camel-core")
-	assert.Equal(t, dep.Version, "2.21.1")
-	assert.Equal(t, dep.Type, "war")
-	assert.Equal(t, dep.Classifier, "test")
-}
-
-func TestParseGAVMvnNoVersion(t *testing.T) {
-	dep, err := ParseGAV("mvn:org.apache.camel/camel-core")
-
-	assert.Nil(t, err)
-	assert.Equal(t, dep.GroupID, "mvn")
-	assert.Equal(t, dep.ArtifactID, "org.apache.camel/camel-core")
-}
-
-func TestParseGAVErrorNoColumn(t *testing.T) {
-	dep, err := ParseGAV("org.apache.camel.k.camel-k-runtime-noop-0.2.1-SNAPSHOT.jar")
-
-	assert.EqualError(t, err, "GAV must match <groupId>:<artifactId>[:<packagingType>[:<classifier>]]:(<version>|'?')")
-	assert.Equal(t, Dependency{}, dep)
-}
-
-func TestNewRepository(t *testing.T) {
-	r := NewRepository("http://nexus/public")
-	assert.Equal(t, "", r.ID)
-	assert.Equal(t, "http://nexus/public", r.URL)
-	assert.True(t, r.Releases.Enabled)
-	assert.False(t, r.Snapshots.Enabled)
-	assert.Equal(t, "fail", r.Releases.ChecksumPolicy)
-	assert.Equal(t, "fail", r.Snapshots.ChecksumPolicy)
-}
-
-func TestNewRepositoryWithSnapshots(t *testing.T) {
-	r := NewRepository("http://nexus/public@snapshots")
-	assert.Equal(t, "", r.ID)
-	assert.Equal(t, "http://nexus/public", r.URL)
-	assert.True(t, r.Releases.Enabled)
-	assert.True(t, r.Snapshots.Enabled)
-	assert.Equal(t, "fail", r.Releases.ChecksumPolicy)
-	assert.Equal(t, "fail", r.Snapshots.ChecksumPolicy)
-}
-
-func TestNewRepositoryWithSnapshotsAndID(t *testing.T) {
-	r := NewRepository("http://nexus/public@snapshots@id=test")
-	assert.Equal(t, "test", r.ID)
-	assert.Equal(t, "http://nexus/public", r.URL)
-	assert.True(t, r.Releases.Enabled)
-	assert.True(t, r.Snapshots.Enabled)
-	assert.Equal(t, "fail", r.Releases.ChecksumPolicy)
-	assert.Equal(t, "fail", r.Snapshots.ChecksumPolicy)
-}
-
-func TestNewRepositoryWithID(t *testing.T) {
-	r := NewRepository("http://nexus/public@id=test")
-	assert.Equal(t, "test", r.ID)
-	assert.Equal(t, "http://nexus/public", r.URL)
-	assert.True(t, r.Releases.Enabled)
-	assert.False(t, r.Snapshots.Enabled)
-	assert.Equal(t, "fail", r.Releases.ChecksumPolicy)
-	assert.Equal(t, "fail", r.Snapshots.ChecksumPolicy)
-}
-
-func TestNewRepositoryWithChecksumPolicy(t *testing.T) {
-	r := NewRepository("http://nexus/public@checksumpolicy=warn")
-	assert.Equal(t, "", r.ID)
-	assert.Equal(t, "http://nexus/public", r.URL)
-	assert.True(t, r.Releases.Enabled)
-	assert.False(t, r.Snapshots.Enabled)
-	assert.Equal(t, "warn", r.Releases.ChecksumPolicy)
-	assert.Equal(t, "warn", r.Snapshots.ChecksumPolicy)
-}
diff --git a/pkg/util/maven/maven_settings.go b/pkg/util/maven/maven_settings.go
deleted file mode 100644
index 4bdf282..0000000
--- a/pkg/util/maven/maven_settings.go
+++ /dev/null
@@ -1,113 +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 maven
-
-import (
-	"encoding/xml"
-	"strings"
-
-	"github.com/apache/camel-k/pkg/util"
-
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-// DefaultMavenRepositories is a comma separated list of default maven repositories
-// This variable can be overridden at build time
-var DefaultMavenRepositories = "https://repo.maven.apache.org/maven2@id=central"
-
-// NewSettings --
-func NewSettings() Settings {
-	return Settings{
-		XMLName:           xml.Name{Local: "settings"},
-		XMLNs:             "http://maven.apache.org/SETTINGS/1.0.0",
-		XMLNsXsi:          "http://www.w3.org/2001/XMLSchema-instance",
-		XsiSchemaLocation: "http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd",
-	}
-}
-
-// NewDefaultSettings --
-func NewDefaultSettings(repositories []Repository) Settings {
-	settings := NewSettings()
-
-	var additionalRepos []Repository
-	for _, defaultRepo := range getDefaultMavenRepositories() {
-		if !containsRepo(repositories, defaultRepo.ID) {
-			additionalRepos = append(additionalRepos, defaultRepo)
-		}
-	}
-	if len(additionalRepos) > 0 {
-		repositories = append(additionalRepos, repositories...)
-	}
-
-	settings.Profiles = []Profile{
-		{
-			ID: "maven-settings",
-			Activation: Activation{
-				ActiveByDefault: true,
-			},
-			Repositories:       repositories,
-			PluginRepositories: repositories,
-		},
-	}
-
-	return settings
-}
-
-// CreateSettingsConfigMap --
-func CreateSettingsConfigMap(namespace string, name string, settings Settings) (*corev1.ConfigMap, error) {
-	data, err := util.EncodeXML(settings)
-	if err != nil {
-		return nil, err
-	}
-
-	cm := &corev1.ConfigMap{
-		TypeMeta: metav1.TypeMeta{
-			Kind:       "ConfigMap",
-			APIVersion: "v1",
-		},
-		ObjectMeta: metav1.ObjectMeta{
-			Name:      name + "-maven-settings",
-			Namespace: namespace,
-			Labels: map[string]string{
-				"app": "camel-k",
-			},
-		},
-		Data: map[string]string{
-			"settings.xml": string(data),
-		},
-	}
-
-	return cm, nil
-}
-
-func getDefaultMavenRepositories() (repos []Repository) {
-	for _, repoDesc := range strings.Split(DefaultMavenRepositories, ",") {
-		repos = append(repos, NewRepository(repoDesc))
-	}
-	return
-}
-
-func containsRepo(repositories []Repository, id string) bool {
-	for _, r := range repositories {
-		if r.ID == id {
-			return true
-		}
-	}
-	return false
-}
diff --git a/pkg/util/maven/maven_settings_test.go b/pkg/util/maven/maven_settings_test.go
deleted file mode 100644
index a4a1776..0000000
--- a/pkg/util/maven/maven_settings_test.go
+++ /dev/null
@@ -1,239 +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 maven
-
-import (
-	"testing"
-
-	"github.com/apache/camel-k/pkg/util"
-	"github.com/stretchr/testify/assert"
-)
-
-const expectedSettings = `<?xml version="1.0" encoding="UTF-8"?>
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ` +
-	`xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
-  <localRepository>/tmp/artifacts/m2</localRepository>
-  <profiles>
-    <profile>
-      <id>my-profile</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <repositories>
-        <repository>
-          <id>central</id>
-          <url>https://repo.maven.apache.org/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-            <checksumPolicy>warn</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <updatePolicy>never</updatePolicy>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </repository>
-      </repositories>
-      <pluginRepositories></pluginRepositories>
-    </profile>
-  </profiles>
-</settings>`
-
-const expectedDefaultSettings = `<?xml version="1.0" encoding="UTF-8"?>
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ` +
-	`xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
-  <localRepository></localRepository>
-  <profiles>
-    <profile>
-      <id>maven-settings</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <repositories>
-        <repository>
-          <id>central</id>
-          <url>https://repo.maven.apache.org/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </repository>
-      </repositories>
-      <pluginRepositories>
-        <pluginRepository>
-          <id>central</id>
-          <url>https://repo.maven.apache.org/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </pluginRepository>
-      </pluginRepositories>
-    </profile>
-  </profiles>
-</settings>`
-
-const expectedDefaultSettingsWithExtraRepo = `<?xml version="1.0" encoding="UTF-8"?>
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ` +
-	`xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
-  <localRepository></localRepository>
-  <profiles>
-    <profile>
-      <id>maven-settings</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <repositories>
-        <repository>
-          <id>central</id>
-          <url>https://repo1.maven.org/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </repository>
-        <repository>
-          <id>foo</id>
-          <url>https://foo.bar.org/repo</url>
-          <snapshots>
-            <enabled>false</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </repository>
-      </repositories>
-      <pluginRepositories>
-        <pluginRepository>
-          <id>central</id>
-          <url>https://repo1.maven.org/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </pluginRepository>
-        <pluginRepository>
-          <id>foo</id>
-          <url>https://foo.bar.org/repo</url>
-          <snapshots>
-            <enabled>false</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </pluginRepository>
-      </pluginRepositories>
-    </profile>
-  </profiles>
-</settings>`
-
-func TestSettingsGeneration(t *testing.T) {
-	settings := NewSettings()
-	settings.LocalRepository = "/tmp/artifacts/m2"
-	settings.Profiles = []Profile{
-		{
-			ID: "my-profile",
-			Activation: Activation{
-				ActiveByDefault: true,
-			},
-			Repositories: []Repository{
-				{
-					ID:  "central",
-					URL: "https://repo.maven.apache.org/maven2",
-					Snapshots: RepositoryPolicy{
-						Enabled:        false,
-						ChecksumPolicy: "warn",
-					},
-					Releases: RepositoryPolicy{
-						Enabled:        true,
-						UpdatePolicy:   "never",
-						ChecksumPolicy: "fail",
-					},
-				},
-			},
-		},
-	}
-
-	content, err := util.EncodeXML(settings)
-
-	assert.Nil(t, err)
-	assert.NotNil(t, settings)
-
-	assert.Equal(t, expectedSettings, string(content))
-}
-
-func TestDefaultSettingsGeneration(t *testing.T) {
-	settings := NewDefaultSettings([]Repository{})
-
-	content, err := util.EncodeXML(settings)
-
-	assert.Nil(t, err)
-	assert.NotNil(t, settings)
-
-	assert.Equal(t, expectedDefaultSettings, string(content))
-}
-
-func TestDefaultSettingsGenerationWithAdditionalRepo(t *testing.T) {
-	repositories := []Repository{
-		NewRepository("https://repo1.maven.org/maven2@id=central"),
-		NewRepository("https://foo.bar.org/repo@id=foo"),
-	}
-	settings := NewDefaultSettings(repositories)
-
-	content, err := util.EncodeXML(settings)
-
-	assert.Nil(t, err)
-	assert.NotNil(t, settings)
-
-	assert.Equal(t, expectedDefaultSettingsWithExtraRepo, string(content))
-}
-
-func TestCreateSettingsConfigMap(t *testing.T) {
-	settings := NewDefaultSettings([]Repository{})
-
-	configMap, err := CreateSettingsConfigMap("foo", "bar", settings)
-	assert.Nil(t, err)
-	assert.NotNil(t, configMap)
-
-	content, err := util.EncodeXML(settings)
-
-	assert.Nil(t, err)
-	assert.NotNil(t, settings)
-
-	assert.Equal(t, string(content), configMap.Data["settings.xml"])
-}
diff --git a/pkg/util/maven/maven_types.go b/pkg/util/maven/maven_types.go
deleted file mode 100644
index 44cbf71..0000000
--- a/pkg/util/maven/maven_types.go
+++ /dev/null
@@ -1,237 +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 maven
-
-import (
-	"bytes"
-	"encoding/xml"
-	"fmt"
-	"io"
-	"time"
-)
-
-// Repository --
-type Repository struct {
-	ID        string           `xml:"id"`
-	Name      string           `xml:"name,omitempty"`
-	URL       string           `xml:"url"`
-	Snapshots RepositoryPolicy `xml:"snapshots,omitempty"`
-	Releases  RepositoryPolicy `xml:"releases,omitempty"`
-}
-
-// RepositoryPolicy --
-type RepositoryPolicy struct {
-	Enabled        bool   `xml:"enabled"`
-	UpdatePolicy   string `xml:"updatePolicy,omitempty"`
-	ChecksumPolicy string `xml:"checksumPolicy,omitempty"`
-}
-
-// Build --
-type Build struct {
-	DefaultGoal string   `xml:"defaultGoal,omitempty"`
-	Plugins     []Plugin `xml:"plugins>plugin,omitempty"`
-}
-
-// Plugin --
-type Plugin struct {
-	GroupID      string       `xml:"groupId"`
-	ArtifactID   string       `xml:"artifactId"`
-	Version      string       `xml:"version,omitempty"`
-	Executions   []Execution  `xml:"executions>execution,omitempty"`
-	Dependencies []Dependency `xml:"dependencies>dependency,omitempty"`
-}
-
-// Execution --
-type Execution struct {
-	ID    string   `xml:"id,omitempty"`
-	Phase string   `xml:"phase,omitempty"`
-	Goals []string `xml:"goals>goal,omitempty"`
-}
-
-// Properties --
-type Properties map[string]string
-
-type propertiesEntry struct {
-	XMLName xml.Name
-	Value   string `xml:",chardata"`
-}
-
-// AddAll --
-func (m Properties) AddAll(properties map[string]string) {
-	for k, v := range properties {
-		m[k] = v
-	}
-}
-
-// MarshalXML --
-func (m Properties) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
-	if len(m) == 0 {
-		return nil
-	}
-
-	err := e.EncodeToken(start)
-	if err != nil {
-		return err
-	}
-
-	for k, v := range m {
-		if err := e.Encode(propertiesEntry{XMLName: xml.Name{Local: k}, Value: v}); err != nil {
-			return err
-		}
-	}
-
-	return e.EncodeToken(start.End())
-}
-
-// NewContext --
-func NewContext(buildDir string, project Project) Context {
-	return Context{
-		Path:                buildDir,
-		Project:             project,
-		AdditionalArguments: make([]string, 0),
-		AdditionalEntries:   make(map[string]interface{}),
-	}
-}
-
-// Context --
-type Context struct {
-	Path                string
-	Project             Project
-	SettingsContent     []byte
-	AdditionalArguments []string
-	AdditionalEntries   map[string]interface{}
-	Timeout             time.Duration
-	LocalRepository     string
-	Stdout              io.Writer
-}
-
-// AddEntry --
-func (c *Context) AddEntry(id string, entry interface{}) {
-	if c.AdditionalEntries == nil {
-		c.AdditionalEntries = make(map[string]interface{})
-	}
-
-	c.AdditionalEntries[id] = entry
-}
-
-// AddArgument --
-func (c *Context) AddArgument(argument string) {
-	c.AdditionalArguments = append(c.AdditionalArguments, argument)
-}
-
-// AddArgumentf --
-func (c *Context) AddArgumentf(format string, args ...interface{}) {
-	c.AdditionalArguments = append(c.AdditionalArguments, fmt.Sprintf(format, args...))
-}
-
-// AddArguments --
-func (c *Context) AddArguments(arguments ...string) {
-	c.AdditionalArguments = append(c.AdditionalArguments, arguments...)
-}
-
-// AddSystemProperty --
-func (c *Context) AddSystemProperty(name string, value string) {
-	c.AddArgumentf("-D%s=%s", name, value)
-}
-
-// Settings represent a maven settings
-type Settings struct {
-	XMLName           xml.Name
-	XMLNs             string    `xml:"xmlns,attr"`
-	XMLNsXsi          string    `xml:"xmlns:xsi,attr"`
-	XsiSchemaLocation string    `xml:"xsi:schemaLocation,attr"`
-	LocalRepository   string    `xml:"localRepository"`
-	Profiles          []Profile `xml:"profiles>profile,omitempty"`
-}
-
-// MarshalBytes --
-func (s Settings) MarshalBytes() ([]byte, error) {
-	w := &bytes.Buffer{}
-	w.WriteString(xml.Header)
-
-	e := xml.NewEncoder(w)
-	e.Indent("", "  ")
-
-	err := e.Encode(s)
-	if err != nil {
-		return []byte{}, err
-	}
-
-	return w.Bytes(), nil
-}
-
-// Project represent a maven project
-type Project struct {
-	XMLName              xml.Name
-	XMLNs                string                `xml:"xmlns,attr"`
-	XMLNsXsi             string                `xml:"xmlns:xsi,attr"`
-	XsiSchemaLocation    string                `xml:"xsi:schemaLocation,attr"`
-	ModelVersion         string                `xml:"modelVersion"`
-	GroupID              string                `xml:"groupId"`
-	ArtifactID           string                `xml:"artifactId"`
-	Version              string                `xml:"version"`
-	Properties           Properties            `xml:"properties,omitempty"`
-	DependencyManagement *DependencyManagement `xml:"dependencyManagement"`
-	Dependencies         []Dependency          `xml:"dependencies>dependency,omitempty"`
-	Repositories         []Repository          `xml:"repositories>repository,omitempty"`
-	PluginRepositories   []Repository          `xml:"pluginRepositories>pluginRepository,omitempty"`
-	Build                *Build                `xml:"build,omitempty"`
-}
-
-// Exclusion represent a maven's dependency exlucsion
-type Exclusion struct {
-	GroupID    string `xml:"groupId" yaml:"groupId"`
-	ArtifactID string `xml:"artifactId" yaml:"artifactId"`
-}
-
-// DependencyManagement represent maven's dependency management block
-type DependencyManagement struct {
-	Dependencies []Dependency `xml:"dependencies>dependency,omitempty"`
-}
-
-// Dependency represent a maven's dependency
-type Dependency struct {
-	GroupID    string       `xml:"groupId" yaml:"groupId"`
-	ArtifactID string       `xml:"artifactId" yaml:"artifactId"`
-	Version    string       `xml:"version,omitempty" yaml:"version,omitempty"`
-	Type       string       `xml:"type,omitempty" yaml:"type,omitempty"`
-	Classifier string       `xml:"classifier,omitempty" yaml:"classifier,omitempty"`
-	Scope      string       `xml:"scope,omitempty" yaml:"scope,omitempty"`
-	Exclusions *[]Exclusion `xml:"exclusions>exclusion,omitempty" yaml:"exclusions,omitempty"`
-}
-
-// Profile --
-type Profile struct {
-	ID                 string       `xml:"id"`
-	Activation         Activation   `xml:"activation,omitempty"`
-	Properties         Properties   `xml:"properties,omitempty"`
-	Repositories       []Repository `xml:"repositories>repository,omitempty"`
-	PluginRepositories []Repository `xml:"pluginRepositories>pluginRepository,omitempty"`
-}
-
-// Activation --
-type Activation struct {
-	ActiveByDefault bool                `xml:"activeByDefault"`
-	Property        *PropertyActivation `xml:"property,omitempty"`
-}
-
-// PropertyActivation --
-type PropertyActivation struct {
-	Name  string `xml:"name"`
-	Value string `xml:"value"`
-}
diff --git a/pkg/util/minikube/registry.go b/pkg/util/minikube/registry.go
deleted file mode 100644
index 6ad5faa..0000000
--- a/pkg/util/minikube/registry.go
+++ /dev/null
@@ -1,66 +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 minishift contains utilities for Minishift deployments
-package minikube
-
-import (
-	"context"
-	"strconv"
-
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	k8sclient "sigs.k8s.io/controller-runtime/pkg/client"
-
-	"github.com/apache/camel-k/pkg/client"
-)
-
-const (
-	registryNamespace = "kube-system"
-)
-
-// FindRegistry returns the Minikube addon registry location if any
-func FindRegistry(ctx context.Context, c client.Client) (*string, error) {
-	svcs := corev1.ServiceList{
-		TypeMeta: metav1.TypeMeta{
-			APIVersion: corev1.SchemeGroupVersion.String(),
-			Kind:       "Service",
-		},
-	}
-	err := c.List(ctx, &svcs,
-		k8sclient.InNamespace(registryNamespace),
-		k8sclient.MatchingLabels{
-			"kubernetes.io/minikube-addons": "registry",
-		})
-	if err != nil {
-		return nil, err
-	}
-	if len(svcs.Items) == 0 {
-		return nil, nil
-	}
-	svc := svcs.Items[0]
-	ip := svc.Spec.ClusterIP
-	portStr := ""
-	if len(svc.Spec.Ports) > 0 {
-		port := svc.Spec.Ports[0].Port
-		if port > 0 && port != 80 {
-			portStr = ":" + strconv.FormatInt(int64(port), 10)
-		}
-	}
-	registry := ip + portStr
-	return &registry, nil
-}
diff --git a/pkg/util/monitoring/register.go b/pkg/util/monitoring/register.go
deleted file mode 100644
index f18ba06..0000000
--- a/pkg/util/monitoring/register.go
+++ /dev/null
@@ -1,47 +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 monitoring
-
-import (
-	monitoringv1 "github.com/coreos/prometheus-operator/pkg/apis/monitoring/v1"
-	"github.com/sirupsen/logrus"
-	"k8s.io/apimachinery/pkg/runtime"
-)
-
-type registerFunction func(*runtime.Scheme) error
-
-// AddToScheme adds monitoring types to the scheme
-func AddToScheme(scheme *runtime.Scheme) error {
-	var err error
-
-	err = doAdd(monitoringv1.AddToScheme, scheme, err)
-
-	return err
-}
-
-func doAdd(addToScheme registerFunction, scheme *runtime.Scheme, err error) error {
-	callErr := addToScheme(scheme)
-	if callErr != nil {
-		logrus.Error("Error while registering monitoring types", callErr)
-	}
-
-	if err == nil {
-		return callErr
-	}
-	return err
-}
diff --git a/pkg/util/olm/available.go b/pkg/util/olm/available.go
deleted file mode 100644
index eb4b7da..0000000
--- a/pkg/util/olm/available.go
+++ /dev/null
@@ -1,62 +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 olm
-
-import (
-	"context"
-
-	kubernetesutils "github.com/apache/camel-k/pkg/util/kubernetes"
-	olmv1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1"
-	olmv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1"
-	k8serrors "k8s.io/apimachinery/pkg/api/errors"
-	"k8s.io/apimachinery/pkg/runtime/schema"
-	"k8s.io/client-go/kubernetes"
-)
-
-// IsAPIAvailable returns true if we are connected to a cluster with OLM installed
-//
-// This method should not be called from the operator, as it might require permissions that are not available.
-func IsAPIAvailable(ctx context.Context, c kubernetes.Interface, namespace string) (bool, error) {
-	// check some Knative APIs
-	for _, api := range getOLMGroupVersions() {
-		if installed, err := isAvailable(c, api); err != nil {
-			return false, err
-		} else if installed {
-			return true, nil
-		}
-	}
-
-	return false, nil
-}
-
-func isAvailable(c kubernetes.Interface, api schema.GroupVersion) (bool, error) {
-	_, err := c.Discovery().ServerResourcesForGroupVersion(api.String())
-	if err != nil && (k8serrors.IsNotFound(err) || kubernetesutils.IsUnknownAPIError(err)) {
-		return false, nil
-	} else if err != nil {
-		return false, err
-	}
-	return true, nil
-}
-
-func getOLMGroupVersions() []schema.GroupVersion {
-	return []schema.GroupVersion{
-		olmv1alpha1.SchemeGroupVersion,
-		olmv1.SchemeGroupVersion,
-	}
-}
diff --git a/pkg/util/olm/operator.go b/pkg/util/olm/operator.go
deleted file mode 100644
index e6ce7e7..0000000
--- a/pkg/util/olm/operator.go
+++ /dev/null
@@ -1,292 +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 olm
-
-import (
-	"context"
-	"fmt"
-	"strings"
-
-	"github.com/apache/camel-k/pkg/client"
-	"github.com/apache/camel-k/pkg/util/kubernetes"
-	olmv1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1"
-	olmv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1"
-	"github.com/pkg/errors"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "sigs.k8s.io/controller-runtime/pkg/client"
-)
-
-// The following properties can be overridden at build time via ldflags
-
-// DefaultOperatorName is the Camel K operator name in OLM
-var DefaultOperatorName = "camel-k-operator"
-
-// DefaultPackage is the Camel K package in OLM
-var DefaultPackage = "camel-k"
-
-// DefaultChannel is the distribution channel in Operator Hub
-var DefaultChannel = "alpha"
-
-// DefaultSource is the name of the operator source where the operator is published
-var DefaultSource = "community-operators"
-
-// DefaultSourceNamespace is the namespace of the operator source
-var DefaultSourceNamespace = "openshift-marketplace"
-
-// DefaultStartingCSV contains the specific version to install
-var DefaultStartingCSV = ""
-
-// DefaultGlobalNamespace indicates a namespace containing an OperatorGroup that enables the operator to watch all namespaces.
-// It will be used in global installation mode.
-var DefaultGlobalNamespace = "openshift-operators"
-
-// Options contains information about an operator in OLM
-type Options struct {
-	OperatorName    string
-	Package         string
-	Channel         string
-	Source          string
-	SourceNamespace string
-	StartingCSV     string
-	GlobalNamespace string
-}
-
-// IsOperatorInstalled tells if a OLM CSV or a Subscription is already installed in the namespace
-func IsOperatorInstalled(ctx context.Context, client client.Client, namespace string, global bool, options Options) (bool, error) {
-	options = fillDefaults(options)
-	// CSV is present in current namespace for both local and global installation modes
-	if csv, err := findCSV(ctx, client, namespace, options); err != nil {
-		return false, err
-	} else if csv != nil {
-		return true, nil
-	}
-	// A subscription may indicate an in-progress installation
-	if sub, err := findSubscription(ctx, client, namespace, global, options); err != nil {
-		return false, err
-	} else if sub != nil {
-		return true, nil
-	}
-
-	return false, nil
-}
-
-// HasPermissionToInstall checks if the current user/serviceaccount has the right permissions to install camel k via OLM
-func HasPermissionToInstall(ctx context.Context, client client.Client, namespace string, global bool, options Options) (bool, error) {
-	if ok, err := kubernetes.CheckPermission(client, olmv1alpha1.GroupName, "clusterserviceversions", namespace, options.Package, "list"); err != nil {
-		return false, err
-	} else if !ok {
-		return false, nil
-	}
-
-	targetNamespace := namespace
-	if global {
-		targetNamespace = options.GlobalNamespace
-	}
-
-	if ok, err := kubernetes.CheckPermission(client, olmv1alpha1.GroupName, "subscriptions", targetNamespace, options.Package, "create"); err != nil {
-		return false, err
-	} else if !ok {
-		return false, nil
-	}
-
-	if installed, err := IsOperatorInstalled(ctx, client, namespace, global, options); err != nil {
-		return false, err
-	} else if installed {
-		return true, nil
-	}
-
-	if !global {
-		if ok, err := kubernetes.CheckPermission(client, olmv1.GroupName, "operatorgroups", namespace, options.Package, "list"); err != nil {
-			return false, err
-		} else if !ok {
-			return false, nil
-		}
-
-		group, err := findOperatorGroup(ctx, client, namespace, options)
-		if err != nil {
-			return false, err
-		}
-		if group == nil {
-			if ok, err := kubernetes.CheckPermission(client, olmv1.GroupName, "operatorgroups", namespace, options.Package, "create"); err != nil {
-				return false, err
-			} else if !ok {
-				return false, nil
-			}
-		}
-
-	}
-	return true, nil
-}
-
-// Install creates a subscription for the OLM package
-func Install(ctx context.Context, client client.Client, namespace string, global bool, options Options, collection *kubernetes.Collection) (bool, error) {
-	options = fillDefaults(options)
-	if installed, err := IsOperatorInstalled(ctx, client, namespace, global, options); err != nil {
-		return false, err
-	} else if installed {
-		// Already installed
-		return false, nil
-	}
-
-	targetNamespace := namespace
-	if global {
-		targetNamespace = options.GlobalNamespace
-	}
-
-	sub := olmv1alpha1.Subscription{
-		ObjectMeta: v1.ObjectMeta{
-			Name:      options.Package,
-			Namespace: targetNamespace,
-		},
-		Spec: &olmv1alpha1.SubscriptionSpec{
-			CatalogSource:          options.Source,
-			CatalogSourceNamespace: options.SourceNamespace,
-			Package:                options.Package,
-			Channel:                options.Channel,
-			StartingCSV:            options.StartingCSV,
-			InstallPlanApproval:    olmv1alpha1.ApprovalAutomatic,
-		},
-	}
-	if collection != nil {
-		collection.Add(&sub)
-	} else if err := client.Create(ctx, &sub); err != nil {
-		return false, err
-	}
-
-	if !global {
-		group, err := findOperatorGroup(ctx, client, namespace, options)
-		if err != nil {
-			return false, err
-		}
-		if group == nil {
-			group = &olmv1.OperatorGroup{
-				ObjectMeta: v1.ObjectMeta{
-					Namespace:    namespace,
-					GenerateName: fmt.Sprintf("%s-", namespace),
-				},
-				Spec: olmv1.OperatorGroupSpec{
-					TargetNamespaces: []string{namespace},
-				},
-			}
-			if collection != nil {
-				collection.Add(group)
-			} else if err := client.Create(ctx, group); err != nil {
-				return false, errors.Wrap(err, fmt.Sprintf("namespace %s has no operator group defined and "+
-					"current user is not able to create it. "+
-					"Make sure you have the right roles to install operators from OLM", namespace))
-			}
-		}
-	}
-	return true, nil
-}
-
-// Uninstall removes CSV and subscription from the namespace
-func Uninstall(ctx context.Context, client client.Client, namespace string, global bool, options Options) error {
-	sub, err := findSubscription(ctx, client, namespace, global, options)
-	if err != nil {
-		return err
-	}
-	if sub != nil {
-		if err := client.Delete(ctx, sub); err != nil {
-			return err
-		}
-	}
-
-	csv, err := findCSV(ctx, client, namespace, options)
-	if err != nil {
-		return err
-	}
-	if csv != nil {
-		if err := client.Delete(ctx, csv); err != nil {
-			return err
-		}
-	}
-	return nil
-}
-
-func findSubscription(ctx context.Context, client client.Client, namespace string, global bool, options Options) (*olmv1alpha1.Subscription, error) {
-	subNamespace := namespace
-	if global {
-		// In case of global installation, global subscription must be removed
-		subNamespace = options.GlobalNamespace
-	}
-	subscriptionList := olmv1alpha1.SubscriptionList{}
-	if err := client.List(ctx, &subscriptionList, runtime.InNamespace(subNamespace)); err != nil {
-		return nil, err
-	}
-
-	for _, item := range subscriptionList.Items {
-		if item.Spec.Package == options.Package {
-			return &item, nil
-		}
-	}
-	return nil, nil
-}
-
-func findCSV(ctx context.Context, client client.Client, namespace string, options Options) (*olmv1alpha1.ClusterServiceVersion, error) {
-	csvList := olmv1alpha1.ClusterServiceVersionList{}
-	if err := client.List(ctx, &csvList, runtime.InNamespace(namespace)); err != nil {
-		return nil, err
-	}
-
-	for _, item := range csvList.Items {
-		if strings.HasPrefix(item.Name, options.OperatorName) {
-			return &item, nil
-		}
-	}
-	return nil, nil
-}
-
-// nolint:unparam
-func findOperatorGroup(ctx context.Context, client client.Client, namespace string, options Options) (*olmv1.OperatorGroup, error) {
-	opGroupList := olmv1.OperatorGroupList{}
-	if err := client.List(ctx, &opGroupList, runtime.InNamespace(namespace)); err != nil {
-		return nil, err
-	}
-
-	if len(opGroupList.Items) > 0 {
-		return &opGroupList.Items[0], nil
-	}
-
-	return nil, nil
-}
-
-func fillDefaults(o Options) Options {
-	if o.OperatorName == "" {
-		o.OperatorName = DefaultOperatorName
-	}
-	if o.Package == "" {
-		o.Package = DefaultPackage
-	}
-	if o.Channel == "" {
-		o.Channel = DefaultChannel
-	}
-	if o.Source == "" {
-		o.Source = DefaultSource
-	}
-	if o.SourceNamespace == "" {
-		o.SourceNamespace = DefaultSourceNamespace
-	}
-	if o.StartingCSV == "" {
-		o.StartingCSV = DefaultStartingCSV
-	}
-	if o.GlobalNamespace == "" {
-		o.GlobalNamespace = DefaultGlobalNamespace
-	}
-	return o
-}
diff --git a/pkg/util/openshift/openshift.go b/pkg/util/openshift/openshift.go
deleted file mode 100644
index 7b27ee0..0000000
--- a/pkg/util/openshift/openshift.go
+++ /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.
-*/
-
-package openshift
-
-import (
-	"k8s.io/apimachinery/pkg/api/errors"
-	"k8s.io/client-go/kubernetes"
-)
-
-// IsOpenShift returns true if we are connected to a OpenShift cluster
-func IsOpenShift(client kubernetes.Interface) (bool, error) {
-	_, err := client.Discovery().ServerResourcesForGroupVersion("image.openshift.io/v1")
-	if err != nil && errors.IsNotFound(err) {
-		return false, nil
-	} else if err != nil {
-		return false, err
-	}
-	return true, nil
-}
diff --git a/pkg/util/openshift/register.go b/pkg/util/openshift/register.go
deleted file mode 100644
index 1687b1f..0000000
--- a/pkg/util/openshift/register.go
+++ /dev/null
@@ -1,66 +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 openshift
-
-import (
-	"k8s.io/apimachinery/pkg/runtime"
-
-	apps "github.com/openshift/api/apps/v1"
-	authorization "github.com/openshift/api/authorization/v1"
-	build "github.com/openshift/api/build/v1"
-	console "github.com/openshift/api/console/v1"
-	image "github.com/openshift/api/image/v1"
-	project "github.com/openshift/api/project/v1"
-	route "github.com/openshift/api/route/v1"
-	template "github.com/openshift/api/template/v1"
-
-	"github.com/apache/camel-k/pkg/util/log"
-)
-
-type registerFunction func(*runtime.Scheme) error
-
-// AddToScheme adds OpenShift types to the scheme
-func AddToScheme(scheme *runtime.Scheme) error {
-	var err error
-
-	// Standardized groups
-	err = doAdd(apps.Install, scheme, err)
-	err = doAdd(template.Install, scheme, err)
-	err = doAdd(image.Install, scheme, err)
-	err = doAdd(route.Install, scheme, err)
-	err = doAdd(build.Install, scheme, err)
-	err = doAdd(authorization.Install, scheme, err)
-	err = doAdd(project.Install, scheme, err)
-
-	// OpenShift console API
-	err = doAdd(console.Install, scheme, err)
-
-	return err
-}
-
-func doAdd(addToScheme registerFunction, scheme *runtime.Scheme, err error) error {
-	callErr := addToScheme(scheme)
-	if callErr != nil {
-		log.Error(callErr, "Error while registering OpenShift types")
-	}
-
-	if err == nil {
-		return callErr
-	}
-	return err
-}
diff --git a/pkg/util/patch/patch.go b/pkg/util/patch/patch.go
deleted file mode 100644
index e0ae632..0000000
--- a/pkg/util/patch/patch.go
+++ /dev/null
@@ -1,91 +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 patch
-
-import (
-	"reflect"
-
-	jsonpatch "github.com/evanphx/json-patch"
-
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/util/json"
-)
-
-func PositiveMergePatch(source runtime.Object, target runtime.Object) ([]byte, error) {
-	sourceJSON, err := json.Marshal(source)
-	if err != nil {
-		return nil, err
-	}
-
-	targetJSON, err := json.Marshal(target)
-	if err != nil {
-		return nil, err
-	}
-
-	mergePatch, err := jsonpatch.CreateMergePatch(sourceJSON, targetJSON)
-	if err != nil {
-		return nil, err
-	}
-
-	var positivePatch map[string]interface{}
-	err = json.Unmarshal(mergePatch, &positivePatch)
-	if err != nil {
-		return nil, err
-	}
-
-	// The following is a work-around to remove null fields from the JSON merge patch,
-	// so that values defaulted by controllers server-side are not deleted.
-	// It's generally acceptable as these values are orthogonal to the values managed
-	// by the traits.
-	removeNilValues(reflect.ValueOf(positivePatch), reflect.Value{})
-
-	// Return an empty patch if no keys remain
-	if len(positivePatch) == 0 {
-		return make([]byte, 0), nil
-	}
-
-	return json.Marshal(positivePatch)
-}
-
-func removeNilValues(v reflect.Value, parent reflect.Value) {
-	for v.Kind() == reflect.Ptr || v.Kind() == reflect.Interface {
-		v = v.Elem()
-	}
-	switch v.Kind() {
-	case reflect.Array, reflect.Slice:
-		for i := 0; i < v.Len(); i++ {
-			removeNilValues(v.Index(i), v)
-		}
-	case reflect.Map:
-		for _, k := range v.MapKeys() {
-			switch c := v.MapIndex(k); {
-			case !c.IsValid():
-				// Skip keys previously deleted
-				continue
-			case c.IsNil(), c.Elem().Kind() == reflect.Map && len(c.Elem().MapKeys()) == 0:
-				v.SetMapIndex(k, reflect.Value{})
-			default:
-				removeNilValues(c, v)
-			}
-		}
-		// Back process the parent map in case it has been emptied so that it's deleted as well
-		if len(v.MapKeys()) == 0 && parent.Kind() == reflect.Map {
-			removeNilValues(parent, reflect.Value{})
-		}
-	}
-}
diff --git a/pkg/util/registry/registry.go b/pkg/util/registry/registry.go
deleted file mode 100644
index a178d73..0000000
--- a/pkg/util/registry/registry.go
+++ /dev/null
@@ -1,97 +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 registry
-
-import (
-	"encoding/base64"
-	"encoding/json"
-	"errors"
-	"fmt"
-)
-
-var (
-	knownServersByRegistry = map[string]string{
-		"docker.io": "https://index.docker.io/v1/",
-	}
-)
-
-// Auth contains basic information for authenticating against a container registry
-type Auth struct {
-	Server   string
-	Username string
-	Password string
-
-	// additional information
-	Registry string
-}
-
-type dockerConfigList struct {
-	Auths map[string]dockerConfig `json:"auths,omitempty"`
-}
-
-type dockerConfig struct {
-	Auth string `json:"auth,omitempty"`
-}
-
-// IsSet returns if information has been set on the object
-func (a Auth) IsSet() bool {
-	return a.Server != "" ||
-		a.Username != "" ||
-		a.Password != ""
-}
-
-// validate checks if all fields are populated correctly
-func (a Auth) validate() error {
-	if a.getActualServer() == "" || a.Username == "" {
-		return errors.New("not enough information to generate a registry authentication file")
-	}
-	return nil
-}
-
-// GenerateDockerConfig generates a Docker compatible config.json file
-func (a Auth) GenerateDockerConfig() ([]byte, error) {
-	if err := a.validate(); err != nil {
-		return nil, err
-	}
-	content := a.generateDockerConfigObject()
-	return json.Marshal(content)
-}
-
-func (a Auth) generateDockerConfigObject() dockerConfigList {
-	return dockerConfigList{
-		map[string]dockerConfig{
-			a.getActualServer(): {
-				a.encodedCredentials(),
-			},
-		},
-	}
-}
-
-func (a Auth) getActualServer() string {
-	if a.Server != "" {
-		return a.Server
-	}
-	if p, ok := knownServersByRegistry[a.Registry]; ok {
-		return p
-	}
-	return a.Registry
-}
-
-func (a Auth) encodedCredentials() string {
-	return base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", a.Username, a.Password)))
-}
diff --git a/pkg/util/registry/registry_test.go b/pkg/util/registry/registry_test.go
deleted file mode 100644
index 166d87c..0000000
--- a/pkg/util/registry/registry_test.go
+++ /dev/null
@@ -1,68 +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 registry
-
-import (
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestAuth_GenerateDockerConfig(t *testing.T) {
-	a := Auth{
-		Username: "nic",
-		Registry: "docker.io",
-	}
-	conf, err := a.GenerateDockerConfig()
-	assert.Nil(t, err)
-	assert.Equal(t, `{"auths":{"https://index.docker.io/v1/":{"auth":"bmljOg=="}}}`, string(conf))
-
-	a = Auth{
-		Username: "nic",
-		Password: "pass",
-		Registry: "quay.io",
-	}
-	conf, err = a.GenerateDockerConfig()
-	assert.Nil(t, err)
-	assert.Equal(t, `{"auths":{"quay.io":{"auth":"bmljOnBhc3M="}}}`, string(conf))
-
-	a = Auth{
-		Username: "nic",
-		Password: "pass",
-		Server:   "quay.io",
-		Registry: "docker.io",
-	}
-	conf, err = a.GenerateDockerConfig()
-	assert.Nil(t, err)
-	assert.Equal(t, `{"auths":{"quay.io":{"auth":"bmljOnBhc3M="}}}`, string(conf))
-}
-
-func TestAuth_Validate(t *testing.T) {
-	assert.NotNil(t, Auth{
-		Username: "nic",
-	}.validate())
-
-	assert.NotNil(t, Auth{
-		Server: "quay.io",
-	}.validate())
-
-	assert.Nil(t, Auth{
-		Username: "nic",
-		Server:   "quay.io",
-	}.validate())
-}
diff --git a/pkg/util/source/inspector.go b/pkg/util/source/inspector.go
deleted file mode 100644
index 25347d3..0000000
--- a/pkg/util/source/inspector.go
+++ /dev/null
@@ -1,320 +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 source
-
-import (
-	"fmt"
-	"regexp"
-	"strings"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util"
-	"github.com/apache/camel-k/pkg/util/camel"
-)
-
-type catalog2deps func(*camel.RuntimeCatalog) []string
-
-var (
-	singleQuotedFrom        = regexp.MustCompile(`from\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
-	doubleQuotedFrom        = regexp.MustCompile(`from\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
-	singleQuotedTo          = regexp.MustCompile(`\.to\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
-	singleQuotedToD         = regexp.MustCompile(`\.toD\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
-	singleQuotedToF         = regexp.MustCompile(`\.toF\s*\(\s*'([a-zA-Z0-9-]+:[^']+)'`)
-	doubleQuotedTo          = regexp.MustCompile(`\.to\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
-	doubleQuotedToD         = regexp.MustCompile(`\.toD\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
-	doubleQuotedToF         = regexp.MustCompile(`\.toF\s*\(\s*"([a-zA-Z0-9-]+:[^"]+)"`)
-	languageRegexp          = regexp.MustCompile(`language\s*\(\s*["|']([a-zA-Z0-9-]+[^"|']+)["|']\s*,.*\)`)
-	camelTypeRegexp         = regexp.MustCompile(`.*(org.apache.camel.*Component|DataFormat|Language)`)
-	jsonLibraryRegexp       = regexp.MustCompile(`.*JsonLibrary\.Jackson.*`)
-	jsonLanguageRegexp      = regexp.MustCompile(`.*\.json\(\).*`)
-	circuitBreakerRegexp    = regexp.MustCompile(`.*\.circuitBreaker\(\).*`)
-	restConfigurationRegexp = regexp.MustCompile(`.*restConfiguration\(\).*`)
-	restRegexp              = regexp.MustCompile(`.*rest\s*\([^)]*\).*`)
-	restClosureRegexp       = regexp.MustCompile(`.*rest\s*{\s*`)
-	groovyLanguageRegexp    = regexp.MustCompile(`.*\.groovy\s*\(.*\).*`)
-	jsonPathLanguageRegexp  = regexp.MustCompile(`.*\.?(jsonpath|jsonpathWriteAsString)\s*\(.*\).*`)
-	ognlRegexp              = regexp.MustCompile(`.*\.ognl\s*\(.*\).*`)
-	mvelRegexp              = regexp.MustCompile(`.*\.mvel\s*\(.*\).*`)
-	xqueryRegexp            = regexp.MustCompile(`.*\.xquery\s*\(.*\).*`)
-	xpathRegexp             = regexp.MustCompile(`.*\.?xpath\s*\(.*\).*`)
-	xtokenizeRegexp         = regexp.MustCompile(`.*\.xtokenize\s*\(.*\).*`)
-
-	sourceDependencies = map[*regexp.Regexp]catalog2deps{
-		jsonLibraryRegexp: func(_ *camel.RuntimeCatalog) []string {
-			return []string{"camel:jackson"}
-		},
-		jsonLanguageRegexp: func(_ *camel.RuntimeCatalog) []string {
-			return []string{"camel:jackson"}
-		},
-		circuitBreakerRegexp: func(_ *camel.RuntimeCatalog) []string {
-			return []string{"camel:hystrix"}
-		},
-		restConfigurationRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			deps := make([]string, 0)
-			if c, ok := catalog.CamelCatalogSpec.Runtime.Capabilities["rest"]; ok {
-				for _, d := range c.Dependencies {
-					deps = append(deps, fmt.Sprintf("mvn:%s/%s", d.GroupID, d.ArtifactID))
-				}
-			}
-			return deps
-		},
-		restRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			deps := make([]string, 0)
-			if c, ok := catalog.CamelCatalogSpec.Runtime.Capabilities["rest"]; ok {
-				for _, d := range c.Dependencies {
-					deps = append(deps, fmt.Sprintf("mvn:%s/%s", d.GroupID, d.ArtifactID))
-				}
-			}
-			return deps
-		},
-		restClosureRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			deps := make([]string, 0)
-			if c, ok := catalog.CamelCatalogSpec.Runtime.Capabilities["rest"]; ok {
-				for _, d := range c.Dependencies {
-					deps = append(deps, fmt.Sprintf("mvn:%s/%s", d.GroupID, d.ArtifactID))
-				}
-			}
-			return deps
-		},
-		groovyLanguageRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			if dependency, ok := catalog.GetLanguageDependency("groovy"); ok {
-				return []string{dependency}
-			}
-
-			return []string{}
-		},
-		jsonPathLanguageRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			if dependency, ok := catalog.GetLanguageDependency("jsonpath"); ok {
-				return []string{dependency}
-			}
-
-			return []string{}
-		},
-		ognlRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			if dependency, ok := catalog.GetLanguageDependency("ognl"); ok {
-				return []string{dependency}
-			}
-
-			return []string{}
-		},
-		mvelRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			if dependency, ok := catalog.GetLanguageDependency("mvel"); ok {
-				return []string{dependency}
-			}
-
-			return []string{}
-		},
-		xqueryRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			if dependency, ok := catalog.GetLanguageDependency("xquery"); ok {
-				return []string{dependency}
-			}
-
-			return []string{}
-		},
-		xpathRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			if dependency, ok := catalog.GetLanguageDependency("xpath"); ok {
-				return []string{dependency}
-			}
-
-			return []string{}
-		},
-		xtokenizeRegexp: func(catalog *camel.RuntimeCatalog) []string {
-			if dependency, ok := catalog.GetLanguageDependency("xtokenize"); ok {
-				return []string{dependency}
-			}
-
-			return []string{}
-		},
-	}
-)
-
-// Inspector --
-type Inspector interface {
-	Extract(v1.SourceSpec, *Metadata) error
-}
-
-// InspectorForLanguage --
-func InspectorForLanguage(catalog *camel.RuntimeCatalog, language v1.Language) Inspector {
-	switch language {
-	case v1.LanguageJavaSource:
-		return &JavaSourceInspector{
-			baseInspector: baseInspector{
-				catalog: catalog,
-			},
-		}
-	case v1.LanguageXML:
-		return &XMLInspector{
-			baseInspector: baseInspector{
-				catalog: catalog,
-			},
-		}
-	case v1.LanguageGroovy:
-		return &GroovyInspector{
-			baseInspector: baseInspector{
-				catalog: catalog,
-			},
-		}
-	case v1.LanguageJavaScript:
-		return &JavaScriptInspector{
-			baseInspector: baseInspector{
-				catalog: catalog,
-			},
-		}
-	case v1.LanguageKotlin:
-		return &KotlinInspector{
-			baseInspector: baseInspector{
-				catalog: catalog,
-			},
-		}
-	case v1.LanguageYaml:
-		return &YAMLInspector{
-			baseInspector: baseInspector{
-				catalog: catalog,
-			},
-		}
-	}
-	return &baseInspector{}
-}
-
-type baseInspector struct {
-	catalog *camel.RuntimeCatalog
-}
-
-func (i baseInspector) Extract(v1.SourceSpec, *Metadata) error {
-	return nil
-}
-
-// discoverDependencies returns a list of dependencies required by the given source code
-func (i *baseInspector) discoverCapabilities(_ v1.SourceSpec, meta *Metadata) {
-	uris := util.StringSliceJoin(meta.FromURIs, meta.ToURIs)
-
-	for _, uri := range uris {
-		if i.getURIPrefix(uri) == "platform-http" {
-			meta.RequiredCapabilities.Add(v1.CapabilityPlatformHTTP)
-		}
-	}
-}
-
-// discoverDependencies returns a list of dependencies required by the given source code
-func (i *baseInspector) discoverDependencies(source v1.SourceSpec, meta *Metadata) {
-	uris := util.StringSliceJoin(meta.FromURIs, meta.ToURIs)
-
-	for _, uri := range uris {
-		candidateComp := i.decodeComponent(uri)
-		if candidateComp != "" {
-			i.addDependency(candidateComp, meta)
-		}
-	}
-
-	for pattern, supplier := range sourceDependencies {
-		if !pattern.MatchString(source.Content) {
-			continue
-		}
-
-		for _, dep := range supplier(i.catalog) {
-			i.addDependency(dep, meta)
-		}
-	}
-
-	for _, match := range languageRegexp.FindAllStringSubmatch(source.Content, -1) {
-		if len(match) > 1 {
-			if dependency, ok := i.catalog.GetLanguageDependency(match[1]); ok {
-				i.addDependency(dependency, meta)
-			}
-		}
-	}
-
-	for _, match := range camelTypeRegexp.FindAllStringSubmatch(source.Content, -1) {
-		if len(match) > 1 {
-			if dependency, ok := i.catalog.GetJavaTypeDependency(match[1]); ok {
-				i.addDependency(dependency, meta)
-			}
-		}
-	}
-}
-
-func (i *baseInspector) addDependency(dependency string, meta *Metadata) {
-	if i.catalog.Runtime.Provider == v1.RuntimeProviderQuarkus {
-		if strings.HasPrefix(dependency, "camel:") {
-			dependency = "camel-quarkus:" + strings.TrimPrefix(dependency, "camel:")
-		}
-	}
-	meta.Dependencies.Add(dependency)
-}
-
-func (i *baseInspector) decodeComponent(uri string) string {
-	uriSplit := strings.SplitN(uri, ":", 2)
-	if len(uriSplit) < 2 {
-		return ""
-	}
-	uriStart := uriSplit[0]
-	if component := i.catalog.GetArtifactByScheme(uriStart); component != nil {
-		return component.GetDependencyID()
-	}
-	return ""
-}
-
-// hasOnlyPassiveEndpoints returns true if the source has no endpoint that needs to remain always active
-func (i *baseInspector) hasOnlyPassiveEndpoints(fromURIs []string) bool {
-	passivePlusHTTP := make(map[string]bool)
-	i.catalog.VisitSchemes(func(id string, scheme v1.CamelScheme) bool {
-		if scheme.HTTP || scheme.Passive {
-			passivePlusHTTP[id] = true
-		}
-
-		return true
-	})
-
-	return i.containsOnlyURIsIn(fromURIs, passivePlusHTTP)
-}
-
-func (i *baseInspector) containsOnlyURIsIn(fromURI []string, allowed map[string]bool) bool {
-	for _, uri := range fromURI {
-		prefix := i.getURIPrefix(uri)
-		if enabled, ok := allowed[prefix]; !ok || !enabled {
-			return false
-		}
-	}
-	return true
-}
-
-func (i *baseInspector) getURIPrefix(uri string) string {
-	parts := strings.SplitN(uri, ":", 2)
-	if len(parts) > 0 {
-		return parts[0]
-	}
-	return ""
-}
-
-func (i *baseInspector) containsHTTPURIs(fromURI []string) bool {
-	for _, uri := range fromURI {
-		prefix := i.getURIPrefix(uri)
-		scheme, ok := i.catalog.GetScheme(prefix)
-
-		if !ok {
-			// scheme does not exists
-			continue
-		}
-
-		if scheme.HTTP {
-			return true
-		}
-	}
-
-	return false
-}
diff --git a/pkg/util/source/inspector_groovy.go b/pkg/util/source/inspector_groovy.go
deleted file mode 100644
index b6db6e9..0000000
--- a/pkg/util/source/inspector_groovy.go
+++ /dev/null
@@ -1,62 +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 source
-
-import (
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util"
-)
-
-// GroovyInspector --
-type GroovyInspector struct {
-	baseInspector
-}
-
-// Extract --
-func (i GroovyInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
-	from := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		singleQuotedFrom,
-		doubleQuotedFrom,
-	)
-	to := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		singleQuotedTo,
-		doubleQuotedTo,
-		singleQuotedToD,
-		doubleQuotedToD,
-		singleQuotedToF,
-		doubleQuotedToF,
-	)
-
-	meta.FromURIs = append(meta.FromURIs, from...)
-	meta.ToURIs = append(meta.ToURIs, to...)
-
-	i.discoverCapabilities(source, meta)
-	i.discoverDependencies(source, meta)
-
-	hasRest := restRegexp.MatchString(source.Content) || restClosureRegexp.MatchString(source.Content)
-	if hasRest {
-		meta.RequiredCapabilities.Add(v1.CapabilityRest)
-	}
-
-	meta.ExposesHTTPServices = hasRest || i.containsHTTPURIs(meta.FromURIs)
-	meta.PassiveEndpoints = i.hasOnlyPassiveEndpoints(meta.FromURIs)
-
-	return nil
-}
diff --git a/pkg/util/source/inspector_java_script.go b/pkg/util/source/inspector_java_script.go
deleted file mode 100644
index 00dba9a..0000000
--- a/pkg/util/source/inspector_java_script.go
+++ /dev/null
@@ -1,62 +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 source
-
-import (
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util"
-)
-
-// JavaScriptInspector --
-type JavaScriptInspector struct {
-	baseInspector
-}
-
-// Extract --
-func (i JavaScriptInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
-	from := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		singleQuotedFrom,
-		doubleQuotedFrom,
-	)
-	to := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		singleQuotedTo,
-		doubleQuotedTo,
-		singleQuotedToD,
-		doubleQuotedToD,
-		singleQuotedToF,
-		doubleQuotedToF,
-	)
-
-	meta.FromURIs = append(meta.FromURIs, from...)
-	meta.ToURIs = append(meta.ToURIs, to...)
-
-	i.discoverCapabilities(source, meta)
-	i.discoverDependencies(source, meta)
-
-	hasRest := restRegexp.MatchString(source.Content)
-	if hasRest {
-		meta.RequiredCapabilities.Add(v1.CapabilityRest)
-	}
-
-	meta.ExposesHTTPServices = hasRest || i.containsHTTPURIs(meta.FromURIs)
-	meta.PassiveEndpoints = i.hasOnlyPassiveEndpoints(meta.FromURIs)
-
-	return nil
-}
diff --git a/pkg/util/source/inspector_java_source.go b/pkg/util/source/inspector_java_source.go
deleted file mode 100644
index 6e0386f..0000000
--- a/pkg/util/source/inspector_java_source.go
+++ /dev/null
@@ -1,58 +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 source
-
-import (
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util"
-)
-
-// JavaSourceInspector --
-type JavaSourceInspector struct {
-	baseInspector
-}
-
-// Extract --
-func (i JavaSourceInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
-	from := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		doubleQuotedFrom,
-	)
-	to := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		doubleQuotedTo,
-		doubleQuotedToD,
-		doubleQuotedToF,
-	)
-
-	meta.FromURIs = append(meta.FromURIs, from...)
-	meta.ToURIs = append(meta.ToURIs, to...)
-
-	i.discoverCapabilities(source, meta)
-	i.discoverDependencies(source, meta)
-
-	hasRest := restRegexp.MatchString(source.Content)
-	if hasRest {
-		meta.RequiredCapabilities.Add(v1.CapabilityRest)
-	}
-
-	meta.ExposesHTTPServices = hasRest || i.containsHTTPURIs(meta.FromURIs)
-	meta.PassiveEndpoints = i.hasOnlyPassiveEndpoints(meta.FromURIs)
-
-	return nil
-}
diff --git a/pkg/util/source/inspector_kotlin.go b/pkg/util/source/inspector_kotlin.go
deleted file mode 100644
index 7dab24a..0000000
--- a/pkg/util/source/inspector_kotlin.go
+++ /dev/null
@@ -1,58 +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 source
-
-import (
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util"
-)
-
-// KotlinInspector --
-type KotlinInspector struct {
-	baseInspector
-}
-
-// Extract --
-func (i KotlinInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
-	from := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		doubleQuotedFrom,
-	)
-	to := util.FindAllDistinctStringSubmatch(
-		source.Content,
-		doubleQuotedTo,
-		doubleQuotedToD,
-		doubleQuotedToF,
-	)
-
-	meta.FromURIs = append(meta.FromURIs, from...)
-	meta.ToURIs = append(meta.ToURIs, to...)
-
-	i.discoverCapabilities(source, meta)
-	i.discoverDependencies(source, meta)
-
-	hasRest := restRegexp.MatchString(source.Content) || restClosureRegexp.MatchString(source.Content)
-	if hasRest {
-		meta.RequiredCapabilities.Add(v1.CapabilityRest)
-	}
-
-	meta.ExposesHTTPServices = hasRest || i.containsHTTPURIs(meta.FromURIs)
-	meta.PassiveEndpoints = i.hasOnlyPassiveEndpoints(meta.FromURIs)
-
-	return nil
-}
diff --git a/pkg/util/source/inspector_xml.go b/pkg/util/source/inspector_xml.go
deleted file mode 100644
index 4d4f39e..0000000
--- a/pkg/util/source/inspector_xml.go
+++ /dev/null
@@ -1,86 +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 source
-
-import (
-	"encoding/xml"
-	"strings"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-)
-
-// XMLInspector --
-type XMLInspector struct {
-	baseInspector
-}
-
-// Extract --
-func (i XMLInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
-	content := strings.NewReader(source.Content)
-	decoder := xml.NewDecoder(content)
-
-	for {
-		// Read tokens from the XML document in a stream.
-		t, _ := decoder.Token()
-		if t == nil {
-			break
-		}
-
-		if se, ok := t.(xml.StartElement); ok {
-			switch se.Name.Local {
-			case "rest", "restConfiguration":
-				meta.ExposesHTTPServices = true
-				meta.RequiredCapabilities.Add(v1.CapabilityRest)
-			case "circuitBreaker":
-				i.addDependency("camel:hystrix", meta)
-			case "language":
-				for _, a := range se.Attr {
-					if a.Name.Local == "language" {
-						if dependency, ok := i.catalog.GetLanguageDependency(a.Value); ok {
-							i.addDependency(dependency, meta)
-						}
-					}
-				}
-			case "from", "fromF":
-				for _, a := range se.Attr {
-					if a.Name.Local == "uri" {
-						meta.FromURIs = append(meta.FromURIs, a.Value)
-					}
-				}
-			case "to", "toD", "toF":
-				for _, a := range se.Attr {
-					if a.Name.Local == "uri" {
-						meta.ToURIs = append(meta.ToURIs, a.Value)
-					}
-				}
-			}
-
-			if dependency, ok := i.catalog.GetLanguageDependency(se.Name.Local); ok {
-				i.addDependency(dependency, meta)
-			}
-		}
-	}
-
-	i.discoverCapabilities(source, meta)
-	i.discoverDependencies(source, meta)
-
-	meta.ExposesHTTPServices = meta.ExposesHTTPServices || i.containsHTTPURIs(meta.FromURIs)
-	meta.PassiveEndpoints = i.hasOnlyPassiveEndpoints(meta.FromURIs)
-
-	return nil
-}
diff --git a/pkg/util/source/inspector_yaml.go b/pkg/util/source/inspector_yaml.go
deleted file mode 100644
index f705b62..0000000
--- a/pkg/util/source/inspector_yaml.go
+++ /dev/null
@@ -1,137 +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 source
-
-import (
-	"fmt"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	yaml2 "gopkg.in/yaml.v2"
-)
-
-// YAMLInspector --
-type YAMLInspector struct {
-	baseInspector
-}
-
-// Extract --
-func (i YAMLInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
-	definitions := make([]map[string]interface{}, 0)
-
-	if err := yaml2.Unmarshal([]byte(source.Content), &definitions); err != nil {
-		return err
-	}
-
-	for _, definition := range definitions {
-		for k, v := range definition {
-			if err := i.parseStep(k, v, meta); err != nil {
-				return err
-			}
-		}
-	}
-
-	i.discoverCapabilities(source, meta)
-	i.discoverDependencies(source, meta)
-
-	meta.ExposesHTTPServices = meta.ExposesHTTPServices || i.containsHTTPURIs(meta.FromURIs)
-	meta.PassiveEndpoints = i.hasOnlyPassiveEndpoints(meta.FromURIs)
-
-	return nil
-}
-
-func (i YAMLInspector) parseStep(key string, content interface{}, meta *Metadata) error {
-	switch key {
-	case "rest":
-		meta.ExposesHTTPServices = true
-		meta.RequiredCapabilities.Add(v1.CapabilityRest)
-	case "circuitBreaker":
-		i.addDependency("camel:hystrix", meta)
-	}
-
-	var maybeURI string
-
-	switch t := content.(type) {
-	case string:
-		maybeURI = t
-	case map[interface{}]interface{}:
-		if u, ok := t["rest"]; ok {
-			return i.parseStep("rest", u, meta)
-		} else if u, ok := t["from"]; ok {
-			return i.parseStep("from", u, meta)
-		} else if u, ok := t["steps"]; ok {
-			steps := u.([]interface{})
-
-			for _, raw := range steps {
-				step := raw.(map[interface{}]interface{})
-
-				if len(step) != 1 {
-					return fmt.Errorf("unable to parse step: %v", step)
-				}
-
-				for k, v := range step {
-					switch kt := k.(type) {
-					case fmt.Stringer:
-						if err := i.parseStep(kt.String(), v, meta); err != nil {
-							return err
-						}
-					case string:
-						if err := i.parseStep(kt, v, meta); err != nil {
-							return err
-						}
-					default:
-						return fmt.Errorf("unknown key type: %v, step: %v", k, step)
-					}
-				}
-			}
-		}
-
-		if u, ok := t["uri"]; ok {
-			maybeURI = u.(string)
-		}
-
-		if _, ok := t["language"]; ok {
-			if s, ok := t["language"].(string); ok {
-				if dependency, ok := i.catalog.GetLanguageDependency(s); ok {
-					i.addDependency(dependency, meta)
-				}
-			} else if m, ok := t["language"].(map[interface{}]interface{}); ok {
-				if err := i.parseStep("language", m, meta); err != nil {
-					return err
-				}
-			}
-		}
-
-		for k := range t {
-			if s, ok := k.(string); ok {
-				if dependency, ok := i.catalog.GetLanguageDependency(s); ok {
-					i.addDependency(dependency, meta)
-				}
-			}
-		}
-	}
-
-	if maybeURI != "" {
-		switch key {
-		case "from":
-			meta.FromURIs = append(meta.FromURIs, maybeURI)
-		case "to":
-			meta.ToURIs = append(meta.ToURIs, maybeURI)
-		}
-	}
-	return nil
-}
diff --git a/pkg/util/source/inspector_yaml_test.go b/pkg/util/source/inspector_yaml_test.go
deleted file mode 100644
index 2d5db00..0000000
--- a/pkg/util/source/inspector_yaml_test.go
+++ /dev/null
@@ -1,106 +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 source
-
-import (
-	"testing"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util/camel"
-	"github.com/stretchr/testify/assert"
-)
-
-func NewtestYAMLInspector(t *testing.T) YAMLInspector {
-	catalog, err := camel.DefaultCatalog()
-	assert.Nil(t, err)
-
-	return YAMLInspector{
-		baseInspector: baseInspector{
-			catalog: catalog,
-		},
-	}
-}
-
-const YAMLRestDSL = `
-- rest:
-    verb: "post"
-    uri: "/api/flow"
-    accepts: "text/plain"
-    binding-mode: "off"
-    steps:
-      - convert-body:
-          type: "java.lang.String"
-      - to:
-          uri: "log:in"
-      - filter:
-          simple: "${body.contains(\",\")}"
-      - split:
-          tokenize: ";"
-      - set-body:
-          simple: "${body.toLowerCase()}"
-      - to:
-          uri: "log:out"
-`
-
-const YAMLRestDSLWithRoute = `
-- route:
-    id: "flow"
-    group: "routes"
-    rest:
-      verb: "post"
-      uri: "/api/flow"
-      accepts: "text/plain"
-      binding-mode: "off"
-      steps:
-        - convert-body:
-            type: "java.lang.String"
-        - to:
-            uri: "log:in"
-        - filter:
-            simple: "${body.contains(\",\")}"
-        - split:
-            tokenize: ";"
-        - set-body:
-            simple: "${body.toLowerCase()}"
-        - to:
-            uri: "log:out"
-`
-
-func TestYAMLRestDSL(t *testing.T) {
-	for name, content := range map[string]string{"YAMLRestDSL": YAMLRestDSL, "YAMLRestDSLWithRoute": YAMLRestDSLWithRoute} {
-		sourceContent := content
-		t.Run(name, func(t *testing.T) {
-			code := v1.SourceSpec{
-				DataSpec: v1.DataSpec{
-					Name:    "route.yaml",
-					Content: sourceContent,
-				},
-				Language: v1.LanguageYaml,
-			}
-
-			meta := NewMetadata()
-			inspector := NewtestYAMLInspector(t)
-
-			err := inspector.Extract(code, &meta)
-			assert.Nil(t, err)
-			assert.True(t, meta.RequiredCapabilities.Has(v1.CapabilityRest))
-			assert.True(t, meta.Dependencies.Has("camel:log"))
-			assert.True(t, meta.ExposesHTTPServices)
-		})
-	}
-}
diff --git a/pkg/util/source/types.go b/pkg/util/source/types.go
deleted file mode 100644
index f6f15e0..0000000
--- a/pkg/util/source/types.go
+++ /dev/null
@@ -1,50 +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 source
-
-import "github.com/scylladb/go-set/strset"
-
-// Metadata --
-type Metadata struct {
-	// All starting URIs of defined routes
-	FromURIs []string
-	// All end URIs of defined routes
-	ToURIs []string
-	// All inferred dependencies required to run the integration
-	Dependencies *strset.Set
-	// ExposesHTTPServices indicates if a route defined by the source is exposed
-	// through HTTP
-	ExposesHTTPServices bool
-	// PassiveEndpoints indicates that the source contains only passive endpoints that
-	// are activated from external calls, including HTTP (useful to determine if the
-	// integration can scale to 0)
-	PassiveEndpoints bool
-	// RequiredCapabilities lists the capabilities required by the integration
-	// to run
-	RequiredCapabilities *strset.Set
-}
-
-// NewMetadata --
-func NewMetadata() Metadata {
-	return Metadata{
-		FromURIs:             make([]string, 0),
-		ToURIs:               make([]string, 0),
-		Dependencies:         strset.New(),
-		RequiredCapabilities: strset.New(),
-	}
-}
diff --git a/pkg/util/sync/file.go b/pkg/util/sync/file.go
deleted file mode 100644
index f362d04..0000000
--- a/pkg/util/sync/file.go
+++ /dev/null
@@ -1,57 +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 sync provides useful tools to get notified when a file system resource changes
-package sync
-
-import (
-	"context"
-	"time"
-
-	"github.com/apache/camel-k/pkg/util/log"
-	"github.com/radovskyb/watcher"
-)
-
-// File returns a channel that signals each time the content of the file changes
-func File(ctx context.Context, path string) (<-chan bool, error) {
-	w := watcher.New()
-	if err := w.Add(path); err != nil {
-		return nil, err
-	}
-	w.FilterOps(watcher.Write)
-
-	out := make(chan bool)
-	go func() {
-		for {
-			select {
-			case <-ctx.Done():
-				return
-			case <-w.Event:
-				out <- true
-			}
-		}
-	}()
-
-	go func() {
-		if err := w.Start(200 * time.Millisecond); err != nil {
-			log.Error(err, "Error while starting watcher")
-			close(out)
-		}
-	}()
-
-	return out, nil
-}
diff --git a/pkg/util/sync/file_test.go b/pkg/util/sync/file_test.go
deleted file mode 100644
index 1b665c8..0000000
--- a/pkg/util/sync/file_test.go
+++ /dev/null
@@ -1,69 +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 sync
-
-import (
-	"context"
-	"io/ioutil"
-	"math/rand"
-	"os"
-	"path"
-	"strconv"
-	"testing"
-	"time"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestFile(t *testing.T) {
-	tempdir := os.TempDir()
-	fileName := path.Join(tempdir, "camel-k-test-"+strconv.FormatUint(rand.Uint64(), 10))
-	_, err := os.Create(fileName)
-	assert.Nil(t, err)
-	defer os.Remove(fileName)
-
-	ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(100*time.Second))
-	defer cancel()
-	changes, err := File(ctx, fileName)
-	assert.Nil(t, err)
-
-	time.Sleep(100 * time.Millisecond)
-	expectedNumChanges := 3
-	for i := 0; i < expectedNumChanges; i++ {
-		if err := ioutil.WriteFile(fileName, []byte("data-"+strconv.Itoa(i)), 0777); err != nil {
-			t.Error(err)
-		}
-		time.Sleep(350 * time.Millisecond)
-	}
-
-	numChanges := 0
-watch:
-	for {
-		select {
-		case <-ctx.Done():
-			return
-		case <-changes:
-			numChanges++
-			if numChanges == expectedNumChanges {
-				break watch
-			}
-		}
-	}
-
-	assert.Equal(t, expectedNumChanges, numChanges)
-}
diff --git a/pkg/util/test/assertions.go b/pkg/util/test/assertions.go
deleted file mode 100644
index 4df8f9c..0000000
--- a/pkg/util/test/assertions.go
+++ /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.
-*/
-
-package test
-
-import (
-	"testing"
-
-	"github.com/apache/camel-k/pkg/util/envvar"
-	"github.com/stretchr/testify/assert"
-
-	corev1 "k8s.io/api/core/v1"
-)
-
-// EnvVarExists --
-func EnvVarExists(t *testing.T, env []corev1.EnvVar, name string) {
-	ev := envvar.Get(env, name)
-	assert.NotNil(t, ev)
-}
-
-// EnvVarHasValue --
-func EnvVarHasValue(t *testing.T, env []corev1.EnvVar, name string, val string) {
-	ev := envvar.Get(env, name)
-	assert.NotNil(t, ev)
-	assert.Equal(t, val, ev.Value)
-}
-
-// HasVolume --
-func HasVolume(t *testing.T, volumes []corev1.Volume, name string) {
-	assert.Condition(t, func() bool {
-		for _, v := range volumes {
-			if v.Name == name {
-				return true
-			}
-		}
-		return false
-	})
-}
diff --git a/pkg/util/test/catalog_test.go b/pkg/util/test/catalog_test.go
deleted file mode 100644
index 9e483f4..0000000
--- a/pkg/util/test/catalog_test.go
+++ /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.
-*/
-
-package test
-
-import (
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-
-	"github.com/apache/camel-k/pkg/util/camel"
-	"github.com/apache/camel-k/pkg/util/defaults"
-)
-
-func TestRuntimeContainsEmbeddedArtifacts(t *testing.T) {
-	catalog, err := camel.DefaultCatalog()
-	assert.Nil(t, err)
-
-	assert.Equal(t, defaults.DefaultRuntimeVersion, catalog.Runtime.Version)
-
-	artifact := catalog.GetArtifactByScheme("knative")
-	assert.Equal(t, 1, len(artifact.Schemes))
-	assert.Equal(t, "org.apache.camel.k", artifact.GroupID)
-	assert.Equal(t, "camel-knative", artifact.ArtifactID)
-
-	scheme, found := catalog.GetScheme("knative")
-	assert.True(t, found)
-	assert.True(t, scheme.HTTP)
-}
diff --git a/pkg/util/test/client.go b/pkg/util/test/client.go
deleted file mode 100644
index d3df07b..0000000
--- a/pkg/util/test/client.go
+++ /dev/null
@@ -1,67 +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 test
-
-import (
-	"github.com/apache/camel-k/pkg/apis"
-	"github.com/apache/camel-k/pkg/client"
-
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/client-go/kubernetes"
-	clientscheme "k8s.io/client-go/kubernetes/scheme"
-	"k8s.io/client-go/rest"
-
-	controller "sigs.k8s.io/controller-runtime/pkg/client"
-	"sigs.k8s.io/controller-runtime/pkg/client/fake"
-)
-
-// NewFakeClient ---
-func NewFakeClient(initObjs ...runtime.Object) (client.Client, error) {
-	scheme := clientscheme.Scheme
-
-	// Setup Scheme for all resources
-	if err := apis.AddToScheme(scheme); err != nil {
-		return nil, err
-	}
-
-	c := fake.NewFakeClientWithScheme(scheme, initObjs...)
-
-	return &FakeClient{
-		Client:    c,
-		Interface: nil,
-	}, nil
-}
-
-// FakeClient ---
-type FakeClient struct {
-	controller.Client
-	kubernetes.Interface
-}
-
-// GetScheme ---
-func (c *FakeClient) GetScheme() *runtime.Scheme {
-	return clientscheme.Scheme
-}
-
-func (c *FakeClient) GetConfig() *rest.Config {
-	return nil
-}
-
-func (c *FakeClient) GetCurrentNamespace(kubeConfig string) (string, error) {
-	return "", nil
-}
diff --git a/pkg/util/test/cmd.go b/pkg/util/test/cmd.go
deleted file mode 100644
index 7d7f003..0000000
--- a/pkg/util/test/cmd.go
+++ /dev/null
@@ -1,46 +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 test
-
-import (
-	"bytes"
-
-	"github.com/spf13/cobra"
-)
-
-func EmptyRun(*cobra.Command, []string) {}
-
-func ArbitraryArgs(cmd *cobra.Command, args []string) error {
-	return nil
-}
-
-func ExecuteCommand(root *cobra.Command, args ...string) (output string, err error) {
-	_, output, err = ExecuteCommandC(root, args...)
-	return output, err
-}
-
-func ExecuteCommandC(root *cobra.Command, args ...string) (c *cobra.Command, output string, err error) {
-	buf := new(bytes.Buffer)
-	root.SetOut(buf)
-	root.SetErr(buf)
-	root.SetArgs(args)
-
-	c, err = root.ExecuteC()
-
-	return c, buf.String(), err
-}
diff --git a/pkg/util/uri/uri.go b/pkg/util/uri/uri.go
deleted file mode 100644
index 6e9122d..0000000
--- a/pkg/util/uri/uri.go
+++ /dev/null
@@ -1,58 +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 uri
-
-import (
-	"fmt"
-	"net/url"
-	"regexp"
-	"strings"
-
-	"github.com/apache/camel-k/pkg/util/log"
-)
-
-var queryExtractorRegexp = `^[^?]+\?(?:|.*[&])%s=([^&]+)(?:[&].*|$)`
-
-// GetComponent returns the Camel component used in the URI
-func GetComponent(uri string) string {
-	parts := strings.Split(uri, ":")
-	if len(parts) <= 1 {
-		return ""
-	}
-	return parts[0]
-}
-
-// GetQueryParameter returns the given parameter from the uri, if present
-func GetQueryParameter(uri string, param string) string {
-	paramRegexp := regexp.MustCompile(fmt.Sprintf(queryExtractorRegexp, regexp.QuoteMeta(param)))
-	val := matchOrEmpty(paramRegexp, uri)
-	res, err := url.QueryUnescape(val)
-	if err != nil {
-		log.Error(err, fmt.Sprintf("Invalid character sequence in parameter %q", param))
-		return ""
-	}
-	return res
-}
-
-func matchOrEmpty(reg *regexp.Regexp, str string) string {
-	match := reg.FindStringSubmatch(str)
-	if len(match) > 1 {
-		return match[1]
-	}
-	return ""
-}
diff --git a/pkg/util/uri/uri_test.go b/pkg/util/uri/uri_test.go
deleted file mode 100644
index 8908fec..0000000
--- a/pkg/util/uri/uri_test.go
+++ /dev/null
@@ -1,91 +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 uri
-
-import (
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestQueryParameter(t *testing.T) {
-	tests := []struct {
-		uri       string
-		param     string
-		expected  string
-		component string
-	}{
-		{
-			uri:       "direct:endpoint",
-			param:     "notPresent",
-			expected:  "",
-			component: "direct",
-		},
-		{
-			uri:       "knative:endpoint/channel?brokerURI=123",
-			param:     "brokeruri",
-			expected:  "",
-			component: "knative",
-		},
-		{
-			uri:       "knative:endpoint/channel?brokerURI=123",
-			param:     "brokerURI",
-			expected:  "123",
-			component: "knative",
-		},
-		{
-			uri:       "timer:tick?delay=123&period=3000",
-			param:     "period",
-			expected:  "3000",
-			component: "timer",
-		},
-		{
-			uri:       "timer:tick?period=3000&delay=4000",
-			param:     "period",
-			expected:  "3000",
-			component: "timer",
-		},
-		{
-			uri:       "timer:tick?delay=123&period=3000",
-			param:     ".*",
-			expected:  "",
-			component: "timer",
-		},
-		{
-			uri:       "timer:tick?delay=123&period=3000",
-			param:     ".",
-			expected:  "",
-			component: "timer",
-		},
-		{
-			uri:       "tick&delay=123&period=3000",
-			param:     "delay",
-			expected:  "",
-			component: "",
-		},
-	}
-
-	for _, test := range tests {
-		thetest := test
-		t.Run(thetest.uri, func(t *testing.T) {
-			param := GetQueryParameter(thetest.uri, thetest.param)
-			assert.Equal(t, thetest.expected, param)
-		})
-	}
-
-}
diff --git a/pkg/util/util.go b/pkg/util/util.go
deleted file mode 100644
index 34ac490..0000000
--- a/pkg/util/util.go
+++ /dev/null
@@ -1,223 +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 util
-
-import (
-	"bytes"
-	"encoding/xml"
-	"fmt"
-	"io"
-	"os"
-	"path"
-	"regexp"
-	"sort"
-
-	"github.com/pkg/errors"
-
-	"github.com/scylladb/go-set/strset"
-)
-
-// StringSliceJoin --
-func StringSliceJoin(slices ...[]string) []string {
-	size := 0
-
-	for _, s := range slices {
-		size += len(s)
-	}
-
-	result := make([]string, 0, size)
-
-	for _, s := range slices {
-		result = append(result, s...)
-	}
-
-	return result
-}
-
-// StringSliceContains --
-func StringSliceContains(slice []string, items []string) bool {
-	for i := 0; i < len(items); i++ {
-		if !StringSliceExists(slice, items[i]) {
-			return false
-		}
-	}
-
-	return true
-}
-
-// StringSliceExists --
-func StringSliceExists(slice []string, item string) bool {
-	for i := 0; i < len(slice); i++ {
-		if slice[i] == item {
-			return true
-		}
-	}
-
-	return false
-}
-
-// StringSliceUniqueAdd append the given item if not already present in the slice
-func StringSliceUniqueAdd(slice *[]string, item string) bool {
-	if slice == nil {
-		newSlice := make([]string, 0)
-		slice = &newSlice
-	}
-	for _, i := range *slice {
-		if i == item {
-			return false
-		}
-	}
-
-	*slice = append(*slice, item)
-
-	return true
-}
-
-// StringSliceUniqueConcat append all the items of the "items" slice if they are not already present in the slice
-func StringSliceUniqueConcat(slice *[]string, items []string) bool {
-	for _, item := range items {
-		if !StringSliceUniqueAdd(slice, item) {
-			return false
-		}
-	}
-	return true
-}
-
-// EncodeXML --
-func EncodeXML(content interface{}) ([]byte, error) {
-	w := &bytes.Buffer{}
-	w.WriteString(xml.Header)
-
-	e := xml.NewEncoder(w)
-	e.Indent("", "  ")
-
-	err := e.Encode(content)
-	if err != nil {
-		return []byte{}, err
-	}
-
-	return w.Bytes(), nil
-}
-
-// CopyFile --
-func CopyFile(src, dst string) (int64, error) {
-	sourceFileStat, err := os.Stat(src)
-	if err != nil {
-		return 0, err
-	}
-
-	if !sourceFileStat.Mode().IsRegular() {
-		return 0, fmt.Errorf("%s is not a regular file", src)
-	}
-
-	source, err := os.Open(src)
-	if err != nil {
-		return 0, err
-	}
-	defer source.Close()
-
-	err = os.MkdirAll(path.Dir(dst), 0777)
-	if err != nil {
-		return 0, err
-	}
-
-	destination, err := os.Create(dst)
-	if err != nil {
-		return 0, err
-	}
-	defer destination.Close()
-	nBytes, err := io.Copy(destination, source)
-	return nBytes, err
-}
-
-// WriteFileWithContent --
-func WriteFileWithContent(buildDir string, relativePath string, content []byte) error {
-	filePath := path.Join(buildDir, relativePath)
-	fileDir := path.Dir(filePath)
-	// Create dir if not present
-	err := os.MkdirAll(fileDir, 0777)
-	if err != nil {
-		return errors.Wrap(err, "could not create dir for file "+relativePath)
-	}
-	// Create file
-	file, err := os.Create(filePath)
-	if err != nil {
-		return errors.Wrap(err, "could not create file "+relativePath)
-	}
-	defer file.Close()
-
-	_, err = file.Write(content)
-	if err != nil {
-		return errors.Wrap(err, "could not write to file "+relativePath)
-	}
-	return nil
-}
-
-// WriteFileWithBytesMarshallerContent --
-func WriteFileWithBytesMarshallerContent(buildDir string, relativePath string, content BytesMarshaller) error {
-	data, err := content.MarshalBytes()
-	if err != nil {
-		return err
-	}
-
-	return WriteFileWithContent(buildDir, relativePath, data)
-}
-
-// FindAllDistinctStringSubmatch --
-func FindAllDistinctStringSubmatch(data string, regexps ...*regexp.Regexp) []string {
-	submatchs := strset.New()
-
-	for _, reg := range regexps {
-		hits := reg.FindAllStringSubmatch(data, -1)
-		for _, hit := range hits {
-			if len(hit) > 1 {
-				for _, match := range hit[1:] {
-					submatchs.Add(match)
-				}
-			}
-		}
-	}
-	return submatchs.List()
-}
-
-// FileExists --
-func FileExists(name string) (bool, error) {
-	info, err := os.Stat(name)
-	if os.IsNotExist(err) {
-		return false, nil
-	}
-
-	return !info.IsDir(), err
-}
-
-// BytesMarshaller --
-type BytesMarshaller interface {
-	MarshalBytes() ([]byte, error)
-}
-
-// SortedStringMapKeys --
-func SortedStringMapKeys(m map[string]string) []string {
-	res := make([]string, len(m))
-	i := 0
-	for k := range m {
-		res[i] = k
-		i++
-	}
-	sort.Strings(res)
-	return res
-}
diff --git a/pkg/util/watch/watch.go b/pkg/util/watch/watch.go
deleted file mode 100644
index 21b08ba..0000000
--- a/pkg/util/watch/watch.go
+++ /dev/null
@@ -1,311 +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 watch
-
-import (
-	"context"
-	"fmt"
-
-	v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
-	"github.com/apache/camel-k/pkg/util/kubernetes"
-	"github.com/apache/camel-k/pkg/util/kubernetes/customclient"
-	"github.com/apache/camel-k/pkg/util/log"
-	corev1 "k8s.io/api/core/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/util/json"
-)
-
-//
-// HandleIntegrationStateChanges watches a integration resource and invoke the given handler when its status changes.
-//
-//     err := watch.HandleIntegrationStateChanges(ctx, integration, func(i *v1.Integration) bool {
-//         if i.Status.Phase == v1.IntegrationPhaseRunning {
-//			    return false
-//		    }
-//
-//		    return true
-//	    })
-//
-// This function blocks until the handler function returns true or either the events channel or the context is closed.
-//
-func HandleIntegrationStateChanges(ctx context.Context, integration *v1.Integration,
-	handler func(integration *v1.Integration) bool) (*v1.IntegrationPhase, error) {
-	dynamicClient, err := customclient.GetDefaultDynamicClientFor("integrations", integration.Namespace)
-	if err != nil {
-		return nil, err
-	}
-
-	watcher, err := dynamicClient.Watch(metav1.ListOptions{
-		FieldSelector:   "metadata.name=" + integration.Name,
-		ResourceVersion: integration.ObjectMeta.ResourceVersion,
-	})
-	if err != nil {
-		return nil, err
-	}
-
-	defer watcher.Stop()
-	events := watcher.ResultChan()
-
-	var lastObservedState *v1.IntegrationPhase
-
-	var handlerWrapper = func(it *v1.Integration) bool {
-		if lastObservedState == nil || *lastObservedState != it.Status.Phase {
-			lastObservedState = &it.Status.Phase
-			if !handler(it) {
-				return false
-			}
-		}
-		return true
-	}
-
-	// Check completion before starting the watch
-	if !handlerWrapper(integration) {
-		return lastObservedState, nil
-	}
-
-	for {
-		select {
-		case <-ctx.Done():
-			return lastObservedState, nil
-		case e, ok := <-events:
-			if !ok {
-				return lastObservedState, nil
-			}
-
-			if e.Object != nil {
-				if runtimeUnstructured, ok := e.Object.(runtime.Unstructured); ok {
-					jsondata, err := kubernetes.ToJSON(runtimeUnstructured)
-					if err != nil {
-						return nil, err
-					}
-					copy := integration.DeepCopy()
-					err = json.Unmarshal(jsondata, copy)
-					if err != nil {
-						log.Error(err, "Unexpected error detected when watching resource")
-						return lastObservedState, nil
-					}
-
-					if !handlerWrapper(copy) {
-						return lastObservedState, nil
-					}
-				}
-			}
-		}
-	}
-}
-
-//
-// HandleIntegrationEvents watches all events related to the given integration.
-//
-//     watch.HandleIntegrationEvents(o.Context, integration, func(event *corev1.Event) bool {
-//		 println(event.Message)
-//		 return true
-//	   })
-//
-// This function blocks until the handler function returns true or either the events channel or the context is closed.
-//
-func HandleIntegrationEvents(ctx context.Context, integration *v1.Integration,
-	handler func(event *corev1.Event) bool) error {
-	dynamicClient, err := customclient.GetDynamicClientFor("", "v1", "events", integration.Namespace)
-	if err != nil {
-		return err
-	}
-	watcher, err := dynamicClient.Watch(metav1.ListOptions{
-		FieldSelector: fmt.Sprintf("involvedObject.kind=Integration,"+
-			"involvedObject.apiVersion=%s,"+
-			"involvedObject.name=%s",
-			v1.SchemeGroupVersion.String(), integration.Name),
-	})
-	if err != nil {
-		return err
-	}
-
-	defer watcher.Stop()
-	events := watcher.ResultChan()
-
-	for {
-		select {
-		case <-ctx.Done():
-			return nil
-		case e, ok := <-events:
-			if !ok {
-				return nil
-			}
-
-			if e.Object != nil {
-				if runtimeUnstructured, ok := e.Object.(runtime.Unstructured); ok {
-					jsondata, err := kubernetes.ToJSON(runtimeUnstructured)
-					if err != nil {
-						return err
-					}
-					evt := corev1.Event{}
-					err = json.Unmarshal(jsondata, &evt)
-					if err != nil {
-						log.Error(err, "Unexpected error detected when watching resource")
-						return nil
-					}
-
-					if evt.CreationTimestamp.UnixNano() >= integration.CreationTimestamp.UnixNano() {
-						if !handler(&evt) {
-							return nil
-						}
-					}
-				}
-			}
-		}
-	}
-}
-
-//
-// HandlePlatformStateChanges watches a platform resource and invoke the given handler when its status changes.
-//
-//     err := watch.HandlePlatformStateChanges(ctx, platform, func(i *v1.IntegrationPlatform) bool {
-//         if i.Status.Phase == v1.IntegrationPlatformPhaseReady {
-//			    return false
-//		    }
-//
-//		    return true
-//	    })
-//
-// This function blocks until the handler function returns true or either the events channel or the context is closed.
-//
-func HandlePlatformStateChanges(ctx context.Context, platform *v1.IntegrationPlatform, handler func(platform *v1.IntegrationPlatform) bool) error {
-	dynamicClient, err := customclient.GetDefaultDynamicClientFor("integrationplatforms", platform.Namespace)
-	if err != nil {
-		return err
-	}
-	watcher, err := dynamicClient.Watch(metav1.ListOptions{
-		FieldSelector: "metadata.name=" + platform.Name,
-	})
-	if err != nil {
-		return err
-	}
-
-	defer watcher.Stop()
-	events := watcher.ResultChan()
-
-	var lastObservedState *v1.IntegrationPlatformPhase
-
-	var handlerWrapper = func(pl *v1.IntegrationPlatform) bool {
-		if lastObservedState == nil || *lastObservedState != pl.Status.Phase {
-			lastObservedState = &pl.Status.Phase
-			if !handler(pl) {
-				return false
-			}
-		}
-		return true
-	}
-
-	// Check completion before starting the watch
-	if !handlerWrapper(platform) {
-		return nil
-	}
-
-	for {
-		select {
-		case <-ctx.Done():
-			return nil
-		case e, ok := <-events:
-			if !ok {
-				return nil
-			}
-
-			if e.Object != nil {
-				if runtimeUnstructured, ok := e.Object.(runtime.Unstructured); ok {
-					jsondata, err := kubernetes.ToJSON(runtimeUnstructured)
-					if err != nil {
-						return err
-					}
-					copy := platform.DeepCopy()
-					err = json.Unmarshal(jsondata, copy)
-					if err != nil {
-						log.Error(err, "Unexpected error detected when watching resource")
-						return nil
-					}
-
-					if !handlerWrapper(copy) {
-						return nil
-					}
-				}
-			}
-		}
-	}
-}
-
-//
-// HandleIntegrationPlatformEvents watches all events related to the given integration platform.
-//
-//     watch.HandleIntegrationPlatformEvents(o.Context, platform, func(event *corev1.Event) bool {
-//		 println(event.Message)
-//		 return true
-//	   })
-//
-// This function blocks until the handler function returns true or either the events channel or the context is closed.
-//
-func HandleIntegrationPlatformEvents(ctx context.Context, p *v1.IntegrationPlatform,
-	handler func(event *corev1.Event) bool) error {
-	dynamicClient, err := customclient.GetDynamicClientFor("", "v1", "events", p.Namespace)
-	if err != nil {
-		return err
-	}
-	watcher, err := dynamicClient.Watch(metav1.ListOptions{
-		FieldSelector: fmt.Sprintf("involvedObject.kind=IntegrationPlatform,"+
-			"involvedObject.apiVersion=%s,"+
-			"involvedObject.name=%s",
-			v1.SchemeGroupVersion.String(), p.Name),
-	})
-	if err != nil {
-		return err
-	}
-
-	defer watcher.Stop()
-	events := watcher.ResultChan()
-
-	for {
-		select {
-		case <-ctx.Done():
-			return nil
-		case e, ok := <-events:
-			if !ok {
-				return nil
-			}
-
-			if e.Object != nil {
-				if runtimeUnstructured, ok := e.Object.(runtime.Unstructured); ok {
-					jsondata, err := kubernetes.ToJSON(runtimeUnstructured)
-					if err != nil {
-						return err
-					}
-					evt := corev1.Event{}
-					err = json.Unmarshal(jsondata, &evt)
-					if err != nil {
-						log.Error(err, "Unexpected error detected when watching resource")
-						return nil
-					}
-
-					if evt.CreationTimestamp.UnixNano() >= p.CreationTimestamp.UnixNano() {
-						if !handler(&evt) {
-							return nil
-						}
-					}
-				}
-			}
-		}
-	}
-}
diff --git a/pkg/util/zip/zip.go b/pkg/util/zip/zip.go
deleted file mode 100644
index a5f59de..0000000
--- a/pkg/util/zip/zip.go
+++ /dev/null
@@ -1,64 +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 zip
-
-import (
-	"archive/zip"
-	"io"
-	"os"
-	"path/filepath"
-	"strings"
-)
-
-func Directory(pathToZip, destinationPath string) error {
-	destinationFile, err := os.Create(destinationPath)
-	if err != nil {
-		return err
-	}
-	myZip := zip.NewWriter(destinationFile)
-	err = filepath.Walk(pathToZip, func(filePath string, info os.FileInfo, err error) error {
-		if info.IsDir() {
-			return nil
-		}
-		if err != nil {
-			return err
-		}
-		relPath := strings.TrimPrefix(filePath, pathToZip)
-		zipFile, err := myZip.Create(relPath)
-		if err != nil {
-			return err
-		}
-		fsFile, err := os.Open(filePath)
-		if err != nil {
-			return err
-		}
-		_, err = io.Copy(zipFile, fsFile)
-		if err != nil {
-			return err
-		}
-		return nil
-	})
-	if err != nil {
-		return err
-	}
-	err = myZip.Close()
-	if err != nil {
-		return err
-	}
-	return nil
-}


[camel-k] 04/07: API: using only relevant apis

Posted by nf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit b9b74799a3175cdf4f1ff7586f5d51fa33fbd830
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Apr 30 17:59:37 2020 +0200

    API: using only relevant apis
---
 go.mod |   75 +----
 go.sum | 1158 ----------------------------------------------------------------
 2 files changed, 3 insertions(+), 1230 deletions(-)

diff --git a/go.mod b/go.mod
index 7790d36..5ed2b4e 100644
--- a/go.mod
+++ b/go.mod
@@ -3,77 +3,8 @@ module github.com/apache/camel-k
 go 1.13
 
 require (
-	contrib.go.opencensus.io/exporter/ocagent v0.6.0 // indirect
-	contrib.go.opencensus.io/exporter/prometheus v0.1.0 // indirect
-	github.com/Masterminds/semver v1.5.0
-	github.com/container-tools/spectrum v0.3.2
-	github.com/coreos/prometheus-operator v0.34.0
-	github.com/evanphx/json-patch v4.5.0+incompatible
-	github.com/fatih/structs v1.1.0
-	github.com/gertd/go-pluralize v0.1.1
-	github.com/go-logr/logr v0.1.0
-	github.com/google/uuid v1.1.1
-	github.com/jpillora/backoff v0.0.0-20170918002102-8eab2debe79d
-	github.com/magiconair/properties v1.8.1
-	github.com/mitchellh/go-homedir v1.1.0
-	github.com/mitchellh/mapstructure v1.1.2
-	github.com/onsi/gomega v1.7.0
-	github.com/openshift/api v3.9.1-0.20190927182313-d4a64ec2cbd8+incompatible
-	github.com/operator-framework/operator-lifecycle-manager v0.0.0-20191115003340-16619cd27fa5
-	github.com/operator-framework/operator-sdk v0.15.0
-	github.com/pkg/errors v0.8.1
-	github.com/radovskyb/watcher v1.0.6
-	github.com/rs/xid v1.2.1
-	github.com/scylladb/go-set v1.0.2
-	github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749
-	github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd
-	github.com/sirupsen/logrus v1.4.2
-	github.com/spf13/cobra v0.0.5
-	github.com/spf13/pflag v1.0.5
-	github.com/spf13/viper v1.4.0
-	github.com/stoewer/go-strcase v1.0.2
-	github.com/stretchr/testify v1.4.0
-	go.uber.org/multierr v1.1.0
-	gopkg.in/inf.v0 v0.9.1
-	gopkg.in/yaml.v2 v2.2.4
-	k8s.io/api v0.17.4
-	k8s.io/apimachinery v0.17.4
-	k8s.io/client-go v12.0.0+incompatible
-	k8s.io/gengo v0.0.0-20191010091904-7fa3014cb28f
-	knative.dev/eventing v0.14.1
-	knative.dev/pkg v0.0.0-20200410152005-2a1db869228c
-	knative.dev/serving v0.14.0
+	k8s.io/api v0.16.4
+	k8s.io/apimachinery v0.16.4
+	k8s.io/client-go v0.16.4
 	sigs.k8s.io/controller-runtime v0.4.0
 )
-
-// Pinned to kubernetes 1.16.2:
-// - Knative 0.14.0 requires 1.16.4
-// - Operator SDK 0.15.0 requires 1.16.2
-replace (
-	k8s.io/api => k8s.io/api v0.0.0-20191016110408-35e52d86657a
-	k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.0.0-20191016113550-5357c4baaf65
-	k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20191004115801-a2eda9f80ab8
-	k8s.io/apiserver => k8s.io/apiserver v0.0.0-20191016112112-5190913f932d
-	k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20191016114015-74ad18325ed5
-	k8s.io/client-go => k8s.io/client-go v0.0.0-20191016111102-bec269661e48
-	k8s.io/cloud-provider => k8s.io/cloud-provider v0.0.0-20191016115326-20453efc2458
-	k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.0.0-20191016115129-c07a134afb42
-	k8s.io/code-generator => k8s.io/code-generator v0.0.0-20191004115455-8e001e5d1894
-	k8s.io/component-base => k8s.io/component-base v0.0.0-20191016111319-039242c015a9
-	k8s.io/cri-api => k8s.io/cri-api v0.0.0-20190828162817-608eb1dad4ac
-	k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.0.0-20191016115521-756ffa5af0bd
-	k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.0.0-20191016112429-9587704a8ad4
-	k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.0.0-20191016114939-2b2b218dc1df
-	k8s.io/kube-proxy => k8s.io/kube-proxy v0.0.0-20191016114407-2e83b6f20229
-	k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.0.0-20191016114748-65049c67a58b
-	k8s.io/kubectl => k8s.io/kubectl v0.0.0-20191016120415-2ed914427d51
-	k8s.io/kubelet => k8s.io/kubelet v0.0.0-20191016114556-7841ed97f1b2
-	k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.0.0-20191016115753-cf0698c3a16b
-	k8s.io/metrics => k8s.io/metrics v0.0.0-20191016113814-3b1a734dba6e
-	k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.0.0-20191016112829-06bb3c9d77c9
-)
-
-replace github.com/docker/docker => github.com/moby/moby v0.7.3-0.20190826074503-38ab9da00309 // Required by Helm
-
-// Using a fork that removes the https ping before using http in case of insecure registry (for Spectrum)
-replace github.com/google/go-containerregistry => github.com/nicolaferraro/go-containerregistry v0.0.0-20200428072705-e7aced86aca8
diff --git a/go.sum b/go.sum
deleted file mode 100644
index 93a0e15..0000000
--- a/go.sum
+++ /dev/null
@@ -1,1158 +0,0 @@
-bitbucket.org/bertimus9/systemstat v0.0.0-20180207000608-0eeff89b0690/go.mod h1:Ulb78X89vxKYgdL24HMTiXYHlyHEvruOj1ZPlqeNEZM=
-bou.ke/monkey v1.0.1/go.mod h1:FgHuK96Rv2Nlf+0u1OOVDpCMdsWyOFmeeketDHE7LIg=
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=
-cloud.google.com/go v0.38.0 h1:ROfEUZz+Gh5pa62DJWXSaonyu3StP6EA6lPEXPI6mCo=
-cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
-cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.45.1 h1:lRi0CHyU+ytlvylOlFKKq0af6JncuyoRh1J+QJBqQx0=
-cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
-cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
-cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
-contrib.go.opencensus.io/exporter/ocagent v0.6.0 h1:Z1n6UAyr0QwM284yUuh5Zd8JlvxUGAhFZcgMJkMPrGM=
-contrib.go.opencensus.io/exporter/ocagent v0.6.0/go.mod h1:zmKjrJcdo0aYcVS7bmEeSEBLPA9YJp5bjrofdU3pIXs=
-contrib.go.opencensus.io/exporter/prometheus v0.1.0 h1:SByaIoWwNgMdPSgl5sMqM2KDE5H/ukPWBRo314xiDvg=
-contrib.go.opencensus.io/exporter/prometheus v0.1.0/go.mod h1:cGFniUXGZlKRjzOyuZJ6mgB+PgBcCIa79kEKR8YCW+A=
-contrib.go.opencensus.io/exporter/stackdriver v0.12.9-0.20191108183826-59d068f8d8ff h1:g4QkFNN0ak+sCs/jqbhYLNkQaF1NVaKVoQ4Xm1RV3wM=
-contrib.go.opencensus.io/exporter/stackdriver v0.12.9-0.20191108183826-59d068f8d8ff/go.mod h1:XyyafDnFOsqoxHJgTFycKZMrRUrPThLh2iYTJF6uoO0=
-github.com/Azure/azure-sdk-for-go v32.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
-github.com/Azure/azure-sdk-for-go v38.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
-github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
-github.com/Azure/go-autorest/autorest v0.9.0 h1:MRvx8gncNaXJqOoLmhNjUAKh33JJF8LyxPhomEtOsjs=
-github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
-github.com/Azure/go-autorest/autorest v0.9.3 h1:OZEIaBbMdUE/Js+BQKlpO81XlISgipr6yDJ+PSwsgi4=
-github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0=
-github.com/Azure/go-autorest/autorest/adal v0.5.0 h1:q2gDruN08/guU9vAjuPWff0+QIrpH6ediguzdAzXAUU=
-github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
-github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc=
-github.com/Azure/go-autorest/autorest/adal v0.8.1 h1:pZdL8o72rK+avFWl+p9nE8RWi1JInZrWJYlnpfXJwHk=
-github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=
-github.com/Azure/go-autorest/autorest/date v0.1.0 h1:YGrhWfrgtFs84+h0o46rJrlmsZtyZRg470CqAXTZaGM=
-github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
-github.com/Azure/go-autorest/autorest/date v0.2.0 h1:yW+Zlqf26583pE43KhfnhFcdmSWlm5Ew6bxipnr/tbM=
-github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g=
-github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-github.com/Azure/go-autorest/autorest/mocks v0.2.0 h1:Ww5g4zThfD/6cLb4z6xxgeyDa7QDkizMkJKe0ysZXp0=
-github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
-github.com/Azure/go-autorest/autorest/mocks v0.3.0 h1:qJumjCaCudz+OcqE9/XtEPfvtOjOmKaui4EOpFI6zZc=
-github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=
-github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc=
-github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA=
-github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8=
-github.com/Azure/go-autorest/logger v0.1.0 h1:ruG4BSDXONFRrZZJ2GUXDiUyVpayPmb1GnWeHDdaNKY=
-github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
-github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VYyQflFE619k=
-github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
-github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
-github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14=
-github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA=
-github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E=
-github.com/MakeNowJust/heredoc v0.0.0-20171113091838-e9091a26100e/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E=
-github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
-github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
-github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
-github.com/Masterminds/semver/v3 v3.0.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
-github.com/Masterminds/sprig/v3 v3.0.0/go.mod h1:NEUY/Qq8Gdm2xgYA+NwJM6wmfdRV9xkh8h/Rld20R0U=
-github.com/Masterminds/vcs v1.13.0/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA=
-github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
-github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
-github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU=
-github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
-github.com/Microsoft/hcsshim v0.0.0-20190417211021-672e52e9209d/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
-github.com/Microsoft/hcsshim v0.8.6 h1:ZfF0+zZeYdzMIVMZHKtDKJvLHj76XCuVae/jNkjj0IA=
-github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
-github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
-github.com/NYTimes/gziphandler v1.0.1/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
-github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
-github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/Rican7/retry v0.1.0/go.mod h1:FgOROf8P5bebcC1DS0PdOQiqGUridaZvikzUmkFW6gg=
-github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ=
-github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
-github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
-github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/ant31/crd-validation v0.0.0-20180702145049-30f8a35d0ac2/go.mod h1:X0noFIik9YqfhGYBLEHg8LJKEwy7QIitLQuFMpKLcPk=
-github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q=
-github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
-github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
-github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/auth0/go-jwt-middleware v0.0.0-20170425171159-5493cabe49f7/go.mod h1:LWMyo4iOLWXHGdBki7NIht1kHru/0wM179h+d3g8ATM=
-github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/aws/aws-sdk-go v1.17.7/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/aws/aws-sdk-go v1.23.20 h1:2CBuL21P0yKdZN5urf2NxKa1ha8fhnY+A3pBCHFeZoA=
-github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/aws/aws-sdk-go v1.27.1 h1:MXnqY6SlWySaZAqNnXThOvjRFdiiOuKtC6i7baFdNdU=
-github.com/aws/aws-sdk-go v1.27.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
-github.com/bazelbuild/bazel-gazelle v0.0.0-20181012220611-c728ce9f663e/go.mod h1:uHBSeeATKpVazAACZBDPL/Nk/UhQDDsJWDlqYJo8/Us=
-github.com/bazelbuild/buildtools v0.0.0-20180226164855-80c7f0d45d7e/go.mod h1:5JP0TXzWDHXv8qvxRC4InIazwdyDseBDbzESUMKk1yU=
-github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
-github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0=
-github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
-github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
-github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
-github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115/go.mod h1:zVt7zX3K/aDCk9Tj+VM7YymsX66ERvzCJzw8rFCX2JU=
-github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k=
-github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA=
-github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
-github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
-github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
-github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
-github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
-github.com/brancz/gojsontoyaml v0.0.0-20190425155809-e8bd32d46b3d/go.mod h1:IyUJYN1gvWjtLF5ZuygmxbnsAyP3aJS6cHzIuZY50B0=
-github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk=
-github.com/bugsnag/bugsnag-go v1.5.0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8=
-github.com/bugsnag/panicwrap v1.2.0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE=
-github.com/caddyserver/caddy v1.0.3/go.mod h1:G+ouvOY32gENkJC+jhgl62TyhvqEsFaDiZ4uw0RzP1E=
-github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
-github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
-github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/prettybench v0.0.0-20150116022406-03b8cfe5406c/go.mod h1:Xe6ZsFhtM8HrDku0pxJ3/Lr51rwykrzgFwpmTzleatY=
-github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/cespare/xxhash/v2 v2.1.0 h1:yTUvW7Vhb89inJ+8irsUqiWjh8iT6sQPZiQzI6ReGkA=
-github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM=
-github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
-github.com/checkpoint-restore/go-criu v0.0.0-20190109184317-bdb7599cd87b/go.mod h1:TrMrLQfeENAPYPRsJuq3jsqdlRh3lvi6trTZJG8+tho=
-github.com/cheekybits/genny v0.0.0-20170328200008-9127e812e1e9/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cloudflare/cfssl v0.0.0-20180726162950-56268a613adf/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA=
-github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313/go.mod h1:P1wt9Z3DP8O6W3rvwCt0REIlshg1InHImaLW0t3ObY0=
-github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
-github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk=
-github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0=
-github.com/container-storage-interface/spec v1.1.0/go.mod h1:6URME8mwIBbpVyZV93Ce5St17xBiQJQY67NDsuohiy4=
-github.com/container-tools/spectrum v0.3.0 h1:LrgO7cTuk/V301IV1Gf+MAhqXh+YXw42mKmawe1w5PU=
-github.com/container-tools/spectrum v0.3.0/go.mod h1:n415mIONApBh3AzudGlBrFPNOaEB6mb2K9MZWmRLFSU=
-github.com/container-tools/spectrum v0.3.2 h1:KQz70RWAzITzaPx+qPsiGkrF0uGmFJfKak2yOqJyPKQ=
-github.com/container-tools/spectrum v0.3.2/go.mod h1:hsogRHNfGQLysCyDiGT4SAioTS8LGLbyC4b0Ep2Iw+o=
-github.com/containerd/console v0.0.0-20170925154832-84eeaae905fa/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
-github.com/containerd/containerd v1.0.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-github.com/containerd/containerd v1.2.7/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-github.com/containerd/containerd v1.3.0-beta.2.0.20190823190603-4a2f61c4f2b4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-github.com/containerd/containerd v1.3.0 h1:xjvXQWABwS2uiv3TWgQt5Uth60Gu86LTGZXMJkjc7rY=
-github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
-github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M=
-github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
-github.com/containerd/typeurl v0.0.0-20190228175220-2a93cfde8c20/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
-github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
-github.com/coredns/corefile-migration v1.0.2/go.mod h1:OFwBp/Wc9dJt5cAZzHWMNhK1r5L0p0jDwIBc6j8NC8E=
-github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
-github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
-github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
-github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
-github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
-github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
-github.com/coreos/prometheus-operator v0.34.0 h1:TF9qaydNeUamLKs0hniaapa4FBz8U8TIlRRtJX987A4=
-github.com/coreos/prometheus-operator v0.34.0/go.mod h1:Li6rMllG/hYIyXfMuvUwhyC+hqwJVHdsDdP21hypT1M=
-github.com/coreos/rkt v1.30.0/go.mod h1:O634mlH6U7qk87poQifK6M2rsFNt+FyUTWNMnP1hF1U=
-github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
-github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
-github.com/cznic/b v0.0.0-20180115125044-35e9bbe41f07/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
-github.com/cznic/fileutil v0.0.0-20180108211300-6a051e75936f/go.mod h1:8S58EK26zhXSxzv7NQFpnliaOQsmDUxvoQO3rt154Vg=
-github.com/cznic/golex v0.0.0-20170803123110-4ab7c5e190e4/go.mod h1:+bmmJDNmKlhWNG+gwWCkaBoTy39Fs+bzRxVBzoTQbIc=
-github.com/cznic/internal v0.0.0-20180608152220-f44710a21d00/go.mod h1:olo7eAdKwJdXxb55TKGLiJ6xt1H0/tiiRCWKVLmtjY4=
-github.com/cznic/lldb v1.1.0/go.mod h1:FIZVUmYUVhPwRiPzL8nD/mpFcJ/G7SSXjjXYG4uRI3A=
-github.com/cznic/mathutil v0.0.0-20180504122225-ca4c9f2c1369/go.mod h1:e6NPNENfs9mPDVNRekM7lKScauxd5kXTr1Mfyig6TDM=
-github.com/cznic/ql v1.2.0/go.mod h1:FbpzhyZrqr0PVlK6ury+PoW3T0ODUV22OeWIxcaOrSE=
-github.com/cznic/sortutil v0.0.0-20150617083342-4c7342852e65/go.mod h1:q2w6Bg5jeox1B+QkJ6Wp/+Vn0G/bo3f1uY7Fn3vivIQ=
-github.com/cznic/strutil v0.0.0-20171016134553-529a34b1c186/go.mod h1:AHHPPPXTw0h6pVabbcbyGRK1DckRn7r/STdZEeIDzZc=
-github.com/cznic/zappy v0.0.0-20160723133515-2533cb5b45cc/go.mod h1:Y1SNZ4dRUOKXshKUbwUapqNncRrho4mkjQebgEHZLj8=
-github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/daviddengcn/go-colortext v0.0.0-20160507010035-511bcaf42ccd/go.mod h1:dv4zxwHi5C/8AeI+4gX4dCWOIvNi7I6JCSX0HvlKPgE=
-github.com/deislabs/oras v0.7.0/go.mod h1:sqMKPG3tMyIX9xwXUBRLhZ24o+uT4y6jgBD2RzUTKDM=
-github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
-github.com/dhui/dktest v0.3.0/go.mod h1:cyzIUfGsBEbZ6BT7tnXqAShHSXCZhSNmFl70sZ7c1yc=
-github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
-github.com/docker/cli v0.0.0-20190506213505-d88565df0c2d/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
-github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017 h1:2HQmlpI3yI9deH18Q6xiSOIjXD4sLI55Y/gfpa8/558=
-github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
-github.com/docker/distribution v2.7.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
-github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
-github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ=
-github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
-github.com/docker/go-connections v0.3.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
-github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
-github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
-github.com/docker/go-metrics v0.0.0-20181218153428-b84716841b82/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
-github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/libnetwork v0.0.0-20180830151422-a9cd636e3789/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8=
-github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE=
-github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
-github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
-github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
-github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
-github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
-github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
-github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
-github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/emicklei/go-restful v2.9.6+incompatible h1:tfrHha8zJ01ywiOEC1miGY8st1/igzWB8OmvPgoYX7w=
-github.com/emicklei/go-restful v2.9.6+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/emicklei/go-restful v2.11.1+incompatible h1:CjKsv3uWcCMvySPQYKxO8XX3f9zD4FeZRsW4G0B4ffE=
-github.com/emicklei/go-restful v2.11.1+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw=
-github.com/evanphx/json-patch v4.1.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
-github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4=
-github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc=
-github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
-github.com/fatih/set v0.2.1 h1:nn2CaJyknWE/6txyUDGwysr3G5QC6xWB/PtVjPBbeaA=
-github.com/fatih/set v0.2.1/go.mod h1:+RKtMCH+favT2+3YecHGxcc0b4KyVWA1QWWJUs4E0CI=
-github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
-github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
-github.com/fatih/structtag v1.1.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
-github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
-github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
-github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fsouza/fake-gcs-server v1.7.0/go.mod h1:5XIRs4YvwNbNoz+1JF8j6KLAyDh7RHGAyAK3EP2EsNk=
-github.com/garyburd/redigo v1.6.0/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
-github.com/gertd/go-pluralize v0.1.1 h1:fQhql/WRRwr4TVp+TCw12s2esCacvEVBdkTUUwNqF/Q=
-github.com/gertd/go-pluralize v0.1.1/go.mod h1:t5DfHcumb6m0RqyVJDrDLEzL2AGeaiqUXIcDNwLaeAs=
-github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/ghodss/yaml v0.0.0-20180820084758-c7ce16629ff4/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 h1:Mn26/9ZMNWSw9C9ERFA1PUxfmGpolnw2v0bKOREu5ew=
-github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32/go.mod h1:GIjDIg/heH5DOkXY3YJ/wNhfHsQHoXGjl8G8amsYQ1I=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/go-acme/lego v2.5.0+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M=
-github.com/go-bindata/go-bindata v3.1.1+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo=
-github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
-github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
-github.com/go-logr/logr v0.1.0 h1:M1Tv3VzNlEHg6uyACnRdtrploV2P7wZqH8BoQMtz0cg=
-github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
-github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
-github.com/go-logr/zapr v0.1.1 h1:qXBXPDdNncunGs7XeEpsJt8wCjYBygluzfdLO0G5baE=
-github.com/go-logr/zapr v0.1.1/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
-github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/spec v0.19.4 h1:ixzUSnHTd6hCemgtAJgluaTSGYpLNpJY4mA2DIkdOAo=
-github.com/go-openapi/spec v0.19.4/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.4 h1:i/65mCM9s1h8eCkT07F5Z/C1e/f8VTgEwer+00yevpA=
-github.com/go-openapi/swag v0.19.4/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
-github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
-github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
-github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
-github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ=
-github.com/gobuffalo/envy v1.7.0 h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU=
-github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
-github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80=
-github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs=
-github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q=
-github.com/gobuffalo/packr v1.30.1/go.mod h1:ljMyFO2EcrnzsHsN99cvbq055Y9OhRrIaviy289eRuk=
-github.com/gobuffalo/packr/v2 v2.5.1/go.mod h1:8f9c96ITobJlPzI44jj+4tHnEKNt0xXWSVlXRN9X1Iw=
-github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
-github.com/gocql/gocql v0.0.0-20190301043612-f6df8288f9b4/go.mod h1:4Fw1eo5iaEhDUs8XyuhSVCVy52Jq3L+/3GJgYkwc+/0=
-github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
-github.com/gofrs/flock v0.7.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
-github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
-github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
-github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48 h1:X+zN6RZXsvnrSJaAIQhZezPfAfvsqihKKR8oiLHid34=
-github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
-github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
-github.com/golang-migrate/migrate/v4 v4.6.2/go.mod h1:JYi6reN3+Z734VZ0akNuyOJNcrg45ZL7LDBMW3WGJL0=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20181024230925-c65c006176ff/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef h1:veQD95Isof8w9/WXiA+pa3tz3fJXkt5B7QaRBrM62gk=
-github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9 h1:uHTyIjqVhYRhLbJ8nIiOJHkEZZ+5YoOsAbD3sk82NiE=
-github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho=
-github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995/go.mod h1:lJgMEyOkYFkPcDKwRXegd+iM6E7matEszMG5HhwytU8=
-github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk=
-github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
-github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/cadvisor v0.34.0/go.mod h1:1nql6U13uTHaLYB8rLS5x9IJc2qT6Xd/Tr1sTX6NE48=
-github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
-github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-containerregistry v0.0.0-20200220215334-221517453cf9 h1:osTmoIrX1KoDXk9LKc9FmLCka+5yzcNuOatH4OGIAwM=
-github.com/google/go-containerregistry v0.0.0-20200220215334-221517453cf9/go.mod h1:m8YvHwSOuBCq25yrj1DaX/fIMrv6ec3CNg8jY8+5PEA=
-github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
-github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
-github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
-github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
-github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
-github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/gax-go/v2 v2.0.4 h1:hU4mGcQI4DaAYW+IbTun+2qEZVFxK0ySjQLTbS0VQKc=
-github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
-github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
-github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.3.1 h1:WeAefnSUHlBb0iJKwxFDZdbfGwkd7xRNuV+IpXMJhYk=
-github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU=
-github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
-github.com/gophercloud/gophercloud v0.2.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
-github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
-github.com/gorilla/handlers v1.4.0/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
-github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-github.com/gosuri/uitable v0.0.1/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo=
-github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-github.com/gregjones/httpcache v0.0.0-20181110185634-c63ab54fda8f/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-github.com/gregjones/httpcache v0.0.0-20190203031600-7a902570cb17 h1:prg2TTpTOcJF1jRWL2zSU1FQNgB0STAFNux8GK82y8k=
-github.com/gregjones/httpcache v0.0.0-20190203031600-7a902570cb17/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-github.com/grpc-ecosystem/go-grpc-middleware v0.0.0-20190222133341-cfaf5686ec79/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
-github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
-github.com/grpc-ecosystem/go-grpc-middleware v1.1.0/go.mod h1:f5nM7jw/oeRSadq3xCzHAvxcr8HZnzsqU6ILg/0NiiE=
-github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
-github.com/grpc-ecosystem/grpc-gateway v1.3.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
-github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
-github.com/grpc-ecosystem/grpc-gateway v1.9.4 h1:5xLhQjsk4zqPf9EHCrja2qFZMx+yBqkO3XgJ14bNnU0=
-github.com/grpc-ecosystem/grpc-gateway v1.9.4/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
-github.com/grpc-ecosystem/grpc-health-probe v0.2.1-0.20181220223928-2bf0a5b182db/go.mod h1:uBKkC2RbarFsvS5jMJHpVhTLvGlGQj9JJwkaePE3FWI=
-github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4=
-github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
-github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
-github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
-github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
-github.com/hashicorp/golang-lru v0.0.0-20180201235237-0fb14efe8c47/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
-github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk=
-github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
-github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
-github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/heketi/heketi v9.0.0+incompatible/go.mod h1:bB9ly3RchcQqsQ9CpyaQwvva7RS5ytVoSoholZQON6o=
-github.com/heketi/rest v0.0.0-20180404230133-aa6a65207413/go.mod h1:BeS3M108VzVlmAue3lv2WcGuPAX94/KN63MUURzbYSI=
-github.com/heketi/tests v0.0.0-20151005000721-f3775cbcefd6/go.mod h1:xGMAM8JLi7UkZt1i4FQeQy0R2T8GLUwQhOP5M1gBhy4=
-github.com/heketi/utils v0.0.0-20170317161834-435bc5bdfa64/go.mod h1:RYlF4ghFZPPmk2TC5REt5OFwvfb6lzxFWrTWB+qs28s=
-github.com/helm/helm-2to3 v0.2.0/go.mod h1:jQUVAWB0bM7zNIqKPIfHFzuFSK0kHYovJrjO+hqcvRk=
-github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
-github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
-github.com/iancoleman/strcase v0.0.0-20190422225806-e506e3ef7365/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE=
-github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI=
-github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ=
-github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/improbable-eng/thanos v0.3.2/go.mod h1:GZewVGILKuJVPNRn7L4Zw+7X96qzFOwj63b22xYGXBE=
-github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
-github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
-github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
-github.com/jimstudt/http-authentication v0.0.0-20140401203705-3eca13d6893a/go.mod h1:wK6yTYYcgjHE1Z1QtXACPDjcFJyBskHEdagmnq3vsP8=
-github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
-github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
-github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
-github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8=
-github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
-github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
-github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
-github.com/jpillora/backoff v0.0.0-20170918002102-8eab2debe79d h1:ix3WmphUvN0GDd0DO9MH0v6/5xTv+Xm1bPN+1UJn58k=
-github.com/jpillora/backoff v0.0.0-20170918002102-8eab2debe79d/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0=
-github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo=
-github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-github.com/jsonnet-bundler/jsonnet-bundler v0.1.0/go.mod h1:YKsSFc9VFhhLITkJS3X2PrRqWG9u2Jq99udTdDjQLfM=
-github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
-github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
-github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
-github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
-github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
-github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
-github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
-github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kshvakov/clickhouse v1.3.5/go.mod h1:DMzX7FxRymoNkVgizH0DWAL8Cur7wHLgx3MUnGwJqpE=
-github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
-github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
-github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
-github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc=
-github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
-github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
-github.com/lpabon/godbc v0.1.1/go.mod h1:Jo9QV0cf3U6jZABgiJ2skINAXb9j8m51r07g4KI92ZA=
-github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f/go.mod h1:JpH9J1c9oX6otFSgdUHwUBUizmKlrMjxWnIAjff4m04=
-github.com/lucas-clemente/quic-clients v0.1.0/go.mod h1:y5xVIEoObKqULIKivu+gD/LU90pL73bTdtQjPBvtCBk=
-github.com/lucas-clemente/quic-go v0.10.2/go.mod h1:hvaRS9IHjFLMq76puFJeWNfmn+H70QZ/CXoxqw9bzao=
-github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced/go.mod h1:NCcRLrOTZbzhZvixZLlERbJtDtYsmMw8Jc4vS8Z0g58=
-github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
-github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
-github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
-github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
-github.com/maorfr/helm-plugin-utils v0.0.0-20181205064038-588190cb5e3b/go.mod h1:p3gwmRSFqbWw6plBpR0sKl3n3vpu8kX70gvCJKMvvCA=
-github.com/markbates/inflect v1.0.4 h1:5fh1gzTFhfae06u3hzHYO9xe3l3v3nW5Pwt3naLTP5g=
-github.com/markbates/inflect v1.0.4/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs=
-github.com/marten-seemann/qtls v0.2.3/go.mod h1:xzjG7avBwGGbdZ8dTGxlBnLArsVKLvwmjgmPuiQEcYk=
-github.com/martinlindhe/base36 v1.0.0/go.mod h1:+AtEs8xrBpCeYgSLoY/aJ6Wf37jtBuR0s35750M27+8=
-github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a h1:+J2gw7Bw77w/fbK7wnNJJDKmw1IbWft2Ul5BzrG1Qm8=
-github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a/go.mod h1:M1qoD/MqPgTZIk0EWKB38wE28ACRfVcn+cU08jyArI0=
-github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
-github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
-github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
-github.com/mattn/go-isatty v0.0.6/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
-github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
-github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
-github.com/mattn/go-shellwords v1.0.5/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
-github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
-github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/maxbrunsfeld/counterfeiter/v6 v6.2.1/go.mod h1:F9YacGpnZbLQMzuPI0rR6op21YvNu/RjL705LJJpM3k=
-github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY=
-github.com/mesos/mesos-go v0.0.9/go.mod h1:kPYCMQ9gsOXVAle1OsoY4I1+9kPu8GHkf88aV59fDr4=
-github.com/mholt/certmagic v0.6.2-0.20190624175158-6a42ef9fe8c2/go.mod h1:g4cOPxcjV0oFq3qwpjSA30LReKD8AoIfwAY9VvG35NY=
-github.com/miekg/dns v0.0.0-20181005163659-0d29b283ac0f/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-github.com/miekg/dns v1.1.3/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-github.com/miekg/dns v1.1.4/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
-github.com/mindprince/gonvml v0.0.0-20171110221305-fee913ce8fb2/go.mod h1:2eu9pRWp8mo84xCg6KswZ+USQHjwgRhNp06sozOdsTY=
-github.com/mistifyio/go-zfs v2.1.1+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
-github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
-github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
-github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
-github.com/mitchellh/hashstructure v0.0.0-20170609045927-2bca23e0e452/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ=
-github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ=
-github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
-github.com/moby/moby v0.7.3-0.20190826074503-38ab9da00309 h1:cvy4lBOYN3gKfKj8Lzz5Q9TfviP+L7koMHY7SvkyTKs=
-github.com/moby/moby v0.7.3-0.20190826074503-38ab9da00309/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
-github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
-github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
-github.com/mrunalp/fileutils v0.0.0-20160930181131-4ee1cc9a8058/go.mod h1:x8F1gnqOkIEiO4rqoeEEEqQbo7HjGMTvyoq3gej4iT0=
-github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/munnerz/goautoneg v0.0.0-20190414153302-2ae31c8b6b30/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/mvdan/xurls v1.1.0/go.mod h1:tQlNn3BED8bE/15hnSL2HLkDeLWpNPAwtw7wkEq44oU=
-github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
-github.com/nakagami/firebirdsql v0.0.0-20190310045651-3c02a58cfed8/go.mod h1:86wM1zFnC6/uDBfZGNwB65O+pR2OFi5q/YQaEUid1qA=
-github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
-github.com/naoina/toml v0.1.1/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
-github.com/nicolaferraro/go-containerregistry v0.0.0-20200428072705-e7aced86aca8 h1:TuLlDIMLWKpUXzgpi9SLZynUMVgYo7Wv5HlozPgX6CY=
-github.com/nicolaferraro/go-containerregistry v0.0.0-20200428072705-e7aced86aca8/go.mod h1:pD1UFYs7MCAx+ZLShBdttcaOSbyc8F9Na/9IZLNwJeA=
-github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
-github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
-github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.4.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
-github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
-github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
-github.com/onsi/gomega v1.3.0/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
-github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo=
-github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
-github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
-github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
-github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
-github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
-github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
-github.com/opencontainers/runc v1.0.0-rc2.0.20190611121236-6cc515888830 h1:yvQ/2Pupw60ON8TYEIGGTAI77yZsWYkiOeHFZWkwlCk=
-github.com/opencontainers/runc v1.0.0-rc2.0.20190611121236-6cc515888830/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
-github.com/opencontainers/runtime-spec v1.0.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
-github.com/opencontainers/selinux v1.2.2/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs=
-github.com/openshift/api v3.9.1-0.20190924102528-32369d4db2ad+incompatible/go.mod h1:dh9o4Fs58gpFXGSYfnVxGR9PnV53I8TW84pQaJDdGiY=
-github.com/openshift/api v3.9.1-0.20190927182313-d4a64ec2cbd8+incompatible h1:YwFnUQ5RQ17CmkxHyjpQnWAQOGkLKXY0shOUEyqaCGk=
-github.com/openshift/api v3.9.1-0.20190927182313-d4a64ec2cbd8+incompatible/go.mod h1:dh9o4Fs58gpFXGSYfnVxGR9PnV53I8TW84pQaJDdGiY=
-github.com/openshift/client-go v0.0.0-20190923180330-3b6373338c9b/go.mod h1:6rzn+JTr7+WYS2E1TExP4gByoABxMznR6y2SnUIkmxk=
-github.com/openshift/origin v0.0.0-20160503220234-8f127d736703/go.mod h1:0Rox5r9C8aQn6j1oAOQ0c1uC86mYbUFObzjBRvUKHII=
-github.com/openshift/prom-label-proxy v0.1.1-0.20191016113035-b8153a7f39f1/go.mod h1:p5MuxzsYP1JPsNGwtjtcgRHHlGziCJJfztff91nNixw=
-github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
-github.com/openzipkin/zipkin-go v0.1.6 h1:yXiysv1CSK7Q5yjGy1710zZGnsbMUIjluWBxtLXHPBo=
-github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
-github.com/operator-framework/api v0.0.0-20200120235816-80fd2f1a09c9/go.mod h1:S5IdlJvmKkF84K2tBvsrqJbI2FVy03P88R75snpRxJo=
-github.com/operator-framework/operator-lifecycle-manager v0.0.0-20191115003340-16619cd27fa5 h1:rjaihxY50c5C+kbQIK4s36R8zxByATYrgRbua4eiG6o=
-github.com/operator-framework/operator-lifecycle-manager v0.0.0-20191115003340-16619cd27fa5/go.mod h1:zL34MNy92LPutBH5gQK+gGhtgTUlZZX03I2G12vWHF4=
-github.com/operator-framework/operator-registry v1.5.1/go.mod h1:agrQlkWOo1q8U1SAaLSS2WQ+Z9vswNT2M2HFib9iuLY=
-github.com/operator-framework/operator-registry v1.5.3/go.mod h1:agrQlkWOo1q8U1SAaLSS2WQ+Z9vswNT2M2HFib9iuLY=
-github.com/operator-framework/operator-registry v1.5.7-0.20200121213444-d8e2ec52c19a/go.mod h1:ekexcV4O8YMxdQuPb+Xco7MHfVmRIq7Jvj5e6NU7dHI=
-github.com/operator-framework/operator-sdk v0.15.0 h1:zcyvlo9qV1lovvrgxQDv0iJTHPLXWNiDRiqw07Oim8s=
-github.com/operator-framework/operator-sdk v0.15.0/go.mod h1:RkC5LpluVONa08ORFIIVCYrEr855xG1/NltRL2jQ8qo=
-github.com/otiai10/copy v1.0.1/go.mod h1:8bMCJrAqOtN/d9oyh5HR7HhLQMvcGMpGdwRDYsfOCHc=
-github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
-github.com/otiai10/curr v0.0.0-20190513014714-f5a3d24e5776/go.mod h1:3HNVkVOU7vZeFXocWuvtcS0XSFLcf2XUSDHkq9t1jU4=
-github.com/otiai10/mint v1.2.3/go.mod h1:YnfyPNhBvnY8bW4SGQHCs/aAFhkgySlMZbrF5U0bOVw=
-github.com/otiai10/mint v1.2.4/go.mod h1:d+b7n/0R3tdyUYYylALXpWQ/kTN+QobSq/4SRGBkR3M=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
-github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
-github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
-github.com/phayes/freeport v0.0.0-20171002181615-b8543db493a5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE=
-github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
-github.com/pquerna/ffjson v0.0.0-20180717144149-af8b230fcd20/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M=
-github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
-github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
-github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
-github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM=
-github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
-github.com/prometheus/client_golang v1.1.0 h1:BQ53HtBmfOitExawJ6LokA4x8ov/z0SYYb0+HxJfRI8=
-github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
-github.com/prometheus/client_golang v1.2.1 h1:JnMpQc6ppsNgw9QPAGF6Dod479itz7lvlsMzzNayLOI=
-github.com/prometheus/client_golang v1.2.1/go.mod h1:XMU6Z2MjaRKVu/dC1qupJI9SiNkDYzz3xecMgSW/F+U=
-github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw=
-github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/common v0.6.0 h1:kRhiuYSXR3+uv2IbVbZhUxK5zVD/2pp3Gd2PpvPkpEo=
-github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
-github.com/prometheus/common v0.7.0 h1:L+1lyG48J1zAQXA3RBX/nG/B3gjlHq0zTt2tlbJLyCY=
-github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
-github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20190129233650-316cf8ccfec5/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs=
-github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/procfs v0.0.3 h1:CTwfnzjQ+8dS6MhHHu4YswVAD99sL2wjPqP+VkURmKE=
-github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
-github.com/prometheus/procfs v0.0.5 h1:3+auTFlqw+ZaQYJARz6ArODtkaIwtvBTx3N2NehQlL8=
-github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
-github.com/prometheus/prometheus v2.3.2+incompatible/go.mod h1:oAIUtOny2rjMX0OWN5vPR5/q/twIROJvdqnQKDdil/s=
-github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
-github.com/prometheus/tsdb v0.8.0/go.mod h1:fSI0j+IUQrDd7+ZtR9WKIGtoYAYAJUKcKhYLG25tN4g=
-github.com/quobyte/api v0.1.2/go.mod h1:jL7lIHrmqQ7yh05OJ+eEEdHr0u/kmT1Ff9iHd+4H6VI=
-github.com/radovskyb/watcher v1.0.6 h1:8WIQ9UxEYMZjem1OwU7dVH94DXXk9mAIE1i8eqHD+IY=
-github.com/radovskyb/watcher v1.0.6/go.mod h1:78okwvY5wPdzcb1UYnip1pvrZNIVEIh/Cm+ZuvsUYIg=
-github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
-github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
-github.com/robfig/cron v0.0.0-20170526150127-736158dc09e1/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
-github.com/robfig/cron v1.1.0 h1:jk4/Hud3TTdcrJgUOBgsqrZBarcxl6ADIjSC2iniwLY=
-github.com/robfig/cron v1.1.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
-github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
-github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.5.0 h1:Usqs0/lDK/NqTkvrmKSwA/3XkZAs7ZAW/eLeQ2MVBTw=
-github.com/rogpeppe/go-internal v1.5.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
-github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc=
-github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
-github.com/rubenv/sql-migrate v0.0.0-20191025130928-9355dd04f4b3/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY=
-github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto=
-github.com/russross/blackfriday v0.0.0-20170610170232-067529f716f4/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
-github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
-github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U=
-github.com/scylladb/go-set v1.0.2 h1:SkvlMCKhP0wyyct6j+0IHJkBkSZL+TDzZ4E7f7BCcRE=
-github.com/scylladb/go-set v1.0.2/go.mod h1:DkpGd78rljTxKAnTDPFqXSGxvETQnJyuSOQwsHycqfs=
-github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
-github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
-github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
-github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk=
-github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
-github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd h1:ug7PpSOB5RBPK1Kg6qskGBoP3Vnj/aNYFTznWvlkGo0=
-github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
-github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
-github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
-github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
-github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
-github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
-github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
-github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
-github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
-github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
-github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=
-github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
-github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
-github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
-github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
-github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
-github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
-github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
-github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
-github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU=
-github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
-github.com/stoewer/go-strcase v1.0.2 h1:l3iQ2FPu8+36ars/7syO1dQAkjwMCb1IE3J+Th0ohfE=
-github.com/stoewer/go-strcase v1.0.2/go.mod h1:eLfe5bL3qbL7ep/KafHzthxejrOF5J3xmt03uL5tzek=
-github.com/storageos/go-api v0.0.0-20180912212459-343b3eff91fc/go.mod h1:ZrLn+e0ZuF3Y65PNF6dIwbJPZqfmtCXxFm9ckv0agOY=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
-github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/syndtr/gocapability v0.0.0-20160928074757-e7cb7fa329f4/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
-github.com/thecodeteam/goscaleio v0.1.0/go.mod h1:68sdkZAsK8bvEwBlbQnlLS+xU+hvLYM/iQ8KXej1AwM=
-github.com/tidwall/pretty v0.0.0-20180105212114-65a9db5fad51/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
-github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
-github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
-github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
-github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
-github.com/vdemeester/k8s-pkg-credentialprovider v0.0.0-20200107171650-7c61ffa44238/go.mod h1:JwQJCMWpUDqjZrB5jpw0f5VbN7U95zxFy1ZDpoEarGo=
-github.com/vdemeester/k8s-pkg-credentialprovider v1.17.4/go.mod h1:inCTmtUdr5KJbreVojo06krnTgaeAz/Z7lynpPk/Q2c=
-github.com/vishvananda/netlink v0.0.0-20171020171820-b2de5d10e38e/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
-github.com/vishvananda/netns v0.0.0-20171111001504-be1fbeda1936/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
-github.com/vmware/govmomi v0.20.1/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU=
-github.com/xanzy/go-gitlab v0.15.0/go.mod h1:8zdQa/ri1dfn8eS3Ir1SyfvOKlw7WBJ8DVThkpGiXrs=
-github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
-github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
-github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
-github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
-github.com/xeipuuv/gojsonschema v1.1.0/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
-github.com/xenolf/lego v0.0.0-20160613233155-a9d8cec0e656/go.mod h1:fwiGnfsIjG7OHPfOvgK7Y/Qo6+2Ox0iozjNTkZICKbY=
-github.com/xenolf/lego v0.3.2-0.20160613233155-a9d8cec0e656/go.mod h1:fwiGnfsIjG7OHPfOvgK7Y/Qo6+2Ox0iozjNTkZICKbY=
-github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
-github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
-github.com/xlab/handysort v0.0.0-20150421192137-fb3537ed64a1/go.mod h1:QcJo0QPSfTONNIgpN5RA8prR7fF8nkF6cTWTcNerRO8=
-github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
-github.com/yvasiyarov/go-metrics v0.0.0-20150112132944-c25f46c4b940/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs=
-github.com/yvasiyarov/gorelic v0.0.6/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA=
-github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg=
-github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
-gitlab.com/nyarla/go-crypt v0.0.0-20160106005555-d9a5dc2b789b/go.mod h1:T3BPAOm2cqquPa0MKWeNkmOM5RQsRhkrwMWonFMN7fE=
-go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
-go.mongodb.org/mongo-driver v1.1.0/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
-go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4=
-go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-go.opencensus.io v0.22.1 h1:8dP3SGL7MPB94crU3bEPplMPe83FI4EouesJUeFHv50=
-go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA=
-go.uber.org/atomic v0.0.0-20181018215023-8dc6146f7569/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
-go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
-go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
-go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
-go.uber.org/multierr v0.0.0-20180122172545-ddea229ff1df/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
-go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
-go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
-go.uber.org/zap v0.0.0-20180814183419-67bc79d13d15/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
-go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
-go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
-go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
-golang.org/x/crypto v0.0.0-20180426230345-b49d69b5da94/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4 h1:ydJNl0ENAG67pFbB+9tfhiL2pYqLhfoaZFw/cjLhY4A=
-golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20191028145041-f83a4685e152 h1:ZC1Xn5A1nlpSmQCIva4bZ3ob3lmhYIefc+GU+DLg1Ow=
-golang.org/x/crypto v0.0.0-20191028145041-f83a4685e152/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g=
-golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee h1:WG0RUwxtNT4qqaXX3DPA8zHFNm/D9xaBpxzHt1WcA/E=
-golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180112015858-5ccada7d0a7b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc h1:gkKoSkUmnU6bpS/VhkuO27bzQeSA51uaEfbOW5dNb68=
-golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190912160710-24e19bdeb0f2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20191028085509-fe3aa8a45271 h1:N66aaryRB3Ax92gH0v3hp1QYZ3zWWCCUR/j8Ifh45Ss=
-golang.org/x/net v0.0.0-20191028085509-fe3aa8a45271/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
-golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180117170059-2c42eef0765b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181004145325-8469e314837c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190124100055-b90733256f2e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190310054646-10058d7d4faa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190426135247-a129542de9ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190515120540-06a5c4944438 h1:khxRGsvPk4n2y8I/mLLjp7e5dMTJmH75wvqS6nMwUtY=
-golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3 h1:4y9KwBHBgBNwDbtu44R5o1fdOCQUEXhbk/P4A9WmJq0=
-golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190912141932-bc967efca4b8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191028164358-195ce5e7f934 h1:u/E0NqCIWRDAo9WCFo6Ko49njPFDLSd3z+X1HgWDMpE=
-golang.org/x/sys v0.0.0-20191028164358-195ce5e7f934/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs=
-golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20170824195420-5d2fd3ccab98/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190425222832-ad9eeb80039a/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
-golang.org/x/tools v0.0.0-20191018212557-ed542cd5b28a h1:UuQ+70Pi/ZdWHuP4v457pkXeOynTdgd/4enxeIO/98k=
-golang.org/x/tools v0.0.0-20191018212557-ed542cd5b28a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200210192313-1ace956b0e17 h1:a/Fd23DJvg1CaeDH0dYHahE+hCI0v9rFgxSNIThoUcM=
-golang.org/x/tools v0.0.0-20200210192313-1ace956b0e17/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898 h1:/atklqdjdhuosWIl6AIbOeHJjicWYPqR9bpxqxYG2pA=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-gomodules.xyz/jsonpatch/v2 v2.0.1 h1:xyiBuvkD2g5n7cYzx6u2sxQvsAy4QJsZFCzGVdzOXZ0=
-gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU=
-gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
-gonum.org/v1/gonum v0.0.0-20190710053202-4340aa3071a0/go.mod h1:03dgh78c4UvU1WksguQ/lvJQXbezKQGJSrwwRq5MraQ=
-gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
-gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ=
-google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
-google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
-google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-google.golang.org/api v0.6.1-0.20190607001116-5213b8090861 h1:ppLucX0K/60T3t6LPZQzTOkt5PytkEbQLIaSteq+TpE=
-google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
-google.golang.org/api v0.7.0 h1:9sdfJOzWlkqPltHAuzT2Cp+yrBeY1KRVYgms8soxMwM=
-google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
-google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.10.0 h1:7tmAxx3oKE98VMZ+SBZzvYYWRQ9HODBxmC8mXUsraSQ=
-google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
-google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
-google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
-google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
-google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190128161407-8ac453e89fca/go.mod h1:L3J43x8/uS+qIUoksaLKe6OS3nUKxOKuIFz1sl2/jx4=
-google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191028173616-919d9bdd9fe6 h1:UXl+Zk3jqqcbEVV7ace5lrt4YdA4tXiz3f/KbmD29Vo=
-google.golang.org/genproto v0.0.0-20191028173616-919d9bdd9fe6/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio=
-google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-google.golang.org/grpc v1.21.0 h1:G+97AoqBnmZIT91cLG/EkCoK9NSelj64P8bOHHNmGn0=
-google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
-google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
-google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s=
-google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA=
-gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
-gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
-gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
-gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
-gopkg.in/gorp.v1 v1.7.2/go.mod h1:Wo3h+DBQZIxATwftsglhdD/62zRFPhGhTiu5jUJmCaw=
-gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
-gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/mcuadros/go-syslog.v2 v2.2.1/go.mod h1:l5LPIyOOyIdQquNg+oU6Z3524YwrcqEm0aKH+5zpt2U=
-gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
-gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
-gopkg.in/square/go-jose.v1 v1.1.2/go.mod h1:QpYS+a4WhS+DTlyQIi6Ka7MS3SuR9a055rgXNEe6EiA=
-gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
-gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
-gopkg.in/yaml.v2 v2.0.0/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
-gopkg.in/yaml.v2 v2.1.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
-gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
-gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
-gotest.tools/gotestsum v0.3.5/go.mod h1:Mnf3e5FUzXbkCfynWBGOwLssY7gTQgCHObK9tMpAriY=
-helm.sh/helm/v3 v3.0.0/go.mod h1:sI7B9yfvMgxtTPMWdk1jSKJ2aa59UyP9qhPydqW6mgo=
-helm.sh/helm/v3 v3.0.1/go.mod h1:sI7B9yfvMgxtTPMWdk1jSKJ2aa59UyP9qhPydqW6mgo=
-honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.1-2019.2.2/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-k8s.io/api v0.0.0-20191016110408-35e52d86657a h1:VVUE9xTCXP6KUPMf92cQmN88orz600ebexcRRaBTepQ=
-k8s.io/api v0.0.0-20191016110408-35e52d86657a/go.mod h1:/L5qH+AD540e7Cetbui1tuJeXdmNhO8jM6VkXeDdDhQ=
-k8s.io/apiextensions-apiserver v0.0.0-20191016113550-5357c4baaf65 h1:kThoiqgMsSwBdMK/lPgjtYTsEjbUU9nXCA9DyU3feok=
-k8s.io/apiextensions-apiserver v0.0.0-20191016113550-5357c4baaf65/go.mod h1:5BINdGqggRXXKnDgpwoJ7PyQH8f+Ypp02fvVNcIFy9s=
-k8s.io/apimachinery v0.0.0-20191004115801-a2eda9f80ab8 h1:Iieh/ZEgT3BWwbLD5qEKcY06jKuPEl6zC7gPSehoLw4=
-k8s.io/apimachinery v0.0.0-20191004115801-a2eda9f80ab8/go.mod h1:llRdnznGEAqC3DcNm6yEj472xaFVfLM7hnYofMb12tQ=
-k8s.io/apiserver v0.0.0-20191016112112-5190913f932d/go.mod h1:7OqfAolfWxUM/jJ/HBLyE+cdaWFBUoo5Q5pHgJVj2ws=
-k8s.io/autoscaler v0.0.0-20190607113959-1b4f1855cb8e/go.mod h1:QEXezc9uKPT91dwqhSJq3GNI3B1HxFRQHiku9kmrsSA=
-k8s.io/cli-runtime v0.0.0-20191016114015-74ad18325ed5/go.mod h1:sDl6WKSQkDM6zS1u9F49a0VooQ3ycYFBFLqd2jf2Xfo=
-k8s.io/client-go v0.0.0-20191016111102-bec269661e48 h1:C2XVy2z0dV94q9hSSoCuTPp1KOG7IegvbdXuz9VGxoU=
-k8s.io/client-go v0.0.0-20191016111102-bec269661e48/go.mod h1:hrwktSwYGI4JK+TJA3dMaFyyvHVi/aLarVHpbs8bgCU=
-k8s.io/cloud-provider v0.0.0-20191016115326-20453efc2458/go.mod h1:O5SO5xcgxrjJV9EC9R/47RuBpbk5YX9URDBlg++FA5o=
-k8s.io/cluster-bootstrap v0.0.0-20191016115129-c07a134afb42/go.mod h1:MzCL6kLExQuHruGaqibd8cugC8nw8QRxm3+lzR5l8SI=
-k8s.io/code-generator v0.0.0-20191004115455-8e001e5d1894 h1:NMYlxaF7rYQJk2E2IyrUhaX81zX24+dmoZdkPw0gJqI=
-k8s.io/code-generator v0.0.0-20191004115455-8e001e5d1894/go.mod h1:mJUgkl06XV4kstAnLHAIzJPVCOzVR+ZcfPIv4fUsFCY=
-k8s.io/component-base v0.0.0-20191016111319-039242c015a9/go.mod h1:SuWowIgd/dtU/m/iv8OD9eOxp3QZBBhTIiWMsBQvKjI=
-k8s.io/cri-api v0.0.0-20190828162817-608eb1dad4ac/go.mod h1:BvtUaNBr0fEpzb11OfrQiJLsLPtqbmulpo1fPwcpP6Q=
-k8s.io/csi-translation-lib v0.0.0-20191016115521-756ffa5af0bd/go.mod h1:lf1VBseeLanBpSXD0N9tuPx1ylI8sA0j6f+rckCKiIk=
-k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
-k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
-k8s.io/gengo v0.0.0-20191010091904-7fa3014cb28f h1:eW/6wVuHNZgQJmFesyAxu0cvj0WAHHUuGaLbPcmNY3Q=
-k8s.io/gengo v0.0.0-20191010091904-7fa3014cb28f/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
-k8s.io/heapster v1.2.0-beta.1/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM=
-k8s.io/helm v2.16.1+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI=
-k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
-k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
-k8s.io/klog v0.3.3 h1:niceAagH1tzskmaie/icWd7ci1wbG7Bf2c6YGcQv+3c=
-k8s.io/klog v0.3.3/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
-k8s.io/klog v0.4.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
-k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
-k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
-k8s.io/kube-aggregator v0.0.0-20191016112429-9587704a8ad4/go.mod h1:+aW0UZgSXdTSHTIFnWnueEuXjOqerDUxGIw6Ygr+vYY=
-k8s.io/kube-controller-manager v0.0.0-20191016114939-2b2b218dc1df/go.mod h1:WgrTcPKYAfNa9C0LV1UeK+XqfbSOUH1WGq/vX5UiW40=
-k8s.io/kube-openapi v0.0.0-20190320154901-5e45bb682580/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
-k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
-k8s.io/kube-openapi v0.0.0-20190918143330-0270cf2f1c1d h1:Xpe6sK+RY4ZgCTyZ3y273UmFmURhjtoJiwOMbQsXitY=
-k8s.io/kube-openapi v0.0.0-20190918143330-0270cf2f1c1d/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
-k8s.io/kube-proxy v0.0.0-20191016114407-2e83b6f20229/go.mod h1:2Hxci1uzXO5ipP0h9n2+h18fvNkBTpYlckk5dOPu8zg=
-k8s.io/kube-scheduler v0.0.0-20191016114748-65049c67a58b/go.mod h1:BgDUHHC5Wl0xcBUQgo2XEprE5nG5i9tlRR4iNgEFbL0=
-k8s.io/kube-state-metrics v1.7.2/go.mod h1:U2Y6DRi07sS85rmVPmBFlmv+2peBcL8IWGjM+IjYA/E=
-k8s.io/kubectl v0.0.0-20191016120415-2ed914427d51/go.mod h1:gL826ZTIfD4vXTGlmzgTbliCAT9NGiqpCqK2aNYv5MQ=
-k8s.io/kubelet v0.0.0-20191016114556-7841ed97f1b2/go.mod h1:SBvrtLbuePbJygVXGGCMtWKH07+qrN2dE1iMnteSG8E=
-k8s.io/kubernetes v1.16.0/go.mod h1:nlP2zevWKRGKuaaVbKIwozU0Rjg9leVDXkL4YTtjmVs=
-k8s.io/kubernetes v1.16.2/go.mod h1:SmhGgKfQ30imqjFVj8AI+iW+zSyFsswNErKYeTfgoH0=
-k8s.io/legacy-cloud-providers v0.0.0-20191016115753-cf0698c3a16b/go.mod h1:tKW3pKqdRW8pMveUTpF5pJuCjQxg6a25iLo+Z9BXVH0=
-k8s.io/metrics v0.0.0-20191016113814-3b1a734dba6e/go.mod h1:ve7/vMWeY5lEBkZf6Bt5TTbGS3b8wAxwGbdXAsufjRs=
-k8s.io/repo-infra v0.0.0-20181204233714-00fe14e3d1a3/go.mod h1:+G1xBfZDfVFsm1Tj/HNCvg4QqWx8rJ2Fxpqr1rqp/gQ=
-k8s.io/sample-apiserver v0.0.0-20191016112829-06bb3c9d77c9/go.mod h1:sXltHZrQa4jdKL14nOFRRUhhzpmbnRF0qGuAhRQbaxc=
-k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
-k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE=
-k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-k8s.io/utils v0.0.0-20191010214722-8d271d903fe4 h1:Gi+/O1saihwDqnlmC8Vhv1M5Sp4+rbOmK9TbsLn8ZEA=
-k8s.io/utils v0.0.0-20191010214722-8d271d903fe4/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-knative.dev/eventing v0.12.0 h1:u3Ck5+dpr2affDlsGfRKnBTb87Is/tfzWNfZz1FSAMI=
-knative.dev/eventing v0.12.0/go.mod h1:UxweNv8yXhsdHJitcb9R6rmfNaUD2DFi9GWwNRyIs58=
-knative.dev/eventing v0.13.8/go.mod h1:UxweNv8yXhsdHJitcb9R6rmfNaUD2DFi9GWwNRyIs58=
-knative.dev/eventing v0.14.1 h1:YmnEl3IBVRkBcVYWPMWZegRGifeI7ibcA9xuhHWvAaw=
-knative.dev/eventing v0.14.1/go.mod h1:UxweNv8yXhsdHJitcb9R6rmfNaUD2DFi9GWwNRyIs58=
-knative.dev/pkg v0.0.0-20200113182502-b8dc5fbc6d2f h1:EFhlUkg97lfwyAxsNZUqbmHxVzQ0YpPdNyf/o16WkAw=
-knative.dev/pkg v0.0.0-20200113182502-b8dc5fbc6d2f/go.mod h1:pgODObA1dTyhNoFxPZTTjNWfx6F0aKsKzn+vaT9XO/Q=
-knative.dev/pkg v0.0.0-20200410152005-2a1db869228c h1:+Ob3pOC0WuNFxKv2UdMGkC0FGSbWC24FvJleJ8+Lp1A=
-knative.dev/pkg v0.0.0-20200410152005-2a1db869228c/go.mod h1:pgODObA1dTyhNoFxPZTTjNWfx6F0aKsKzn+vaT9XO/Q=
-knative.dev/serving v0.12.1 h1:ZL5pJ5rZq7vNGuhBlG2hU7dp9WnTJLlv2WfwoP9crQk=
-knative.dev/serving v0.12.1/go.mod h1:x2n255JS2XBI39tmjZ8CwTxIf9EKNMCrkVuiOttLRm0=
-knative.dev/serving v0.14.0 h1:9iDyOqTciNuAh2D5KJP0soOq23FDR4HQHdIQNBQ/rAE=
-knative.dev/serving v0.14.0/go.mod h1:x2n255JS2XBI39tmjZ8CwTxIf9EKNMCrkVuiOttLRm0=
-modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
-modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
-modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
-modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
-modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
-rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
-rsc.io/letsencrypt v0.0.1/go.mod h1:buyQKZ6IXrRnB7TdkHP0RyEybLx18HHyOSoTyoOLqNY=
-sigs.k8s.io/controller-runtime v0.4.0 h1:wATM6/m+3w8lj8FXNaO6Fs/rq/vqoOjO1Q116Z9NPsg=
-sigs.k8s.io/controller-runtime v0.4.0/go.mod h1:ApC79lpY3PHW9xj/w9pj+lYkLgwAAUZwfXkME1Lajns=
-sigs.k8s.io/controller-tools v0.2.4/go.mod h1:m/ztfQNocGYBgTTCmFdnK94uVvgxeZeE3LtJvd/jIzA=
-sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
-sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
-sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
-sigs.k8s.io/testing_frameworks v0.1.2 h1:vK0+tvjF0BZ/RYFeZ1E6BYBwHJJXhjuZ3TdsEKH+UQM=
-sigs.k8s.io/testing_frameworks v0.1.2/go.mod h1:ToQrwSC3s8Xf/lADdZp3Mktcql9CG0UAmdJG9th5i0w=
-sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
-sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
-vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc/go.mod h1:so/NYdZXCz+E3ZpW0uAoCj6uzU2+8OWDFv/HxUSs7kI=