From 923cf898473dcc23ca9e20f906f7dfac515387ab Mon Sep 17 00:00:00 2001 From: Otavio Rodolfo Piske Date: Thu, 22 Jul 2021 16:20:57 +0200 Subject: [PATCH] Added Velocity-based templates for the Kamelets --- templates/init-template.kamelet.yaml.vm | 65 +++++++++++++++++++++++++ templates/init-template.properties | 40 +++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 templates/init-template.kamelet.yaml.vm create mode 100644 templates/init-template.properties diff --git a/templates/init-template.kamelet.yaml.vm b/templates/init-template.kamelet.yaml.vm new file mode 100644 index 000000000..98f9c82e2 --- /dev/null +++ b/templates/init-template.kamelet.yaml.vm @@ -0,0 +1,65 @@ +apiVersion: camel.apache.org/v1alpha1 +kind: Kamelet +metadata: + name: $kameletMetadataName + annotations: + camel.apache.org/kamelet.icon: $kameletMetadataIcon + camel.apache.org/kamelet.support.level: $kameletMetadataSupportLevel + camel.apache.org/provider: "$kameletMetadataProvider" + camel.apache.org/catalog.version: "$kameletMetadataCataLogVersion" + camel.apache.org/kamelet.group: "$kameletMetadataKameletGroup" + labels: + camel.apache.org/kamelet.type: "$kameletMetadataKameletType" +#if ($kameletMetadataRequiresRuntime != '') + camel.apache.org/requires.runtime: $kameletMetadataRequiresRuntime +#end +spec: + definition: + title: "$kameletSpecTitle" + description: "$kameletSpecDescription" +#if ($requiredKameletProperties.size() > 0) + required: +#foreach( $requiredKameletProperty in $requiredKameletProperties ) + - $requiredKameletProperty +#end +#end + type: object +#foreach( $kameletProperty in $kameletProperties ) + properties: + $kameletProperty: + title: "$kameletProperty" + description: "The description for $kameletProperty" + type: string + default: "default value" +#end + dependencies: + - "${kamelet.dependency}" + flow: +#if ($kameletBeans.size() > 0) + beans: +#end +#foreach( $kameletBean in $kameletBeans ) + - name: myBean + type: "#class:org.group.MyBean" +# Fill or remove the bean properties below if required +# property: +# - key: property +# value: '{{beanPropertyValue1}}' +#end + from: + uri: "$kameletFromUri" +#if ($fromParameters.size() > 0) + parameters: +#end +#foreach( $fromParameter in $fromParameters ) + $fromParameter: "Value for $fromParameter" +#end + steps: + - to: + uri: "$kameletToUri" +#if ($toParameters.size() > 0) + parameters: +#end +#foreach( $toParameter in $toParameters ) + $toParameter: "Value for $toParameter" +#end \ No newline at end of file diff --git a/templates/init-template.properties b/templates/init-template.properties new file mode 100644 index 000000000..62bf458ba --- /dev/null +++ b/templates/init-template.properties @@ -0,0 +1,40 @@ +# The name of the Kamelet +kameletMetadataName=my-sample-sink +# The icon for the Kamelet +kameletMetadataIcon= +# All of the kamelets are in Preview support level at the moment +kameletMetadataSupportLevel=Preview + +# The provider +kameletMetadataProvider=Apache Software Foundation + +# The catalog version +kameletMetadataCataLogVersion=main-SNAPSHOT +# The group for the kamelet +kameletMetadataKameletGroup= +# One of sink, source or action +kameletMetadataKameletType=sink + +# The required runtime +kameletMetadataRequiresRuntime= + +# The title for the Kamelet +kameletSpecTitle= + +# The description for the Kamelet +kameletSpecDescription= + +# Properties +kameletProperties=myProperty1,myProperty2,myProperty3 +requiredKameletProperties=myProperty1,myProperty2 + +# (Optional) Beans used in the kamelet +kameletBeans=myBean1,myBean2 + +# The from URI +kameletFromUri=kamelet:source +fromParameters=fromParam1,fromParam2 + +# The to URI +kameletToUri=log:info +toParameters=toParam1,toParam2 \ No newline at end of file