You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2022/10/19 01:07:12 UTC

[camel-karavan] branch main updated: Fixed CSVMetadata

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

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git


The following commit(s) were added to refs/heads/main by this push:
     new edb761a  Fixed CSVMetadata
edb761a is described below

commit edb761a06f5259b60bae5c63919fc449ba30ea3e
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Tue Oct 18 21:07:02 2022 -0400

    Fixed CSVMetadata
---
 .../operator/spec/KaravanOperatorCSVMetadata.java  | 122 ++++++++++++++++++++-
 1 file changed, 117 insertions(+), 5 deletions(-)

diff --git a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java
index e6f1ae1..2b37272 100644
--- a/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java
+++ b/karavan-operator/src/main/java/org/apache/camel/karavan/operator/spec/KaravanOperatorCSVMetadata.java
@@ -68,12 +68,15 @@ import io.quarkiverse.operatorsdk.bundle.runtime.SharedCSVMetadata;
                 "```\n",
         permissionRules = {
                 @CSVMetadata.PermissionRule(apiGroups = "camel.apache.org", resources = {"karavans", "karavans/status", "karavans/finalizers"}),
-                @CSVMetadata.PermissionRule(apiGroups = "rbac.authorization.k8s.io", resources = {"roles", "rolebindings"}),
-                @CSVMetadata.PermissionRule(apiGroups = {"apps"}, resources = {"deployments", "services", "routes", "persistentvolumes", "persistentvolumeclaims"}),
-                @CSVMetadata.PermissionRule(apiGroups = {""}, resources = {"serviceaccounts", "secrets", "configmaps"}),
-                @CSVMetadata.PermissionRule(apiGroups = {"tekton.dev"}, resources = {"pipelinetasks", "pipelines"}),
+                @CSVMetadata.PermissionRule(apiGroups = "rbac.authorization.k8s.io", resources = {"roles", "rolebindings", "clusterroles", "clusterrolebindings"}),
+                @CSVMetadata.PermissionRule(apiGroups = {"image.openshift.io"}, resources = {"imagestreams", "imagestreams/layers"}),
+                @CSVMetadata.PermissionRule(apiGroups = {"route.openshift.io"}, resources = {"routes"}),
                 @CSVMetadata.PermissionRule(apiGroups = {"networking.k8s.io"}, resources = {"ingresses"}),
-                @CSVMetadata.PermissionRule(apiGroups = {"operators.coreos.com"}, resources = {"catalogsources"}),
+                @CSVMetadata.PermissionRule(apiGroups = {"apps"}, resources = {"deployments"}),
+                @CSVMetadata.PermissionRule(apiGroups = {""}, resources = {"serviceaccounts", "secrets", "configmaps", "services", "persistentvolumes", "persistentvolumeclaims"}),
+                @CSVMetadata.PermissionRule(apiGroups = {"operators.coreos.com"}, resources = {"subscriptions"}, verbs = {"get", "list", "watch"}),
+                @CSVMetadata.PermissionRule(apiGroups = {"tekton.dev"}, resources = {"tasks", "pipelines"}),
+                @CSVMetadata.PermissionRule(apiGroups = {"apiextensions.k8s.io"}, resources = {"customresourcedefinitions"}, verbs = {"get", "list", "watch"}),
         },
         keywords = {"apache", "camel", "karavan", "integration", "microservices", "low-code"},
         version = "3.18.5",
@@ -87,3 +90,112 @@ import io.quarkiverse.operatorsdk.bundle.runtime.SharedCSVMetadata;
 )
 public class KaravanOperatorCSVMetadata implements SharedCSVMetadata {
 }
+
+// TODO: Prepared for quarkus-operator-sdk 4.0.4+
+//package org.apache.camel.karavan.operator.spec;
+//
+//        import io.quarkiverse.operatorsdk.bundle.runtime.CSVMetadata;
+//        import io.quarkiverse.operatorsdk.bundle.runtime.SharedCSVMetadata;
+//
+//@CSVMetadata(
+//        name = "camel-karavan-operator.v3.18.5",
+//        annotations = @CSVMetadata.Annotations(
+//                containerImage = "ghcr.io/apache/camel-karavan-operator:3.18.5",
+//                repository = "https://github.com/apache/camel-karavan",
+//                capabilities = "Basic Install",
+//                categories = "Developer Tools, Integration & Delivery",
+//                certified = false,
+//                almExamples = "[\n" +
+//                        "  {\n" +
+//                        "    \"apiVersion\": \"camel.apache.org/v1\",\n" +
+//                        "    \"kind\": \"Karavan\",\n" +
+//                        "    \"metadata\": {\n" +
+//                        "      \"labels\": {\n" +
+//                        "        \"app\": \"karavan\"\n" +
+//                        "      },\n" +
+//                        "      \"name\": \"karavan\"\n" +
+//                        "    },\n" +
+//                        "    \"spec\": {\n" +
+//                        "      \"instances\": 1,\n" +
+//                        "      \"auth\": \"public\",\n" +
+//                        "      \"type\": \"dev\"\n" +
+//                        "    }\n" +
+//                        "  }\n" +
+//                        "]"
+//        ),
+//        displayName = "Camel Karavan Operator",
+//        description = "Apache Camel Karavan\n" +
+//                "====================\n" +
+//                "Karavan is an Integration Toolkit for Apache Camel, which makes integration easy and fun through the visualization of pipelines,\n" +
+//                "integration with runtimes and package, image build and deploy to kubernetes out-of-the-box.\n" +
+//                "\n" +
+//                "## Installation\n" +
+//                "\n" +
+//                "1. Install Apache Camel Karavan Operator\n" +
+//                "2. Install Tekton operator\n" +
+//                "3. Create namespace, ex: `karavan`\n" +
+//                "4. Create `Secret` in the namespace, ex:\n" +
+//                "```\n" +
+//                "kind: Secret\n" +
+//                "apiVersion: v1\n" +
+//                "metadata:\n" +
+//                "  name: karavan\n" +
+//                "  namespace: karavan\n" +
+//                "type: Opaque\n" +
+//                "stringData:\n" +
+//                "  master-password: karavan\n" +
+//                "  oidc-secret: secret\n" +
+//                "  oidc-server-url: https://hostname/auth/realms/karavan\n" +
+//                "  oidc-frontend-url: https://hostname/auth\n" +
+//                "  projects-git-repository: https://github.com/repository/projects.git\n" +
+//                "  projects-git-password: password\n" +
+//                "  projects-git-username: username\n" +
+//                "  projects-git-branch: main\n" +
+//                "  kamelets-git-repository: https://github.com/repository/kamelets.git\n" +
+//                "  kamelets-git-password: password\n" +
+//                "  kamelets-git-username: username\n" +
+//                "  kamelets-git-branch: main\n" +
+//                "  image-registry: image-registry.openshift-image-registry.svc:5000\n" +
+//                "```\n" +
+//                "5. Create `Karavan` instance in the namespace, ex:\n" +
+//                "```\n" +
+//                "apiVersion: camel.apache.org/v1\n" +
+//                "kind: Karavan\n" +
+//                "metadata:\n" +
+//                "  name: karavan\n" +
+//                "  namespace: karavan\n" +
+//                "spec:\n" +
+//                "  instances: 1\n" +
+//                "  auth: public\n" +
+//                "```\n",
+//        permissionRules = {
+//                @CSVMetadata.PermissionRule(apiGroups = "camel.apache.org", resources = {"karavans", "karavans/status", "karavans/finalizers"}),
+//                @CSVMetadata.PermissionRule(apiGroups = "rbac.authorization.k8s.io", resources = {"roles", "rolebindings", "clusterroles", "clusterrolebindings"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {"image.openshift.io"}, resources = {"imagestreams", "imagestreams/layers"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {"route.openshift.io"}, resources = {"routes"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {"networking.k8s.io"}, resources = {"ingresses"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {"apps"}, resources = {"deployments"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {""}, resources = {"serviceaccounts", "secrets", "configmaps", "services", "persistentvolumes", "persistentvolumeclaims"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {"operators.coreos.com"}, resources = {"subscriptions"}, verbs = {"get", "list", "watch"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {"tekton.dev"}, resources = {"tasks", "pipelines"}),
+//                @CSVMetadata.PermissionRule(apiGroups = {"apiextensions.k8s.io"}, resources = {"customresourcedefinitions"}, verbs = {"get", "list", "watch"}),
+//        },
+//        keywords = {"apache", "camel", "karavan", "integration", "microservices", "low-code"},
+//        version = "3.18.5",
+//        maintainers = @CSVMetadata.Maintainer(name = "The Apache Software Foundation", email = "users@camel.apache.org"),
+//        provider = @CSVMetadata.Provider(name = "The Apache Software Foundation"),
+//        maturity = "alpha",
+//        minKubeVersion = "1.11.0",
+//        icon = @CSVMetadata.Icon(
+//                base64data = "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnNTAiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiIgY2xhc3M9ImxvZ28iPjxkZWZzIGlkPSJkZWZzMzEiPjxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyR3JhZGllbnQxMzUxIj48c3RvcCBpZD0ic3RvcDEzNDciIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2RjZmZmZiIgc3RvcC1vcGFjaXR5PSIxIj48L3N0b3A+PHN0b3AgaWQ9InN0 [...]
+//        ),
+//        installModes = {
+//                @CSVMetadata.InstallMode(type = "AllNamespaces")
+//        },
+//        links =  {
+//                @CSVMetadata.Link(name = "Apache Camel Karavan source code repository", url = "https://github.com/apache/camel-karavan")
+//        }
+//)
+//public class KaravanOperatorCSVMetadata implements SharedCSVMetadata {
+//}
+