You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2021/08/23 07:52:45 UTC

[camel-kamelets] branch main updated: Added support for generating YAML binding template files (#465)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 144632e  Added support for generating YAML binding template files (#465)
144632e is described below

commit 144632edbe53ab4c2fb0c55425e426f5d76208d3
Author: Otavio Rodolfo Piske <or...@users.noreply.github.com>
AuthorDate: Mon Aug 23 09:52:38 2021 +0200

    Added support for generating YAML binding template files (#465)
    
    * Added support for generating YAML binding template files
    
    * Added support for generating YAML bindings for Camel Core
---
 script/generator/generator.go                      | 134 +++++++++++++++++----
 .../camel-k/avro-deserialize-action-binding.yaml   |  24 ++++
 .../camel-k/avro-serialize-action-binding.yaml     |  24 ++++
 .../camel-k/aws-cloudwatch-sink-binding.yaml       |  21 ++++
 .../camel-k/aws-ddb-streams-source-binding.yaml    |  21 ++++
 .../bindings/camel-k/aws-ec2-sink-binding.yaml     |  20 +++
 .../camel-k/aws-kinesis-firehose-sink-binding.yaml |  21 ++++
 .../bindings/camel-k/aws-kinesis-sink-binding.yaml |  21 ++++
 .../camel-k/aws-kinesis-source-binding.yaml        |  21 ++++
 .../bindings/camel-k/aws-lambda-sink-binding.yaml  |  21 ++++
 .../bindings/camel-k/aws-s3-sink-binding.yaml      |  21 ++++
 .../bindings/camel-k/aws-s3-source-binding.yaml    |  21 ++++
 .../aws-s3-streaming-upload-sink-binding.yaml      |  22 ++++
 .../camel-k/aws-sns-fifo-sink-binding.yaml         |  21 ++++
 .../bindings/camel-k/aws-sns-sink-binding.yaml     |  21 ++++
 .../camel-k/aws-sqs-batch-sink-binding.yaml        |  22 ++++
 .../camel-k/aws-sqs-fifo-sink-binding.yaml         |  21 ++++
 .../bindings/camel-k/aws-sqs-sink-binding.yaml     |  21 ++++
 .../bindings/camel-k/aws-sqs-source-binding.yaml   |  21 ++++
 .../camel-k/aws-translate-action-binding.yaml      |  28 +++++
 .../camel-k/azure-cosmosdb-source-binding.yaml     |  21 ++++
 .../camel-k/azure-eventhubs-sink-binding.yaml      |  21 ++++
 .../camel-k/azure-eventhubs-source-binding.yaml    |  24 ++++
 .../camel-k/azure-storage-blob-sink-binding.yaml   |  20 +++
 .../camel-k/azure-storage-blob-source-binding.yaml |  20 +++
 .../camel-k/azure-storage-queue-sink-binding.yaml  |  20 +++
 .../azure-storage-queue-source-binding.yaml        |  20 +++
 .../bindings/camel-k/bitcoin-source-binding.yaml   |  16 +++
 .../bindings/camel-k/caffeine-action-binding.yaml  |  22 ++++
 .../bindings/camel-k/cassandra-sink-binding.yaml   |  23 ++++
 .../bindings/camel-k/cassandra-source-binding.yaml |  23 ++++
 .../camel-k/chuck-norris-source-binding.yaml       |  16 +++
 .../camel-k/chunk-template-action-binding.yaml     |  24 ++++
 .../bindings/camel-k/cron-source-binding.yaml      |  19 +++
 .../bindings/camel-k/dns-dig-action-binding.yaml   |  22 ++++
 .../bindings/camel-k/dns-ip-action-binding.yaml    |  22 ++++
 .../camel-k/dns-lookup-action-binding.yaml         |  22 ++++
 .../bindings/camel-k/dropbox-sink-binding.yaml     |  20 +++
 .../bindings/camel-k/dropbox-source-binding.yaml   |  21 ++++
 .../camel-k/earthquake-source-binding.yaml         |  16 +++
 .../camel-k/elasticsearch-index-sink-binding.yaml  |  19 +++
 .../elasticsearch-search-source-binding.yaml       |  21 ++++
 templates/bindings/camel-k/exec-sink-binding.yaml  |  18 +++
 .../camel-k/extract-field-action-binding.yaml      |  24 ++++
 .../bindings/camel-k/fhir-source-binding.yaml      |  20 +++
 .../camel-k/file-watch-source-binding.yaml         |  18 +++
 .../freemarker-template-action-binding.yaml        |  24 ++++
 templates/bindings/camel-k/ftp-sink-binding.yaml   |  21 ++++
 templates/bindings/camel-k/ftp-source-binding.yaml |  21 ++++
 templates/bindings/camel-k/ftps-sink-binding.yaml  |  21 ++++
 .../bindings/camel-k/ftps-source-binding.yaml      |  21 ++++
 .../bindings/camel-k/github-source-binding.yaml    |  20 +++
 .../camel-k/google-calendar-source-binding.yaml    |  24 ++++
 .../camel-k/google-mail-source-binding.yaml        |  23 ++++
 .../camel-k/google-sheets-source-binding.yaml      |  24 ++++
 .../camel-k/has-header-filter-action-binding.yaml  |  24 ++++
 .../header-matches-filter-action-binding.yaml      |  24 ++++
 .../camel-k/hoist-field-action-binding.yaml        |  24 ++++
 .../camel-k/http-secured-sink-binding.yaml         |  18 +++
 .../camel-k/http-secured-source-binding.yaml       |  18 +++
 templates/bindings/camel-k/http-sink-binding.yaml  |  18 +++
 .../bindings/camel-k/http-source-binding.yaml      |  18 +++
 .../camel-k/infinispan-source-binding.yaml         |  21 ++++
 .../camel-k/insert-field-action-binding.yaml       |  25 ++++
 .../camel-k/insert-header-action-binding.yaml      |  25 ++++
 .../is-tombstone-filter-action-binding.yaml        |  22 ++++
 .../bindings/camel-k/jira-source-binding.yaml      |  20 +++
 .../bindings/camel-k/jms-amqp-10-sink-binding.yaml |  19 +++
 .../camel-k/jms-amqp-10-source-binding.yaml        |  19 +++
 .../camel-k/jms-apache-artemis-sink-binding.yaml   |  19 +++
 .../camel-k/jms-apache-artemis-source-binding.yaml |  19 +++
 .../camel-k/json-deserialize-action-binding.yaml   |  22 ++++
 .../json-schema-validator-action-binding.yaml      |  24 ++++
 .../camel-k/json-serialize-action-binding.yaml     |  22 ++++
 .../bindings/camel-k/jsonata-action-binding.yaml   |  24 ++++
 .../kafka-manual-commit-action-binding.yaml        |  22 ++++
 .../camel-k/kafka-not-secured-sink-binding.yaml    |  19 +++
 .../camel-k/kafka-not-secured-source-binding.yaml  |  19 +++
 templates/bindings/camel-k/kafka-sink-binding.yaml |  21 ++++
 .../bindings/camel-k/kafka-source-binding.yaml     |  21 ++++
 templates/bindings/camel-k/kamelet.yaml.tmpl       |   1 +
 templates/bindings/camel-k/log-sink-binding.yaml   |  16 +++
 .../bindings/camel-k/mail-imap-source-binding.yaml |  20 +++
 .../bindings/camel-k/mariadb-sink-binding.yaml     |  22 ++++
 .../bindings/camel-k/mariadb-source-binding.yaml   |  22 ++++
 .../camel-k/mask-field-action-binding.yaml         |  25 ++++
 .../message-timestamp-router-action-binding.yaml   |  24 ++++
 templates/bindings/camel-k/minio-sink-binding.yaml |  21 ++++
 .../bindings/camel-k/minio-source-binding.yaml     |  21 ++++
 .../bindings/camel-k/mongodb-sink-binding.yaml     |  22 ++++
 .../bindings/camel-k/mongodb-source-binding.yaml   |  22 ++++
 .../bindings/camel-k/mqtt-source-binding.yaml      |  19 +++
 .../camel-k/mustache-template-action-binding.yaml  |  24 ++++
 .../camel-k/mvel-template-action-binding.yaml      |  24 ++++
 templates/bindings/camel-k/mysql-sink-binding.yaml |  22 ++++
 .../bindings/camel-k/mysql-source-binding.yaml     |  22 ++++
 templates/bindings/camel-k/nats-sink-binding.yaml  |  19 +++
 .../bindings/camel-k/nats-source-binding.yaml      |  19 +++
 .../openai-classification-action-binding.yaml      |  24 ++++
 .../camel-k/openai-completion-action-binding.yaml  |  24 ++++
 templates/bindings/camel-k/pdf-action-binding.yaml |  22 ++++
 .../bindings/camel-k/postgresql-sink-binding.yaml  |  22 ++++
 .../camel-k/postgresql-source-binding.yaml         |  22 ++++
 .../camel-k/predicate-filter-action-binding.yaml   |  24 ++++
 .../protobuf-deserialize-action-binding.yaml       |  24 ++++
 .../camel-k/protobuf-serialize-action-binding.yaml |  24 ++++
 .../bindings/camel-k/rabbitmq-source-binding.yaml  |  21 ++++
 .../camel-k/regex-router-action-binding.yaml       |  25 ++++
 .../camel-k/replace-field-action-binding.yaml      |  26 ++++
 .../camel-k/salesforce-source-binding.yaml         |  23 ++++
 templates/bindings/camel-k/sftp-sink-binding.yaml  |  21 ++++
 .../bindings/camel-k/sftp-source-binding.yaml      |  21 ++++
 templates/bindings/camel-k/slack-sink-binding.yaml |  19 +++
 .../bindings/camel-k/slack-source-binding.yaml     |  19 +++
 .../bindings/camel-k/sqlserver-sink-binding.yaml   |  22 ++++
 .../bindings/camel-k/sqlserver-source-binding.yaml |  22 ++++
 templates/bindings/camel-k/ssh-source-binding.yaml |  21 ++++
 .../camel-k/string-template-action-binding.yaml    |  24 ++++
 .../bindings/camel-k/telegram-sink-binding.yaml    |  18 +++
 .../bindings/camel-k/telegram-source-binding.yaml  |  18 +++
 .../bindings/camel-k/timer-source-binding.yaml     |  18 +++
 .../camel-k/timestamp-router-action-binding.yaml   |  22 ++++
 .../topic-name-matches-filter-action-binding.yaml  |  24 ++++
 .../twitter-directmessage-source-binding.yaml      |  22 ++++
 .../camel-k/twitter-search-source-binding.yaml     |  22 ++++
 .../camel-k/twitter-timeline-source-binding.yaml   |  22 ++++
 .../camel-k/value-to-key-action-binding.yaml       |  24 ++++
 .../camel-k/velocity-template-action-binding.yaml  |  24 ++++
 .../bindings/camel-k/webhook-source-binding.yaml   |  16 +++
 .../core/avro-deserialize-action-binding.yaml      |  13 ++
 .../core/avro-serialize-action-binding.yaml        |  13 ++
 .../bindings/core/aws-cloudwatch-sink-binding.yaml |  15 +++
 .../core/aws-ddb-streams-source-binding.yaml       |  12 ++
 templates/bindings/core/aws-ec2-sink-binding.yaml  |  14 +++
 .../core/aws-kinesis-firehose-sink-binding.yaml    |  15 +++
 .../bindings/core/aws-kinesis-sink-binding.yaml    |  15 +++
 .../bindings/core/aws-kinesis-source-binding.yaml  |  12 ++
 .../bindings/core/aws-lambda-sink-binding.yaml     |  15 +++
 templates/bindings/core/aws-s3-sink-binding.yaml   |  15 +++
 templates/bindings/core/aws-s3-source-binding.yaml |  12 ++
 .../core/aws-s3-streaming-upload-sink-binding.yaml |  16 +++
 .../bindings/core/aws-sns-fifo-sink-binding.yaml   |  15 +++
 templates/bindings/core/aws-sns-sink-binding.yaml  |  15 +++
 .../bindings/core/aws-sqs-batch-sink-binding.yaml  |  16 +++
 .../bindings/core/aws-sqs-fifo-sink-binding.yaml   |  15 +++
 templates/bindings/core/aws-sqs-sink-binding.yaml  |  15 +++
 .../bindings/core/aws-sqs-source-binding.yaml      |  12 ++
 .../core/aws-translate-action-binding.yaml         |  17 +++
 .../core/azure-cosmosdb-source-binding.yaml        |  12 ++
 .../core/azure-eventhubs-sink-binding.yaml         |  15 +++
 .../core/azure-eventhubs-source-binding.yaml       |  15 +++
 .../core/azure-storage-blob-sink-binding.yaml      |  14 +++
 .../core/azure-storage-blob-source-binding.yaml    |  11 ++
 .../core/azure-storage-queue-sink-binding.yaml     |  14 +++
 .../core/azure-storage-queue-source-binding.yaml   |  11 ++
 .../bindings/core/bitcoin-source-binding.yaml      |   7 ++
 .../bindings/core/caffeine-action-binding.yaml     |  11 ++
 .../bindings/core/cassandra-sink-binding.yaml      |  17 +++
 .../bindings/core/cassandra-source-binding.yaml    |  14 +++
 .../bindings/core/chuck-norris-source-binding.yaml |   7 ++
 .../core/chunk-template-action-binding.yaml        |  13 ++
 templates/bindings/core/cron-source-binding.yaml   |  10 ++
 .../bindings/core/dns-dig-action-binding.yaml      |  11 ++
 templates/bindings/core/dns-ip-action-binding.yaml |  11 ++
 .../bindings/core/dns-lookup-action-binding.yaml   |  11 ++
 templates/bindings/core/dropbox-sink-binding.yaml  |  14 +++
 .../bindings/core/dropbox-source-binding.yaml      |  12 ++
 .../bindings/core/earthquake-source-binding.yaml   |   7 ++
 .../core/elasticsearch-index-sink-binding.yaml     |  13 ++
 .../core/elasticsearch-search-source-binding.yaml  |  12 ++
 templates/bindings/core/exec-sink-binding.yaml     |  12 ++
 .../core/extract-field-action-binding.yaml         |  13 ++
 templates/bindings/core/fhir-source-binding.yaml   |  11 ++
 .../bindings/core/file-watch-source-binding.yaml   |   9 ++
 .../core/freemarker-template-action-binding.yaml   |  13 ++
 templates/bindings/core/ftp-sink-binding.yaml      |  15 +++
 templates/bindings/core/ftp-source-binding.yaml    |  12 ++
 templates/bindings/core/ftps-sink-binding.yaml     |  15 +++
 templates/bindings/core/ftps-source-binding.yaml   |  12 ++
 templates/bindings/core/github-source-binding.yaml |  11 ++
 .../core/google-calendar-source-binding.yaml       |  15 +++
 .../bindings/core/google-mail-source-binding.yaml  |  14 +++
 .../core/google-sheets-source-binding.yaml         |  15 +++
 .../core/has-header-filter-action-binding.yaml     |  13 ++
 .../core/header-matches-filter-action-binding.yaml |  13 ++
 .../bindings/core/hoist-field-action-binding.yaml  |  13 ++
 .../bindings/core/http-secured-sink-binding.yaml   |  12 ++
 .../bindings/core/http-secured-source-binding.yaml |   9 ++
 templates/bindings/core/http-sink-binding.yaml     |  12 ++
 templates/bindings/core/http-source-binding.yaml   |   9 ++
 .../bindings/core/infinispan-source-binding.yaml   |  12 ++
 .../bindings/core/insert-field-action-binding.yaml |  14 +++
 .../core/insert-header-action-binding.yaml         |  14 +++
 .../core/is-tombstone-filter-action-binding.yaml   |  11 ++
 templates/bindings/core/jira-source-binding.yaml   |  11 ++
 .../bindings/core/jms-amqp-10-sink-binding.yaml    |  13 ++
 .../bindings/core/jms-amqp-10-source-binding.yaml  |  10 ++
 .../core/jms-apache-artemis-sink-binding.yaml      |  13 ++
 .../core/jms-apache-artemis-source-binding.yaml    |  10 ++
 .../core/json-deserialize-action-binding.yaml      |  11 ++
 .../core/json-schema-validator-action-binding.yaml |  13 ++
 .../core/json-serialize-action-binding.yaml        |  11 ++
 .../bindings/core/jsonata-action-binding.yaml      |  13 ++
 .../core/kafka-manual-commit-action-binding.yaml   |  11 ++
 .../core/kafka-not-secured-sink-binding.yaml       |  13 ++
 .../core/kafka-not-secured-source-binding.yaml     |  10 ++
 templates/bindings/core/kafka-sink-binding.yaml    |  15 +++
 templates/bindings/core/kafka-source-binding.yaml  |  12 ++
 .../bindings/core/kamelet-core-binding.yaml.tmpl   |  25 ++++
 templates/bindings/core/log-sink-binding.yaml      |  10 ++
 .../bindings/core/mail-imap-source-binding.yaml    |  11 ++
 templates/bindings/core/mariadb-sink-binding.yaml  |  16 +++
 .../bindings/core/mariadb-source-binding.yaml      |  13 ++
 .../bindings/core/mask-field-action-binding.yaml   |  14 +++
 .../message-timestamp-router-action-binding.yaml   |  13 ++
 templates/bindings/core/minio-sink-binding.yaml    |  15 +++
 templates/bindings/core/minio-source-binding.yaml  |  12 ++
 templates/bindings/core/mongodb-sink-binding.yaml  |  16 +++
 .../bindings/core/mongodb-source-binding.yaml      |  13 ++
 templates/bindings/core/mqtt-source-binding.yaml   |  10 ++
 .../core/mustache-template-action-binding.yaml     |  13 ++
 .../core/mvel-template-action-binding.yaml         |  13 ++
 templates/bindings/core/mysql-sink-binding.yaml    |  16 +++
 templates/bindings/core/mysql-source-binding.yaml  |  13 ++
 templates/bindings/core/nats-sink-binding.yaml     |  13 ++
 templates/bindings/core/nats-source-binding.yaml   |  10 ++
 .../core/openai-classification-action-binding.yaml |  13 ++
 .../core/openai-completion-action-binding.yaml     |  13 ++
 templates/bindings/core/parameter-list.tmpl        |   1 +
 templates/bindings/core/pdf-action-binding.yaml    |  11 ++
 .../bindings/core/postgresql-sink-binding.yaml     |  16 +++
 .../bindings/core/postgresql-source-binding.yaml   |  13 ++
 .../core/predicate-filter-action-binding.yaml      |  13 ++
 .../core/protobuf-deserialize-action-binding.yaml  |  13 ++
 .../core/protobuf-serialize-action-binding.yaml    |  13 ++
 .../bindings/core/rabbitmq-source-binding.yaml     |  12 ++
 .../bindings/core/regex-router-action-binding.yaml |  14 +++
 .../core/replace-field-action-binding.yaml         |  15 +++
 .../bindings/core/salesforce-source-binding.yaml   |  14 +++
 templates/bindings/core/sftp-sink-binding.yaml     |  15 +++
 templates/bindings/core/sftp-source-binding.yaml   |  12 ++
 templates/bindings/core/slack-sink-binding.yaml    |  13 ++
 templates/bindings/core/slack-source-binding.yaml  |  10 ++
 .../bindings/core/sqlserver-sink-binding.yaml      |  16 +++
 .../bindings/core/sqlserver-source-binding.yaml    |  13 ++
 templates/bindings/core/ssh-source-binding.yaml    |  12 ++
 .../core/string-template-action-binding.yaml       |  13 ++
 templates/bindings/core/telegram-sink-binding.yaml |  12 ++
 .../bindings/core/telegram-source-binding.yaml     |   9 ++
 templates/bindings/core/timer-source-binding.yaml  |   9 ++
 .../core/timestamp-router-action-binding.yaml      |  11 ++
 .../topic-name-matches-filter-action-binding.yaml  |  13 ++
 .../core/twitter-directmessage-source-binding.yaml |  13 ++
 .../core/twitter-search-source-binding.yaml        |  13 ++
 .../core/twitter-timeline-source-binding.yaml      |  13 ++
 .../bindings/core/value-to-key-action-binding.yaml |  13 ++
 .../core/velocity-template-action-binding.yaml     |  13 ++
 .../bindings/core/webhook-source-binding.yaml      |   7 ++
 258 files changed, 4464 insertions(+), 22 deletions(-)

diff --git a/script/generator/generator.go b/script/generator/generator.go
index b9ce662..5d2c699 100644
--- a/script/generator/generator.go
+++ b/script/generator/generator.go
@@ -27,38 +27,80 @@ func main() {
 		os.Exit(1)
 	}
 
-	dir := os.Args[1]
-	out := os.Args[2]
+	projectBaseDir := os.Args[1]
+	docBaseDir := os.Args[2]
 
 	funcMap := template.FuncMap{
 		"ToCamel": strcase.ToCamel,
 	}
 
-	templateFile := path.Join(out, "kamelet.adoc.tmpl")
-	kameletBindingFile := path.Join(out, "kamelet-binding-sink-source.tmpl")
-	propertiesListFile := path.Join(out, "properties-list.tmpl")
+	templateFile := path.Join(docBaseDir, "kamelet.adoc.tmpl")
+	kameletBindingFile := path.Join(docBaseDir, "kamelet-binding-sink-source.tmpl")
+	propertiesListFile := path.Join(docBaseDir, "properties-list.tmpl")
 
-	t, err := template.New("kamelet.adoc.tmpl").Funcs(funcMap).ParseFiles(templateFile, kameletBindingFile, propertiesListFile)
+
+
+	docTemplate, err := template.New("kamelet.adoc.tmpl").Funcs(funcMap).ParseFiles(templateFile, kameletBindingFile, propertiesListFile)
 	handleGeneralError(fmt.Sprintf("cannot load template file from %s", templateFile), err)
 
-	kamelets := listKamelets(dir)
+	camelKYamlBindingsBaseDir := filepath.Join(projectBaseDir, "templates", "bindings", "camel-k")
+	yamlTemplateFile := path.Join(camelKYamlBindingsBaseDir, "kamelet.yaml.tmpl")
+
+	yamlTemplate, err := template.New("kamelet.yaml.tmpl").Funcs(funcMap).ParseFiles(yamlTemplateFile, kameletBindingFile, propertiesListFile)
+	handleGeneralError(fmt.Sprintf("cannot load template file from %s", templateFile), err)
+
+	coreYamlBindingsBaseDir := filepath.Join(projectBaseDir, "templates", "bindings", "core")
+	coreYamlTemplateFile := path.Join(coreYamlBindingsBaseDir, "kamelet-core-binding.yaml.tmpl")
+	parameterListFile := path.Join(coreYamlBindingsBaseDir, "parameter-list.tmpl")
+
+	coreYamlTemplate, err := template.New("kamelet-core-binding.yaml.tmpl").Funcs(funcMap).ParseFiles(coreYamlTemplateFile, kameletBindingFile, parameterListFile)
+	handleGeneralError(fmt.Sprintf("cannot load template file from %s", templateFile), err)
+
+	kamelets := listKamelets(projectBaseDir)
 
 	links := make([]string, 0)
 	for _, k := range kamelets {
-		img := saveImage(k, out)
+		img := saveImage(k, docBaseDir)
 
 		ctx := NewTemplateContext(k, img)
 
-		buffer := new(bytes.Buffer)
-		err = t.Execute(buffer, &ctx)
-		handleGeneralError("cannot process template", err)
+		processDocTemplate(k, docBaseDir, err, docTemplate, &ctx)
+		links = updateImageLink(k, img, links)
 
-		produceDocFile(k, out, buffer.String())
+		processYamlTemplate(k, projectBaseDir, err, yamlTemplate, &ctx)
+		processCoreYamlTemplate(k, projectBaseDir, err, coreYamlTemplate, &ctx)
 
-		links = append(links, fmt.Sprintf("* xref:ROOT:%s.adoc[%s %s]", k.Name, img, k.Spec.Definition.Title))
 	}
 
-	saveNav(links, out)
+	saveNav(links, docBaseDir)
+}
+
+func processDocTemplate(k camel.Kamelet, baseDir string, err error, docTemplate *template.Template, ctx *TemplateContext) {
+	buffer := new(bytes.Buffer)
+	err = docTemplate.Execute(buffer, &ctx)
+	handleGeneralError("cannot process documentation template", err)
+
+	produceDocFile(k, baseDir, buffer.String())
+}
+
+func processYamlTemplate(k camel.Kamelet, baseDir string, err error, yamlTemplate *template.Template, ctx *TemplateContext) {
+	buffer := new(bytes.Buffer)
+	err = yamlTemplate.Execute(buffer, ctx)
+	handleGeneralError("cannot process yaml binding template", err)
+
+	produceBindingFile(k, baseDir, "camel-k", buffer.String())
+}
+
+func processCoreYamlTemplate(k camel.Kamelet, baseDir string, err error, yamlTemplate *template.Template, ctx *TemplateContext) {
+	buffer := new(bytes.Buffer)
+	err = yamlTemplate.Execute(buffer, ctx)
+	handleGeneralError("cannot process yaml binding template", err)
+
+	produceBindingFile(k, baseDir, "core", buffer.String())
+}
+
+func updateImageLink(k camel.Kamelet, img string, links []string) []string {
+	return append(links, fmt.Sprintf("* xref:ROOT:%s.adoc[%s %s]", k.Name, img, k.Spec.Definition.Title))
 }
 
 type TemplateContext struct {
@@ -172,6 +214,42 @@ func (ctx *TemplateContext) PropertyList() string {
 	return props
 }
 
+func (ctx *TemplateContext) ParameterList() string {
+	tp := ctx.Kamelet.ObjectMeta.Labels["camel.apache.org/kamelet.type"]
+	propDefs := getSortedProps(ctx.Kamelet)
+
+	sampleConfig := make([]string, 0)
+	for _, propDef := range propDefs {
+		if !propDef.Required {
+			continue
+		}
+		key := propDef.Name
+		if propDef.Default == nil {
+			ex := propDef.GetSampleValue()
+			sampleConfig = append(sampleConfig, fmt.Sprintf("%s: %s", key, ex))
+		}
+	}
+
+	props := ""
+
+	if len(sampleConfig) > 0 {
+		paddingSpace := ""
+		switch tp {
+		case "sink":
+			props = fmt.Sprintf("\n%10s%s:\n%12s%s", "", "parameters",
+				"", strings.Join(sampleConfig, fmt.Sprintf("\n%12s", "")))
+		case "source":
+			props = fmt.Sprintf("\n%6s%s:\n%8s%s", "", "parameters",
+				"", strings.Join(sampleConfig, fmt.Sprintf("\n%8s", "")))
+		case "action":
+			props = fmt.Sprintf("\n%10s%s:\n%12s%s", paddingSpace, "parameters",
+				"", strings.Join(sampleConfig, fmt.Sprintf("\n%8s", "")))
+		}
+	}
+
+	return props
+}
+
 func (ctx *TemplateContext) SetVal(key, val string) string {
 	ctx.TemplateProperties[key] = val
 	return ""
@@ -293,15 +371,27 @@ func saveImage(k camel.Kamelet, out string) string {
 	return ""
 }
 
-func produceDocFile(k camel.Kamelet, out string, content string) {
-	docFile := filepath.Join(out, "pages", k.Name+".adoc")
-	if _, err := os.Stat(docFile); err == nil {
-		err = os.Remove(docFile)
-		handleGeneralError(fmt.Sprintf("cannot remove file %q", docFile), err)
+func produceDocFile(k camel.Kamelet, baseDir string, content string) {
+	outputDir := filepath.Join(baseDir, "pages")
+
+	produceOutputFile(k, outputDir, content,".adoc")
+}
+
+func produceBindingFile(k camel.Kamelet, baseDir string, projectName string, content string) {
+	camelKOutputDir := filepath.Join(baseDir, "templates", "bindings", projectName)
+
+	produceOutputFile(k, camelKOutputDir, content,"-binding.yaml")
+}
+
+func produceOutputFile(k camel.Kamelet, outputDir string, content string, extension string) {
+	outputFile := filepath.Join(outputDir, k.Name + extension)
+	if _, err := os.Stat(outputFile); err == nil {
+		err = os.Remove(outputFile)
+		handleGeneralError(fmt.Sprintf("cannot remove file %q", outputFile), err)
 	}
-	err := ioutil.WriteFile(docFile, []byte(content), 0666)
-	handleGeneralError(fmt.Sprintf("cannot write to file %q", docFile), err)
-	fmt.Printf("%q written\n", docFile)
+	err := ioutil.WriteFile(outputFile, []byte(content), 0666)
+	handleGeneralError(fmt.Sprintf("cannot write to file %q", outputFile), err)
+	fmt.Printf("%q written\n", outputFile)
 }
 
 func tableLine(val ...string) string {
diff --git a/templates/bindings/camel-k/avro-deserialize-action-binding.yaml b/templates/bindings/camel-k/avro-deserialize-action-binding.yaml
new file mode 100644
index 0000000..e321c22
--- /dev/null
+++ b/templates/bindings/camel-k/avro-deserialize-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: avro-deserialize-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: avro-deserialize-action
+    properties:
+      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/avro-serialize-action-binding.yaml b/templates/bindings/camel-k/avro-serialize-action-binding.yaml
new file mode 100644
index 0000000..3aa9012
--- /dev/null
+++ b/templates/bindings/camel-k/avro-serialize-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: avro-serialize-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: avro-serialize-action
+    properties:
+      schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/aws-cloudwatch-sink-binding.yaml b/templates/bindings/camel-k/aws-cloudwatch-sink-binding.yaml
new file mode 100644
index 0000000..3506d9c
--- /dev/null
+++ b/templates/bindings/camel-k/aws-cloudwatch-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-cloudwatch-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-cloudwatch-sink
+    properties:
+      accessKey: "The Access Key"
+      cw_namespace: "The Cloud Watch Namespace"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-ddb-streams-source-binding.yaml b/templates/bindings/camel-k/aws-ddb-streams-source-binding.yaml
new file mode 100644
index 0000000..1679a4d
--- /dev/null
+++ b/templates/bindings/camel-k/aws-ddb-streams-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-ddb-streams-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-ddb-streams-source
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+      table: "The Table"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-ec2-sink-binding.yaml b/templates/bindings/camel-k/aws-ec2-sink-binding.yaml
new file mode 100644
index 0000000..7936992
--- /dev/null
+++ b/templates/bindings/camel-k/aws-ec2-sink-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-ec2-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-ec2-sink
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-kinesis-firehose-sink-binding.yaml b/templates/bindings/camel-k/aws-kinesis-firehose-sink-binding.yaml
new file mode 100644
index 0000000..0840e1d
--- /dev/null
+++ b/templates/bindings/camel-k/aws-kinesis-firehose-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-kinesis-firehose-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-kinesis-firehose-sink
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+      streamName: "The Stream Name"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-kinesis-sink-binding.yaml b/templates/bindings/camel-k/aws-kinesis-sink-binding.yaml
new file mode 100644
index 0000000..d272322
--- /dev/null
+++ b/templates/bindings/camel-k/aws-kinesis-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-kinesis-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-kinesis-sink
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+      stream: "The Stream Name"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-kinesis-source-binding.yaml b/templates/bindings/camel-k/aws-kinesis-source-binding.yaml
new file mode 100644
index 0000000..f610bbf
--- /dev/null
+++ b/templates/bindings/camel-k/aws-kinesis-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-kinesis-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-kinesis-source
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+      stream: "The Stream Name"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-lambda-sink-binding.yaml b/templates/bindings/camel-k/aws-lambda-sink-binding.yaml
new file mode 100644
index 0000000..2348493
--- /dev/null
+++ b/templates/bindings/camel-k/aws-lambda-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-lambda-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-lambda-sink
+    properties:
+      accessKey: "The Access Key"
+      function: "The Function Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-s3-sink-binding.yaml b/templates/bindings/camel-k/aws-s3-sink-binding.yaml
new file mode 100644
index 0000000..9df609d
--- /dev/null
+++ b/templates/bindings/camel-k/aws-s3-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-s3-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-s3-sink
+    properties:
+      accessKey: "The Access Key"
+      bucketNameOrArn: "The Bucket Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-s3-source-binding.yaml b/templates/bindings/camel-k/aws-s3-source-binding.yaml
new file mode 100644
index 0000000..03f9684
--- /dev/null
+++ b/templates/bindings/camel-k/aws-s3-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-s3-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-s3-source
+    properties:
+      accessKey: "The Access Key"
+      bucketNameOrArn: "The Bucket Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-s3-streaming-upload-sink-binding.yaml b/templates/bindings/camel-k/aws-s3-streaming-upload-sink-binding.yaml
new file mode 100644
index 0000000..1ced5fe
--- /dev/null
+++ b/templates/bindings/camel-k/aws-s3-streaming-upload-sink-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-s3-streaming-upload-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-s3-streaming-upload-sink
+    properties:
+      accessKey: "The Access Key"
+      bucketNameOrArn: "The Bucket Name"
+      keyName: "The Key Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-sns-fifo-sink-binding.yaml b/templates/bindings/camel-k/aws-sns-fifo-sink-binding.yaml
new file mode 100644
index 0000000..5e93c42
--- /dev/null
+++ b/templates/bindings/camel-k/aws-sns-fifo-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-sns-fifo-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-sns-fifo-sink
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+      topicNameOrArn: "The Topic Name"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-sns-sink-binding.yaml b/templates/bindings/camel-k/aws-sns-sink-binding.yaml
new file mode 100644
index 0000000..d63c422
--- /dev/null
+++ b/templates/bindings/camel-k/aws-sns-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-sns-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-sns-sink
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+      topicNameOrArn: "The Topic Name"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-sqs-batch-sink-binding.yaml b/templates/bindings/camel-k/aws-sqs-batch-sink-binding.yaml
new file mode 100644
index 0000000..f781f30
--- /dev/null
+++ b/templates/bindings/camel-k/aws-sqs-batch-sink-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-sqs-batch-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-sqs-batch-sink
+    properties:
+      accessKey: "The Access Key"
+      batchSeparator: ","
+      queueNameOrArn: "The Queue Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-sqs-fifo-sink-binding.yaml b/templates/bindings/camel-k/aws-sqs-fifo-sink-binding.yaml
new file mode 100644
index 0000000..8c6e06d
--- /dev/null
+++ b/templates/bindings/camel-k/aws-sqs-fifo-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-sqs-fifo-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-sqs-fifo-sink
+    properties:
+      accessKey: "The Access Key"
+      queueNameOrArn: "The Queue Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-sqs-sink-binding.yaml b/templates/bindings/camel-k/aws-sqs-sink-binding.yaml
new file mode 100644
index 0000000..3e97fe0
--- /dev/null
+++ b/templates/bindings/camel-k/aws-sqs-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-sqs-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-sqs-sink
+    properties:
+      accessKey: "The Access Key"
+      queueNameOrArn: "The Queue Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-sqs-source-binding.yaml b/templates/bindings/camel-k/aws-sqs-source-binding.yaml
new file mode 100644
index 0000000..006835a
--- /dev/null
+++ b/templates/bindings/camel-k/aws-sqs-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-sqs-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-sqs-source
+    properties:
+      accessKey: "The Access Key"
+      queueNameOrArn: "The Queue Name"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/aws-translate-action-binding.yaml b/templates/bindings/camel-k/aws-translate-action-binding.yaml
new file mode 100644
index 0000000..cd3d749
--- /dev/null
+++ b/templates/bindings/camel-k/aws-translate-action-binding.yaml
@@ -0,0 +1,28 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: aws-translate-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: aws-translate-action
+    properties:
+      accessKey: "The Access Key"
+      region: "eu-west-1"
+      secretKey: "The Secret Key"
+      sourceLanguage: "it"
+      targetLanguage: "en"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/azure-cosmosdb-source-binding.yaml b/templates/bindings/camel-k/azure-cosmosdb-source-binding.yaml
new file mode 100644
index 0000000..11a9ae3
--- /dev/null
+++ b/templates/bindings/camel-k/azure-cosmosdb-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: azure-cosmosdb-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: azure-cosmosdb-source
+    properties:
+      accountKey: "The Account Key"
+      containerName: "The Container Name"
+      databaseEndpoint: "The Database Endpoint"
+      databaseName: "The Database Name"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/azure-eventhubs-sink-binding.yaml b/templates/bindings/camel-k/azure-eventhubs-sink-binding.yaml
new file mode 100644
index 0000000..17da35e
--- /dev/null
+++ b/templates/bindings/camel-k/azure-eventhubs-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: azure-eventhubs-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: azure-eventhubs-sink
+    properties:
+      eventhubName: "The Eventhubs Name"
+      namespaceName: "The Eventhubs Namespace"
+      sharedAccessKey: "The Share Access Key"
+      sharedAccessName: "The Share Access Name"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/azure-eventhubs-source-binding.yaml b/templates/bindings/camel-k/azure-eventhubs-source-binding.yaml
new file mode 100644
index 0000000..68951fb
--- /dev/null
+++ b/templates/bindings/camel-k/azure-eventhubs-source-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: azure-eventhubs-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: azure-eventhubs-source
+    properties:
+      blobAccessKey: "The Azure Storage Blob Access Key"
+      blobAccountName: "The Azure Storage Blob Account Name"
+      blobContainerName: "The Azure Storage Blob Container Name"
+      eventhubName: "The Eventhubs Name"
+      namespaceName: "The Eventhubs Namespace"
+      sharedAccessKey: "The Share Access Key"
+      sharedAccessName: "The Share Access Name"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/azure-storage-blob-sink-binding.yaml b/templates/bindings/camel-k/azure-storage-blob-sink-binding.yaml
new file mode 100644
index 0000000..493fbd8
--- /dev/null
+++ b/templates/bindings/camel-k/azure-storage-blob-sink-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: azure-storage-blob-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: azure-storage-blob-sink
+    properties:
+      accessKey: "The Access Key"
+      accountName: "The Account Name"
+      containerName: "The Container Name"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/azure-storage-blob-source-binding.yaml b/templates/bindings/camel-k/azure-storage-blob-source-binding.yaml
new file mode 100644
index 0000000..86f36c5
--- /dev/null
+++ b/templates/bindings/camel-k/azure-storage-blob-source-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: azure-storage-blob-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: azure-storage-blob-source
+    properties:
+      accessKey: "The Access Key"
+      accountName: "The Account Name"
+      containerName: "The Container Name"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/azure-storage-queue-sink-binding.yaml b/templates/bindings/camel-k/azure-storage-queue-sink-binding.yaml
new file mode 100644
index 0000000..aebb8a3
--- /dev/null
+++ b/templates/bindings/camel-k/azure-storage-queue-sink-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: azure-storage-queue-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: azure-storage-queue-sink
+    properties:
+      accessKey: "The Access Key"
+      accountName: "The Account Name"
+      queueName: "The Queue Name"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/azure-storage-queue-source-binding.yaml b/templates/bindings/camel-k/azure-storage-queue-source-binding.yaml
new file mode 100644
index 0000000..67cd361
--- /dev/null
+++ b/templates/bindings/camel-k/azure-storage-queue-source-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: azure-storage-queue-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: azure-storage-queue-source
+    properties:
+      accessKey: "The Access Key"
+      accountName: "The Account Name"
+      queueName: "The Queue Name"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/bitcoin-source-binding.yaml b/templates/bindings/camel-k/bitcoin-source-binding.yaml
new file mode 100644
index 0000000..a3d77ea
--- /dev/null
+++ b/templates/bindings/camel-k/bitcoin-source-binding.yaml
@@ -0,0 +1,16 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: bitcoin-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: bitcoin-source
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/caffeine-action-binding.yaml b/templates/bindings/camel-k/caffeine-action-binding.yaml
new file mode 100644
index 0000000..ed6cb66
--- /dev/null
+++ b/templates/bindings/camel-k/caffeine-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: caffeine-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: caffeine-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/cassandra-sink-binding.yaml b/templates/bindings/camel-k/cassandra-sink-binding.yaml
new file mode 100644
index 0000000..0ab8ac4
--- /dev/null
+++ b/templates/bindings/camel-k/cassandra-sink-binding.yaml
@@ -0,0 +1,23 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: cassandra-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: cassandra-sink
+    properties:
+      connectionHost: "localhost"
+      connectionPort: 9042
+      keyspace: "customers"
+      password: "The Password"
+      preparedStatement: "The Prepared Statement"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/cassandra-source-binding.yaml b/templates/bindings/camel-k/cassandra-source-binding.yaml
new file mode 100644
index 0000000..328f174
--- /dev/null
+++ b/templates/bindings/camel-k/cassandra-source-binding.yaml
@@ -0,0 +1,23 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: cassandra-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: cassandra-source
+    properties:
+      connectionHost: "localhost"
+      connectionPort: 9042
+      keyspace: "customers"
+      password: "The Password"
+      query: "The Query"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/chuck-norris-source-binding.yaml b/templates/bindings/camel-k/chuck-norris-source-binding.yaml
new file mode 100644
index 0000000..8e57b27
--- /dev/null
+++ b/templates/bindings/camel-k/chuck-norris-source-binding.yaml
@@ -0,0 +1,16 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: chuck-norris-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: chuck-norris-source
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/chunk-template-action-binding.yaml b/templates/bindings/camel-k/chunk-template-action-binding.yaml
new file mode 100644
index 0000000..d5fb7b6
--- /dev/null
+++ b/templates/bindings/camel-k/chunk-template-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: chunk-template-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: chunk-template-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/cron-source-binding.yaml b/templates/bindings/camel-k/cron-source-binding.yaml
new file mode 100644
index 0000000..3acfed2
--- /dev/null
+++ b/templates/bindings/camel-k/cron-source-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: cron-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: cron-source
+    properties:
+      message: "hello world"
+      schedule: "0/3 10 * * * ?"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/dns-dig-action-binding.yaml b/templates/bindings/camel-k/dns-dig-action-binding.yaml
new file mode 100644
index 0000000..30f2a2b
--- /dev/null
+++ b/templates/bindings/camel-k/dns-dig-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: dns-dig-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: dns-dig-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/dns-ip-action-binding.yaml b/templates/bindings/camel-k/dns-ip-action-binding.yaml
new file mode 100644
index 0000000..d573379
--- /dev/null
+++ b/templates/bindings/camel-k/dns-ip-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: dns-ip-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: dns-ip-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/dns-lookup-action-binding.yaml b/templates/bindings/camel-k/dns-lookup-action-binding.yaml
new file mode 100644
index 0000000..b2b9ceb
--- /dev/null
+++ b/templates/bindings/camel-k/dns-lookup-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: dns-lookup-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: dns-lookup-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/dropbox-sink-binding.yaml b/templates/bindings/camel-k/dropbox-sink-binding.yaml
new file mode 100644
index 0000000..02c494b
--- /dev/null
+++ b/templates/bindings/camel-k/dropbox-sink-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: dropbox-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: dropbox-sink
+    properties:
+      accessToken: "The Dropbox Access Token"
+      clientIdentifier: "The Client Identifier"
+      remotePath: "The Remote Path"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/dropbox-source-binding.yaml b/templates/bindings/camel-k/dropbox-source-binding.yaml
new file mode 100644
index 0000000..4ad3b91
--- /dev/null
+++ b/templates/bindings/camel-k/dropbox-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: dropbox-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: dropbox-source
+    properties:
+      accessToken: "The Dropbox Access Token"
+      clientIdentifier: "The Client Identifier"
+      query: "The Queries"
+      remotePath: "The Remote Path"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/earthquake-source-binding.yaml b/templates/bindings/camel-k/earthquake-source-binding.yaml
new file mode 100644
index 0000000..649f070
--- /dev/null
+++ b/templates/bindings/camel-k/earthquake-source-binding.yaml
@@ -0,0 +1,16 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: earthquake-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: earthquake-source
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/elasticsearch-index-sink-binding.yaml b/templates/bindings/camel-k/elasticsearch-index-sink-binding.yaml
new file mode 100644
index 0000000..b13b289
--- /dev/null
+++ b/templates/bindings/camel-k/elasticsearch-index-sink-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: elasticsearch-index-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: elasticsearch-index-sink
+    properties:
+      clusterName: "quickstart"
+      hostAddresses: "quickstart-es-http:9200"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/elasticsearch-search-source-binding.yaml b/templates/bindings/camel-k/elasticsearch-search-source-binding.yaml
new file mode 100644
index 0000000..e30f5db
--- /dev/null
+++ b/templates/bindings/camel-k/elasticsearch-search-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: elasticsearch-search-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: elasticsearch-search-source
+    properties:
+      clusterName: "The ElasticSearch Cluster Name"
+      hostAddresses: "The Host Addresses"
+      indexName: "The Index in ElasticSearch"
+      query: "The Query"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/exec-sink-binding.yaml b/templates/bindings/camel-k/exec-sink-binding.yaml
new file mode 100644
index 0000000..24ccd41
--- /dev/null
+++ b/templates/bindings/camel-k/exec-sink-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: exec-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: exec-sink
+    properties:
+      executable: "The Executable Command"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/extract-field-action-binding.yaml b/templates/bindings/camel-k/extract-field-action-binding.yaml
new file mode 100644
index 0000000..5257b8d
--- /dev/null
+++ b/templates/bindings/camel-k/extract-field-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: extract-field-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: extract-field-action
+    properties:
+      field: "The Field"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/fhir-source-binding.yaml b/templates/bindings/camel-k/fhir-source-binding.yaml
new file mode 100644
index 0000000..1d1f8c8
--- /dev/null
+++ b/templates/bindings/camel-k/fhir-source-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: fhir-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: fhir-source
+    properties:
+      password: "The Password"
+      serverUrl: "The Server URL"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/file-watch-source-binding.yaml b/templates/bindings/camel-k/file-watch-source-binding.yaml
new file mode 100644
index 0000000..5cad401
--- /dev/null
+++ b/templates/bindings/camel-k/file-watch-source-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: file-watch-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: file-watch-source
+    properties:
+      filePath: "The Path to Watch"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/freemarker-template-action-binding.yaml b/templates/bindings/camel-k/freemarker-template-action-binding.yaml
new file mode 100644
index 0000000..ad3054c
--- /dev/null
+++ b/templates/bindings/camel-k/freemarker-template-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: freemarker-template-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: freemarker-template-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/ftp-sink-binding.yaml b/templates/bindings/camel-k/ftp-sink-binding.yaml
new file mode 100644
index 0000000..b75e368
--- /dev/null
+++ b/templates/bindings/camel-k/ftp-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: ftp-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: ftp-sink
+    properties:
+      connectionHost: "The Connection Host"
+      directoryName: "The Directory Name"
+      password: "The Password"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/ftp-source-binding.yaml b/templates/bindings/camel-k/ftp-source-binding.yaml
new file mode 100644
index 0000000..9201455
--- /dev/null
+++ b/templates/bindings/camel-k/ftp-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: ftp-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: ftp-source
+    properties:
+      connectionHost: "The Connection Host"
+      directoryName: "The Directory Name"
+      password: "The Password"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/ftps-sink-binding.yaml b/templates/bindings/camel-k/ftps-sink-binding.yaml
new file mode 100644
index 0000000..3708d27
--- /dev/null
+++ b/templates/bindings/camel-k/ftps-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: ftps-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: ftps-sink
+    properties:
+      connectionHost: "The Connection Host"
+      directoryName: "The Directory Name"
+      password: "The Password"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/ftps-source-binding.yaml b/templates/bindings/camel-k/ftps-source-binding.yaml
new file mode 100644
index 0000000..e2e9d92
--- /dev/null
+++ b/templates/bindings/camel-k/ftps-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: ftps-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: ftps-source
+    properties:
+      connectionHost: "The Connection Host"
+      directoryName: "The Directory Name"
+      password: "The Password"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/github-source-binding.yaml b/templates/bindings/camel-k/github-source-binding.yaml
new file mode 100644
index 0000000..066fca3
--- /dev/null
+++ b/templates/bindings/camel-k/github-source-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: github-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: github-source
+    properties:
+      oauthToken: "The OAuth Token"
+      repoName: "The Repository Name"
+      repoOwner: "The Repository Owner"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/google-calendar-source-binding.yaml b/templates/bindings/camel-k/google-calendar-source-binding.yaml
new file mode 100644
index 0000000..f9d3eb2
--- /dev/null
+++ b/templates/bindings/camel-k/google-calendar-source-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-calendar-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-calendar-source
+    properties:
+      accessToken: "The Access Token"
+      applicationName: "The Application name"
+      calendarId: "The Calendar ID"
+      clientId: "The Client Id"
+      clientSecret: "The Client Secret"
+      index: "The Index"
+      refreshToken: "The Refresh Token"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/google-mail-source-binding.yaml b/templates/bindings/camel-k/google-mail-source-binding.yaml
new file mode 100644
index 0000000..46289d1
--- /dev/null
+++ b/templates/bindings/camel-k/google-mail-source-binding.yaml
@@ -0,0 +1,23 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-mail-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-mail-source
+    properties:
+      accessToken: "The Access Token"
+      applicationName: "The Application name"
+      clientId: "The Client ID"
+      clientSecret: "The Client Secret"
+      index: "The Index"
+      refreshToken: "The Refresh Token"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/google-sheets-source-binding.yaml b/templates/bindings/camel-k/google-sheets-source-binding.yaml
new file mode 100644
index 0000000..9b2f9fd
--- /dev/null
+++ b/templates/bindings/camel-k/google-sheets-source-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-sheets-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-sheets-source
+    properties:
+      accessToken: "The Access Token"
+      applicationName: "The Application name"
+      clientId: "The Client Id"
+      clientSecret: "The Client Secret"
+      index: "The Index"
+      refreshToken: "The Refresh Token"
+      spreadsheetId: "The Spreadsheet ID"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/has-header-filter-action-binding.yaml b/templates/bindings/camel-k/has-header-filter-action-binding.yaml
new file mode 100644
index 0000000..0b90c1f
--- /dev/null
+++ b/templates/bindings/camel-k/has-header-filter-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: has-header-filter-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: has-header-filter-action
+    properties:
+      name: "headerName"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/header-matches-filter-action-binding.yaml b/templates/bindings/camel-k/header-matches-filter-action-binding.yaml
new file mode 100644
index 0000000..2ca7380
--- /dev/null
+++ b/templates/bindings/camel-k/header-matches-filter-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: header-matches-filter-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: header-matches-filter-action
+    properties:
+      regex: "The Regex"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/hoist-field-action-binding.yaml b/templates/bindings/camel-k/hoist-field-action-binding.yaml
new file mode 100644
index 0000000..53df547
--- /dev/null
+++ b/templates/bindings/camel-k/hoist-field-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: hoist-field-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: hoist-field-action
+    properties:
+      field: "The Field"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/http-secured-sink-binding.yaml b/templates/bindings/camel-k/http-secured-sink-binding.yaml
new file mode 100644
index 0000000..6fe4c42
--- /dev/null
+++ b/templates/bindings/camel-k/http-secured-sink-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: http-secured-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: http-secured-sink
+    properties:
+      url: "https://my-service/path"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/http-secured-source-binding.yaml b/templates/bindings/camel-k/http-secured-source-binding.yaml
new file mode 100644
index 0000000..858ccfd
--- /dev/null
+++ b/templates/bindings/camel-k/http-secured-source-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: http-secured-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: http-secured-source
+    properties:
+      url: "https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/http-sink-binding.yaml b/templates/bindings/camel-k/http-sink-binding.yaml
new file mode 100644
index 0000000..b6db07c
--- /dev/null
+++ b/templates/bindings/camel-k/http-sink-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: http-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: http-sink
+    properties:
+      url: "https://my-service/path"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/http-source-binding.yaml b/templates/bindings/camel-k/http-source-binding.yaml
new file mode 100644
index 0000000..2815f28
--- /dev/null
+++ b/templates/bindings/camel-k/http-source-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: http-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: http-source
+    properties:
+      url: "https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/infinispan-source-binding.yaml b/templates/bindings/camel-k/infinispan-source-binding.yaml
new file mode 100644
index 0000000..acc5f99
--- /dev/null
+++ b/templates/bindings/camel-k/infinispan-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: infinispan-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: infinispan-source
+    properties:
+      cacheName: "The Cache Name"
+      hosts: "The Hosts"
+      password: "The Password"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/insert-field-action-binding.yaml b/templates/bindings/camel-k/insert-field-action-binding.yaml
new file mode 100644
index 0000000..9749e58
--- /dev/null
+++ b/templates/bindings/camel-k/insert-field-action-binding.yaml
@@ -0,0 +1,25 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: insert-field-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: insert-field-action
+    properties:
+      field: "The Field"
+      value: "The Value"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/insert-header-action-binding.yaml b/templates/bindings/camel-k/insert-header-action-binding.yaml
new file mode 100644
index 0000000..82560fa
--- /dev/null
+++ b/templates/bindings/camel-k/insert-header-action-binding.yaml
@@ -0,0 +1,25 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: insert-header-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: insert-header-action
+    properties:
+      name: "headername"
+      value: "The Value"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/is-tombstone-filter-action-binding.yaml b/templates/bindings/camel-k/is-tombstone-filter-action-binding.yaml
new file mode 100644
index 0000000..848938f
--- /dev/null
+++ b/templates/bindings/camel-k/is-tombstone-filter-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: is-tombstone-filter-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: is-tombstone-filter-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/jira-source-binding.yaml b/templates/bindings/camel-k/jira-source-binding.yaml
new file mode 100644
index 0000000..dcb3511
--- /dev/null
+++ b/templates/bindings/camel-k/jira-source-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jira-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jira-source
+    properties:
+      jiraUrl: "http://my_jira.com:8081"
+      password: "The Password"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/jms-amqp-10-sink-binding.yaml b/templates/bindings/camel-k/jms-amqp-10-sink-binding.yaml
new file mode 100644
index 0000000..bc8515b
--- /dev/null
+++ b/templates/bindings/camel-k/jms-amqp-10-sink-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jms-amqp-10-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jms-amqp-10-sink
+    properties:
+      destinationName: "The Destination Name"
+      remoteURI: "amqp://my-host:31616"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/jms-amqp-10-source-binding.yaml b/templates/bindings/camel-k/jms-amqp-10-source-binding.yaml
new file mode 100644
index 0000000..fc1aa99
--- /dev/null
+++ b/templates/bindings/camel-k/jms-amqp-10-source-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jms-amqp-10-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jms-amqp-10-source
+    properties:
+      destinationName: "The Destination Name"
+      remoteURI: "amqp://my-host:31616"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/jms-apache-artemis-sink-binding.yaml b/templates/bindings/camel-k/jms-apache-artemis-sink-binding.yaml
new file mode 100644
index 0000000..89f3783
--- /dev/null
+++ b/templates/bindings/camel-k/jms-apache-artemis-sink-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jms-apache-artemis-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jms-apache-artemis-sink
+    properties:
+      brokerURL: "tcp://my-host:61616"
+      destinationName: "person"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/jms-apache-artemis-source-binding.yaml b/templates/bindings/camel-k/jms-apache-artemis-source-binding.yaml
new file mode 100644
index 0000000..9b722dc
--- /dev/null
+++ b/templates/bindings/camel-k/jms-apache-artemis-source-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jms-apache-artemis-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jms-apache-artemis-source
+    properties:
+      brokerURL: "tcp://k3s-node-master.usersys.redhat.com:31616"
+      destinationName: "The Destination Name"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/json-deserialize-action-binding.yaml b/templates/bindings/camel-k/json-deserialize-action-binding.yaml
new file mode 100644
index 0000000..864302a
--- /dev/null
+++ b/templates/bindings/camel-k/json-deserialize-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: json-deserialize-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: json-deserialize-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/json-schema-validator-action-binding.yaml b/templates/bindings/camel-k/json-schema-validator-action-binding.yaml
new file mode 100644
index 0000000..f74ddf3
--- /dev/null
+++ b/templates/bindings/camel-k/json-schema-validator-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: json-schema-validator-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: json-schema-validator-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/json-serialize-action-binding.yaml b/templates/bindings/camel-k/json-serialize-action-binding.yaml
new file mode 100644
index 0000000..14b4755
--- /dev/null
+++ b/templates/bindings/camel-k/json-serialize-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: json-serialize-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: json-serialize-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/jsonata-action-binding.yaml b/templates/bindings/camel-k/jsonata-action-binding.yaml
new file mode 100644
index 0000000..226b9e4
--- /dev/null
+++ b/templates/bindings/camel-k/jsonata-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jsonata-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jsonata-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/kafka-manual-commit-action-binding.yaml b/templates/bindings/camel-k/kafka-manual-commit-action-binding.yaml
new file mode 100644
index 0000000..0a1265c
--- /dev/null
+++ b/templates/bindings/camel-k/kafka-manual-commit-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-manual-commit-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-manual-commit-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/kafka-not-secured-sink-binding.yaml b/templates/bindings/camel-k/kafka-not-secured-sink-binding.yaml
new file mode 100644
index 0000000..cbfbe31
--- /dev/null
+++ b/templates/bindings/camel-k/kafka-not-secured-sink-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-not-secured-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-not-secured-sink
+    properties:
+      brokers: "The Brokers"
+      topic: "The Topic Names"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/kafka-not-secured-source-binding.yaml b/templates/bindings/camel-k/kafka-not-secured-source-binding.yaml
new file mode 100644
index 0000000..bbc4bfe
--- /dev/null
+++ b/templates/bindings/camel-k/kafka-not-secured-source-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-not-secured-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-not-secured-source
+    properties:
+      brokers: "The Brokers"
+      topic: "The Topic Names"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/kafka-sink-binding.yaml b/templates/bindings/camel-k/kafka-sink-binding.yaml
new file mode 100644
index 0000000..acb775d
--- /dev/null
+++ b/templates/bindings/camel-k/kafka-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-sink
+    properties:
+      bootstrapServers: "The Brokers"
+      password: "The Password"
+      topic: "The Topic Names"
+      user: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/kafka-source-binding.yaml b/templates/bindings/camel-k/kafka-source-binding.yaml
new file mode 100644
index 0000000..ef5359c
--- /dev/null
+++ b/templates/bindings/camel-k/kafka-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-source
+    properties:
+      bootstrapServers: "The Brokers"
+      password: "The Password"
+      topic: "The Topic Names"
+      user: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/kamelet.yaml.tmpl b/templates/bindings/camel-k/kamelet.yaml.tmpl
new file mode 100644
index 0000000..8918860
--- /dev/null
+++ b/templates/bindings/camel-k/kamelet.yaml.tmpl
@@ -0,0 +1 @@
+{{ template "kamelet-binding-sink-source.tmpl" . }}
\ No newline at end of file
diff --git a/templates/bindings/camel-k/log-sink-binding.yaml b/templates/bindings/camel-k/log-sink-binding.yaml
new file mode 100644
index 0000000..0069daa
--- /dev/null
+++ b/templates/bindings/camel-k/log-sink-binding.yaml
@@ -0,0 +1,16 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: log-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: log-sink
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mail-imap-source-binding.yaml b/templates/bindings/camel-k/mail-imap-source-binding.yaml
new file mode 100644
index 0000000..54ae476
--- /dev/null
+++ b/templates/bindings/camel-k/mail-imap-source-binding.yaml
@@ -0,0 +1,20 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mail-imap-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mail-imap-source
+    properties:
+      connectionHost: "imap.gmail.com"
+      password: "The Password"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mariadb-sink-binding.yaml b/templates/bindings/camel-k/mariadb-sink-binding.yaml
new file mode 100644
index 0000000..67c5e26
--- /dev/null
+++ b/templates/bindings/camel-k/mariadb-sink-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mariadb-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mariadb-sink
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mariadb-source-binding.yaml b/templates/bindings/camel-k/mariadb-source-binding.yaml
new file mode 100644
index 0000000..cc02a13
--- /dev/null
+++ b/templates/bindings/camel-k/mariadb-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mariadb-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mariadb-source
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mask-field-action-binding.yaml b/templates/bindings/camel-k/mask-field-action-binding.yaml
new file mode 100644
index 0000000..5bb25b3
--- /dev/null
+++ b/templates/bindings/camel-k/mask-field-action-binding.yaml
@@ -0,0 +1,25 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mask-field-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mask-field-action
+    properties:
+      fields: "The Fields"
+      replacement: "The Replacement"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/message-timestamp-router-action-binding.yaml b/templates/bindings/camel-k/message-timestamp-router-action-binding.yaml
new file mode 100644
index 0000000..36b427a
--- /dev/null
+++ b/templates/bindings/camel-k/message-timestamp-router-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: message-timestamp-router-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: message-timestamp-router-action
+    properties:
+      timestampKeys: "The Timestamp Keys"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/minio-sink-binding.yaml b/templates/bindings/camel-k/minio-sink-binding.yaml
new file mode 100644
index 0000000..e276b3c
--- /dev/null
+++ b/templates/bindings/camel-k/minio-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: minio-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: minio-sink
+    properties:
+      accessKey: "The Access Key"
+      bucketName: "The Bucket Name"
+      endpoint: "http://localhost:9000"
+      secretKey: "The Secret Key"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/minio-source-binding.yaml b/templates/bindings/camel-k/minio-source-binding.yaml
new file mode 100644
index 0000000..35f06ec
--- /dev/null
+++ b/templates/bindings/camel-k/minio-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: minio-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: minio-source
+    properties:
+      accessKey: "The Access Key"
+      bucketName: "The Bucket Name"
+      endpoint: "http://localhost:9000"
+      secretKey: "The Secret Key"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mongodb-sink-binding.yaml b/templates/bindings/camel-k/mongodb-sink-binding.yaml
new file mode 100644
index 0000000..e08a75a
--- /dev/null
+++ b/templates/bindings/camel-k/mongodb-sink-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mongodb-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mongodb-sink
+    properties:
+      collection: "The MongoDB Collection"
+      database: "The MongoDB Database"
+      hosts: "The MongoDB Hosts"
+      password: "The MongoDB Password"
+      username: "The MongoDB Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mongodb-source-binding.yaml b/templates/bindings/camel-k/mongodb-source-binding.yaml
new file mode 100644
index 0000000..84b7c4f
--- /dev/null
+++ b/templates/bindings/camel-k/mongodb-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mongodb-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mongodb-source
+    properties:
+      collection: "The MongoDB Collection"
+      database: "The MongoDB Database"
+      hosts: "The MongoDB Hosts"
+      password: "The MongoDB Password"
+      username: "The MongoDB Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mqtt-source-binding.yaml b/templates/bindings/camel-k/mqtt-source-binding.yaml
new file mode 100644
index 0000000..fd02ac7
--- /dev/null
+++ b/templates/bindings/camel-k/mqtt-source-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mqtt-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mqtt-source
+    properties:
+      brokerUrl: "tcp://mosquitto:1883"
+      topic: "mytopic"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mustache-template-action-binding.yaml b/templates/bindings/camel-k/mustache-template-action-binding.yaml
new file mode 100644
index 0000000..da4327d
--- /dev/null
+++ b/templates/bindings/camel-k/mustache-template-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mustache-template-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mustache-template-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/mvel-template-action-binding.yaml b/templates/bindings/camel-k/mvel-template-action-binding.yaml
new file mode 100644
index 0000000..0334c19
--- /dev/null
+++ b/templates/bindings/camel-k/mvel-template-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mvel-template-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mvel-template-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/mysql-sink-binding.yaml b/templates/bindings/camel-k/mysql-sink-binding.yaml
new file mode 100644
index 0000000..5ce32e9
--- /dev/null
+++ b/templates/bindings/camel-k/mysql-sink-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mysql-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mysql-sink
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/mysql-source-binding.yaml b/templates/bindings/camel-k/mysql-source-binding.yaml
new file mode 100644
index 0000000..4cebc0d
--- /dev/null
+++ b/templates/bindings/camel-k/mysql-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mysql-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mysql-source
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/nats-sink-binding.yaml b/templates/bindings/camel-k/nats-sink-binding.yaml
new file mode 100644
index 0000000..d4cede7
--- /dev/null
+++ b/templates/bindings/camel-k/nats-sink-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: nats-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: nats-sink
+    properties:
+      servers: "The Servers"
+      topic: "The Topic"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/nats-source-binding.yaml b/templates/bindings/camel-k/nats-source-binding.yaml
new file mode 100644
index 0000000..59d3245
--- /dev/null
+++ b/templates/bindings/camel-k/nats-source-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: nats-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: nats-source
+    properties:
+      servers: "The Servers"
+      topic: "The Topic"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/openai-classification-action-binding.yaml b/templates/bindings/camel-k/openai-classification-action-binding.yaml
new file mode 100644
index 0000000..dc10126
--- /dev/null
+++ b/templates/bindings/camel-k/openai-classification-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: openai-classification-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: openai-classification-action
+    properties:
+      authorizationToken: "The Authorization Token"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/openai-completion-action-binding.yaml b/templates/bindings/camel-k/openai-completion-action-binding.yaml
new file mode 100644
index 0000000..c40fcce
--- /dev/null
+++ b/templates/bindings/camel-k/openai-completion-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: openai-completion-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: openai-completion-action
+    properties:
+      authorizationToken: "The Authorization Token"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/pdf-action-binding.yaml b/templates/bindings/camel-k/pdf-action-binding.yaml
new file mode 100644
index 0000000..a606f11
--- /dev/null
+++ b/templates/bindings/camel-k/pdf-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: pdf-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: pdf-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/postgresql-sink-binding.yaml b/templates/bindings/camel-k/postgresql-sink-binding.yaml
new file mode 100644
index 0000000..d90472d
--- /dev/null
+++ b/templates/bindings/camel-k/postgresql-sink-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: postgresql-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: postgresql-sink
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/postgresql-source-binding.yaml b/templates/bindings/camel-k/postgresql-source-binding.yaml
new file mode 100644
index 0000000..e1b15a7
--- /dev/null
+++ b/templates/bindings/camel-k/postgresql-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: postgresql-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: postgresql-source
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/predicate-filter-action-binding.yaml b/templates/bindings/camel-k/predicate-filter-action-binding.yaml
new file mode 100644
index 0000000..3302525
--- /dev/null
+++ b/templates/bindings/camel-k/predicate-filter-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: predicate-filter-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: predicate-filter-action
+    properties:
+      expression: "@.foo =~ /.*John/"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/protobuf-deserialize-action-binding.yaml b/templates/bindings/camel-k/protobuf-deserialize-action-binding.yaml
new file mode 100644
index 0000000..71e9b7f
--- /dev/null
+++ b/templates/bindings/camel-k/protobuf-deserialize-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: protobuf-deserialize-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: protobuf-deserialize-action
+    properties:
+      schema: "message Person { required string first = 1; required string last = 2; }"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/protobuf-serialize-action-binding.yaml b/templates/bindings/camel-k/protobuf-serialize-action-binding.yaml
new file mode 100644
index 0000000..54032fb
--- /dev/null
+++ b/templates/bindings/camel-k/protobuf-serialize-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: protobuf-serialize-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: protobuf-serialize-action
+    properties:
+      schema: "message Person { required string first = 1; required string last = 2; }"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/rabbitmq-source-binding.yaml b/templates/bindings/camel-k/rabbitmq-source-binding.yaml
new file mode 100644
index 0000000..dd39500
--- /dev/null
+++ b/templates/bindings/camel-k/rabbitmq-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: rabbitmq-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: rabbitmq-source
+    properties:
+      addresses: "The Addresses"
+      exchangeName: "The Exchange name"
+      password: "The Password"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/regex-router-action-binding.yaml b/templates/bindings/camel-k/regex-router-action-binding.yaml
new file mode 100644
index 0000000..5c268f1
--- /dev/null
+++ b/templates/bindings/camel-k/regex-router-action-binding.yaml
@@ -0,0 +1,25 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: regex-router-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: regex-router-action
+    properties:
+      regex: "The Regex"
+      replacement: "The Replacement"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/replace-field-action-binding.yaml b/templates/bindings/camel-k/replace-field-action-binding.yaml
new file mode 100644
index 0000000..f28ab30
--- /dev/null
+++ b/templates/bindings/camel-k/replace-field-action-binding.yaml
@@ -0,0 +1,26 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: replace-field-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: replace-field-action
+    properties:
+      disabled: "The Disabled"
+      enabled: "The Enabled"
+      renames: "foo:bar,c1:c2"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/salesforce-source-binding.yaml b/templates/bindings/camel-k/salesforce-source-binding.yaml
new file mode 100644
index 0000000..38c25a3
--- /dev/null
+++ b/templates/bindings/camel-k/salesforce-source-binding.yaml
@@ -0,0 +1,23 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: salesforce-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: salesforce-source
+    properties:
+      clientId: "The Consumer Key"
+      clientSecret: "The Consumer Secret"
+      password: "The Password"
+      query: "SELECT Id, Name, Email, Phone FROM Contact"
+      topicName: "ContactTopic"
+      userName: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/sftp-sink-binding.yaml b/templates/bindings/camel-k/sftp-sink-binding.yaml
new file mode 100644
index 0000000..9fcf63e
--- /dev/null
+++ b/templates/bindings/camel-k/sftp-sink-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: sftp-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: sftp-sink
+    properties:
+      connectionHost: "The Connection Host"
+      directoryName: "The Directory Name"
+      password: "The Password"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/sftp-source-binding.yaml b/templates/bindings/camel-k/sftp-source-binding.yaml
new file mode 100644
index 0000000..64f351c
--- /dev/null
+++ b/templates/bindings/camel-k/sftp-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: sftp-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: sftp-source
+    properties:
+      connectionHost: "The Connection Host"
+      directoryName: "The Directory Name"
+      password: "The Password"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/slack-sink-binding.yaml b/templates/bindings/camel-k/slack-sink-binding.yaml
new file mode 100644
index 0000000..50b5934
--- /dev/null
+++ b/templates/bindings/camel-k/slack-sink-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: slack-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: slack-sink
+    properties:
+      channel: "#myroom"
+      webhookUrl: "The Webhook URL"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/slack-source-binding.yaml b/templates/bindings/camel-k/slack-source-binding.yaml
new file mode 100644
index 0000000..58a2ca3
--- /dev/null
+++ b/templates/bindings/camel-k/slack-source-binding.yaml
@@ -0,0 +1,19 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: slack-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: slack-source
+    properties:
+      channel: "#myroom"
+      token: "The Token"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/sqlserver-sink-binding.yaml b/templates/bindings/camel-k/sqlserver-sink-binding.yaml
new file mode 100644
index 0000000..78f68d3
--- /dev/null
+++ b/templates/bindings/camel-k/sqlserver-sink-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: sqlserver-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: sqlserver-sink
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/sqlserver-source-binding.yaml b/templates/bindings/camel-k/sqlserver-source-binding.yaml
new file mode 100644
index 0000000..2c3d4a7
--- /dev/null
+++ b/templates/bindings/camel-k/sqlserver-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: sqlserver-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: sqlserver-source
+    properties:
+      databaseName: "The Database Name"
+      password: "The Password"
+      query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+      serverName: "localhost"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/ssh-source-binding.yaml b/templates/bindings/camel-k/ssh-source-binding.yaml
new file mode 100644
index 0000000..39b47d9
--- /dev/null
+++ b/templates/bindings/camel-k/ssh-source-binding.yaml
@@ -0,0 +1,21 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: ssh-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: ssh-source
+    properties:
+      connectionHost: "The Connection Host"
+      password: "The Password"
+      pollCommand: "date"
+      username: "The Username"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/string-template-action-binding.yaml b/templates/bindings/camel-k/string-template-action-binding.yaml
new file mode 100644
index 0000000..fed0532
--- /dev/null
+++ b/templates/bindings/camel-k/string-template-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: string-template-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: string-template-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/telegram-sink-binding.yaml b/templates/bindings/camel-k/telegram-sink-binding.yaml
new file mode 100644
index 0000000..9c163b0
--- /dev/null
+++ b/templates/bindings/camel-k/telegram-sink-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: telegram-sink-binding
+spec:
+  source:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  sink:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: telegram-sink
+    properties:
+      authorizationToken: "The Token"
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/telegram-source-binding.yaml b/templates/bindings/camel-k/telegram-source-binding.yaml
new file mode 100644
index 0000000..3584743
--- /dev/null
+++ b/templates/bindings/camel-k/telegram-source-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: telegram-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: telegram-source
+    properties:
+      authorizationToken: "The Token"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/timer-source-binding.yaml b/templates/bindings/camel-k/timer-source-binding.yaml
new file mode 100644
index 0000000..d8954e3
--- /dev/null
+++ b/templates/bindings/camel-k/timer-source-binding.yaml
@@ -0,0 +1,18 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: timer-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "hello world"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/timestamp-router-action-binding.yaml b/templates/bindings/camel-k/timestamp-router-action-binding.yaml
new file mode 100644
index 0000000..de0745c
--- /dev/null
+++ b/templates/bindings/camel-k/timestamp-router-action-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: timestamp-router-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timestamp-router-action
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/topic-name-matches-filter-action-binding.yaml b/templates/bindings/camel-k/topic-name-matches-filter-action-binding.yaml
new file mode 100644
index 0000000..95efebb
--- /dev/null
+++ b/templates/bindings/camel-k/topic-name-matches-filter-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: topic-name-matches-filter-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: topic-name-matches-filter-action
+    properties:
+      regex: "The Regex"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/twitter-directmessage-source-binding.yaml b/templates/bindings/camel-k/twitter-directmessage-source-binding.yaml
new file mode 100644
index 0000000..a0f025b
--- /dev/null
+++ b/templates/bindings/camel-k/twitter-directmessage-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: twitter-directmessage-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: twitter-directmessage-source
+    properties:
+      accessToken: "The Access Token"
+      accessTokenSecret: "The Access Token Secret"
+      apiKey: "The API Key"
+      apiKeySecret: "The API Key Secret"
+      user: "ApacheCamel"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/twitter-search-source-binding.yaml b/templates/bindings/camel-k/twitter-search-source-binding.yaml
new file mode 100644
index 0000000..ae312ad
--- /dev/null
+++ b/templates/bindings/camel-k/twitter-search-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: twitter-search-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: twitter-search-source
+    properties:
+      accessToken: "The Access Token"
+      accessTokenSecret: "The Access Token Secret"
+      apiKey: "The API Key"
+      apiKeySecret: "The API Key Secret"
+      keywords: "Apache Camel"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/twitter-timeline-source-binding.yaml b/templates/bindings/camel-k/twitter-timeline-source-binding.yaml
new file mode 100644
index 0000000..2d25c1d
--- /dev/null
+++ b/templates/bindings/camel-k/twitter-timeline-source-binding.yaml
@@ -0,0 +1,22 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: twitter-timeline-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: twitter-timeline-source
+    properties:
+      accessToken: "The Access Token"
+      accessTokenSecret: "The Access Token Secret"
+      apiKey: "The API Key"
+      apiKeySecret: "The API Key Secret"
+      user: "ApacheCamel"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/camel-k/value-to-key-action-binding.yaml b/templates/bindings/camel-k/value-to-key-action-binding.yaml
new file mode 100644
index 0000000..7b2dbac
--- /dev/null
+++ b/templates/bindings/camel-k/value-to-key-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: value-to-key-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: value-to-key-action
+    properties:
+      fields: "The Fields"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/velocity-template-action-binding.yaml b/templates/bindings/camel-k/velocity-template-action-binding.yaml
new file mode 100644
index 0000000..bffac1c
--- /dev/null
+++ b/templates/bindings/camel-k/velocity-template-action-binding.yaml
@@ -0,0 +1,24 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: velocity-template-action-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: timer-source
+    properties:
+      message: "Hello"
+  steps:
+  - ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: velocity-template-action
+    properties:
+      template: "The Template"
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
diff --git a/templates/bindings/camel-k/webhook-source-binding.yaml b/templates/bindings/camel-k/webhook-source-binding.yaml
new file mode 100644
index 0000000..dea39c0
--- /dev/null
+++ b/templates/bindings/camel-k/webhook-source-binding.yaml
@@ -0,0 +1,16 @@
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: webhook-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: webhook-source
+  sink:
+    ref:
+      kind: KafkaTopic
+      apiVersion: kafka.strimzi.io/v1beta1
+      name: my-topic
+  
\ No newline at end of file
diff --git a/templates/bindings/core/avro-deserialize-action-binding.yaml b/templates/bindings/core/avro-deserialize-action-binding.yaml
new file mode 100644
index 0000000..5296679
--- /dev/null
+++ b/templates/bindings/core/avro-deserialize-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:avro-deserialize-action"
+          parameters:
+            schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/avro-serialize-action-binding.yaml b/templates/bindings/core/avro-serialize-action-binding.yaml
new file mode 100644
index 0000000..b48677d
--- /dev/null
+++ b/templates/bindings/core/avro-serialize-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:avro-serialize-action"
+          parameters:
+            schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/aws-cloudwatch-sink-binding.yaml b/templates/bindings/core/aws-cloudwatch-sink-binding.yaml
new file mode 100644
index 0000000..61182e5
--- /dev/null
+++ b/templates/bindings/core/aws-cloudwatch-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-cloudwatch-sink"
+          parameters:
+            accessKey: "The Access Key"
+            cw_namespace: "The Cloud Watch Namespace"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-ddb-streams-source-binding.yaml b/templates/bindings/core/aws-ddb-streams-source-binding.yaml
new file mode 100644
index 0000000..7d61326
--- /dev/null
+++ b/templates/bindings/core/aws-ddb-streams-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:aws-ddb-streams-source"
+      parameters:
+        accessKey: "The Access Key"
+        region: "eu-west-1"
+        secretKey: "The Secret Key"
+        table: "The Table"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-ec2-sink-binding.yaml b/templates/bindings/core/aws-ec2-sink-binding.yaml
new file mode 100644
index 0000000..facab8b
--- /dev/null
+++ b/templates/bindings/core/aws-ec2-sink-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-ec2-sink"
+          parameters:
+            accessKey: "The Access Key"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-kinesis-firehose-sink-binding.yaml b/templates/bindings/core/aws-kinesis-firehose-sink-binding.yaml
new file mode 100644
index 0000000..ace0845
--- /dev/null
+++ b/templates/bindings/core/aws-kinesis-firehose-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-kinesis-firehose-sink"
+          parameters:
+            accessKey: "The Access Key"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+            streamName: "The Stream Name"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-kinesis-sink-binding.yaml b/templates/bindings/core/aws-kinesis-sink-binding.yaml
new file mode 100644
index 0000000..c31d107
--- /dev/null
+++ b/templates/bindings/core/aws-kinesis-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-kinesis-sink"
+          parameters:
+            accessKey: "The Access Key"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+            stream: "The Stream Name"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-kinesis-source-binding.yaml b/templates/bindings/core/aws-kinesis-source-binding.yaml
new file mode 100644
index 0000000..22db6b2
--- /dev/null
+++ b/templates/bindings/core/aws-kinesis-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:aws-kinesis-source"
+      parameters:
+        accessKey: "The Access Key"
+        region: "eu-west-1"
+        secretKey: "The Secret Key"
+        stream: "The Stream Name"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-lambda-sink-binding.yaml b/templates/bindings/core/aws-lambda-sink-binding.yaml
new file mode 100644
index 0000000..67d014a
--- /dev/null
+++ b/templates/bindings/core/aws-lambda-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-lambda-sink"
+          parameters:
+            accessKey: "The Access Key"
+            function: "The Function Name"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-s3-sink-binding.yaml b/templates/bindings/core/aws-s3-sink-binding.yaml
new file mode 100644
index 0000000..6e65768
--- /dev/null
+++ b/templates/bindings/core/aws-s3-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-s3-sink"
+          parameters:
+            accessKey: "The Access Key"
+            bucketNameOrArn: "The Bucket Name"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-s3-source-binding.yaml b/templates/bindings/core/aws-s3-source-binding.yaml
new file mode 100644
index 0000000..461ef4c
--- /dev/null
+++ b/templates/bindings/core/aws-s3-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:aws-s3-source"
+      parameters:
+        accessKey: "The Access Key"
+        bucketNameOrArn: "The Bucket Name"
+        region: "eu-west-1"
+        secretKey: "The Secret Key"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-s3-streaming-upload-sink-binding.yaml b/templates/bindings/core/aws-s3-streaming-upload-sink-binding.yaml
new file mode 100644
index 0000000..c1c0464
--- /dev/null
+++ b/templates/bindings/core/aws-s3-streaming-upload-sink-binding.yaml
@@ -0,0 +1,16 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-s3-streaming-upload-sink"
+          parameters:
+            accessKey: "The Access Key"
+            bucketNameOrArn: "The Bucket Name"
+            keyName: "The Key Name"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-sns-fifo-sink-binding.yaml b/templates/bindings/core/aws-sns-fifo-sink-binding.yaml
new file mode 100644
index 0000000..763da80
--- /dev/null
+++ b/templates/bindings/core/aws-sns-fifo-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-sns-fifo-sink"
+          parameters:
+            accessKey: "The Access Key"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+            topicNameOrArn: "The Topic Name"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-sns-sink-binding.yaml b/templates/bindings/core/aws-sns-sink-binding.yaml
new file mode 100644
index 0000000..6d412f8
--- /dev/null
+++ b/templates/bindings/core/aws-sns-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-sns-sink"
+          parameters:
+            accessKey: "The Access Key"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+            topicNameOrArn: "The Topic Name"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-sqs-batch-sink-binding.yaml b/templates/bindings/core/aws-sqs-batch-sink-binding.yaml
new file mode 100644
index 0000000..797096b
--- /dev/null
+++ b/templates/bindings/core/aws-sqs-batch-sink-binding.yaml
@@ -0,0 +1,16 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-sqs-batch-sink"
+          parameters:
+            accessKey: "The Access Key"
+            batchSeparator: ","
+            queueNameOrArn: "The Queue Name"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-sqs-fifo-sink-binding.yaml b/templates/bindings/core/aws-sqs-fifo-sink-binding.yaml
new file mode 100644
index 0000000..432ed4a
--- /dev/null
+++ b/templates/bindings/core/aws-sqs-fifo-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-sqs-fifo-sink"
+          parameters:
+            accessKey: "The Access Key"
+            queueNameOrArn: "The Queue Name"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-sqs-sink-binding.yaml b/templates/bindings/core/aws-sqs-sink-binding.yaml
new file mode 100644
index 0000000..cf82403
--- /dev/null
+++ b/templates/bindings/core/aws-sqs-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:aws-sqs-sink"
+          parameters:
+            accessKey: "The Access Key"
+            queueNameOrArn: "The Queue Name"
+            region: "eu-west-1"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-sqs-source-binding.yaml b/templates/bindings/core/aws-sqs-source-binding.yaml
new file mode 100644
index 0000000..286ae8c
--- /dev/null
+++ b/templates/bindings/core/aws-sqs-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:aws-sqs-source"
+      parameters:
+        accessKey: "The Access Key"
+        queueNameOrArn: "The Queue Name"
+        region: "eu-west-1"
+        secretKey: "The Secret Key"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/aws-translate-action-binding.yaml b/templates/bindings/core/aws-translate-action-binding.yaml
new file mode 100644
index 0000000..fb5acfb
--- /dev/null
+++ b/templates/bindings/core/aws-translate-action-binding.yaml
@@ -0,0 +1,17 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:aws-translate-action"
+          parameters:
+            accessKey: "The Access Key"
+        region: "eu-west-1"
+        secretKey: "The Secret Key"
+        sourceLanguage: "it"
+        targetLanguage: "en"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/azure-cosmosdb-source-binding.yaml b/templates/bindings/core/azure-cosmosdb-source-binding.yaml
new file mode 100644
index 0000000..bc3dd8c
--- /dev/null
+++ b/templates/bindings/core/azure-cosmosdb-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:azure-cosmosdb-source"
+      parameters:
+        accountKey: "The Account Key"
+        containerName: "The Container Name"
+        databaseEndpoint: "The Database Endpoint"
+        databaseName: "The Database Name"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/azure-eventhubs-sink-binding.yaml b/templates/bindings/core/azure-eventhubs-sink-binding.yaml
new file mode 100644
index 0000000..cde6000
--- /dev/null
+++ b/templates/bindings/core/azure-eventhubs-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:azure-eventhubs-sink"
+          parameters:
+            eventhubName: "The Eventhubs Name"
+            namespaceName: "The Eventhubs Namespace"
+            sharedAccessKey: "The Share Access Key"
+            sharedAccessName: "The Share Access Name"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/azure-eventhubs-source-binding.yaml b/templates/bindings/core/azure-eventhubs-source-binding.yaml
new file mode 100644
index 0000000..673259d
--- /dev/null
+++ b/templates/bindings/core/azure-eventhubs-source-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:azure-eventhubs-source"
+      parameters:
+        blobAccessKey: "The Azure Storage Blob Access Key"
+        blobAccountName: "The Azure Storage Blob Account Name"
+        blobContainerName: "The Azure Storage Blob Container Name"
+        eventhubName: "The Eventhubs Name"
+        namespaceName: "The Eventhubs Namespace"
+        sharedAccessKey: "The Share Access Key"
+        sharedAccessName: "The Share Access Name"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/azure-storage-blob-sink-binding.yaml b/templates/bindings/core/azure-storage-blob-sink-binding.yaml
new file mode 100644
index 0000000..00976e5
--- /dev/null
+++ b/templates/bindings/core/azure-storage-blob-sink-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:azure-storage-blob-sink"
+          parameters:
+            accessKey: "The Access Key"
+            accountName: "The Account Name"
+            containerName: "The Container Name"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/azure-storage-blob-source-binding.yaml b/templates/bindings/core/azure-storage-blob-source-binding.yaml
new file mode 100644
index 0000000..25f76c4
--- /dev/null
+++ b/templates/bindings/core/azure-storage-blob-source-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:azure-storage-blob-source"
+      parameters:
+        accessKey: "The Access Key"
+        accountName: "The Account Name"
+        containerName: "The Container Name"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/azure-storage-queue-sink-binding.yaml b/templates/bindings/core/azure-storage-queue-sink-binding.yaml
new file mode 100644
index 0000000..a25ec5f
--- /dev/null
+++ b/templates/bindings/core/azure-storage-queue-sink-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:azure-storage-queue-sink"
+          parameters:
+            accessKey: "The Access Key"
+            accountName: "The Account Name"
+            queueName: "The Queue Name"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/azure-storage-queue-source-binding.yaml b/templates/bindings/core/azure-storage-queue-source-binding.yaml
new file mode 100644
index 0000000..67596e9
--- /dev/null
+++ b/templates/bindings/core/azure-storage-queue-source-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:azure-storage-queue-source"
+      parameters:
+        accessKey: "The Access Key"
+        accountName: "The Account Name"
+        queueName: "The Queue Name"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/bitcoin-source-binding.yaml b/templates/bindings/core/bitcoin-source-binding.yaml
new file mode 100644
index 0000000..6ce4fc7
--- /dev/null
+++ b/templates/bindings/core/bitcoin-source-binding.yaml
@@ -0,0 +1,7 @@
+- route:
+    from:
+      uri: "kamelet:bitcoin-source"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/caffeine-action-binding.yaml b/templates/bindings/core/caffeine-action-binding.yaml
new file mode 100644
index 0000000..efe7c0c
--- /dev/null
+++ b/templates/bindings/core/caffeine-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:caffeine-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/cassandra-sink-binding.yaml b/templates/bindings/core/cassandra-sink-binding.yaml
new file mode 100644
index 0000000..348dbcf
--- /dev/null
+++ b/templates/bindings/core/cassandra-sink-binding.yaml
@@ -0,0 +1,17 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:cassandra-sink"
+          parameters:
+            connectionHost: "localhost"
+            connectionPort: 9042
+            keyspace: "customers"
+            password: "The Password"
+            preparedStatement: "The Prepared Statement"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/cassandra-source-binding.yaml b/templates/bindings/core/cassandra-source-binding.yaml
new file mode 100644
index 0000000..f37ed77
--- /dev/null
+++ b/templates/bindings/core/cassandra-source-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:cassandra-source"
+      parameters:
+        connectionHost: "localhost"
+        connectionPort: 9042
+        keyspace: "customers"
+        password: "The Password"
+        query: "The Query"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/chuck-norris-source-binding.yaml b/templates/bindings/core/chuck-norris-source-binding.yaml
new file mode 100644
index 0000000..7c4ba9d
--- /dev/null
+++ b/templates/bindings/core/chuck-norris-source-binding.yaml
@@ -0,0 +1,7 @@
+- route:
+    from:
+      uri: "kamelet:chuck-norris-source"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/chunk-template-action-binding.yaml b/templates/bindings/core/chunk-template-action-binding.yaml
new file mode 100644
index 0000000..5fdd376
--- /dev/null
+++ b/templates/bindings/core/chunk-template-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:chunk-template-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/cron-source-binding.yaml b/templates/bindings/core/cron-source-binding.yaml
new file mode 100644
index 0000000..fa82cc2
--- /dev/null
+++ b/templates/bindings/core/cron-source-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:cron-source"
+      parameters:
+        message: "hello world"
+        schedule: "0/3 10 * * * ?"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/dns-dig-action-binding.yaml b/templates/bindings/core/dns-dig-action-binding.yaml
new file mode 100644
index 0000000..ba18d0e
--- /dev/null
+++ b/templates/bindings/core/dns-dig-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:dns-dig-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/dns-ip-action-binding.yaml b/templates/bindings/core/dns-ip-action-binding.yaml
new file mode 100644
index 0000000..cfbdba1
--- /dev/null
+++ b/templates/bindings/core/dns-ip-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:dns-ip-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/dns-lookup-action-binding.yaml b/templates/bindings/core/dns-lookup-action-binding.yaml
new file mode 100644
index 0000000..0a67fa8
--- /dev/null
+++ b/templates/bindings/core/dns-lookup-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:dns-lookup-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/dropbox-sink-binding.yaml b/templates/bindings/core/dropbox-sink-binding.yaml
new file mode 100644
index 0000000..edd821f
--- /dev/null
+++ b/templates/bindings/core/dropbox-sink-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:dropbox-sink"
+          parameters:
+            accessToken: "The Dropbox Access Token"
+            clientIdentifier: "The Client Identifier"
+            remotePath: "The Remote Path"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/dropbox-source-binding.yaml b/templates/bindings/core/dropbox-source-binding.yaml
new file mode 100644
index 0000000..488229f
--- /dev/null
+++ b/templates/bindings/core/dropbox-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:dropbox-source"
+      parameters:
+        accessToken: "The Dropbox Access Token"
+        clientIdentifier: "The Client Identifier"
+        query: "The Queries"
+        remotePath: "The Remote Path"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/earthquake-source-binding.yaml b/templates/bindings/core/earthquake-source-binding.yaml
new file mode 100644
index 0000000..6793c5d
--- /dev/null
+++ b/templates/bindings/core/earthquake-source-binding.yaml
@@ -0,0 +1,7 @@
+- route:
+    from:
+      uri: "kamelet:earthquake-source"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/elasticsearch-index-sink-binding.yaml b/templates/bindings/core/elasticsearch-index-sink-binding.yaml
new file mode 100644
index 0000000..90fb476
--- /dev/null
+++ b/templates/bindings/core/elasticsearch-index-sink-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:elasticsearch-index-sink"
+          parameters:
+            clusterName: "quickstart"
+            hostAddresses: "quickstart-es-http:9200"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/elasticsearch-search-source-binding.yaml b/templates/bindings/core/elasticsearch-search-source-binding.yaml
new file mode 100644
index 0000000..4126542
--- /dev/null
+++ b/templates/bindings/core/elasticsearch-search-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:elasticsearch-search-source"
+      parameters:
+        clusterName: "The ElasticSearch Cluster Name"
+        hostAddresses: "The Host Addresses"
+        indexName: "The Index in ElasticSearch"
+        query: "The Query"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/exec-sink-binding.yaml b/templates/bindings/core/exec-sink-binding.yaml
new file mode 100644
index 0000000..d222668
--- /dev/null
+++ b/templates/bindings/core/exec-sink-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:exec-sink"
+          parameters:
+            executable: "The Executable Command"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/extract-field-action-binding.yaml b/templates/bindings/core/extract-field-action-binding.yaml
new file mode 100644
index 0000000..2bd1c04
--- /dev/null
+++ b/templates/bindings/core/extract-field-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:extract-field-action"
+          parameters:
+            field: "The Field"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/fhir-source-binding.yaml b/templates/bindings/core/fhir-source-binding.yaml
new file mode 100644
index 0000000..14de031
--- /dev/null
+++ b/templates/bindings/core/fhir-source-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:fhir-source"
+      parameters:
+        password: "The Password"
+        serverUrl: "The Server URL"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/file-watch-source-binding.yaml b/templates/bindings/core/file-watch-source-binding.yaml
new file mode 100644
index 0000000..243a7d4
--- /dev/null
+++ b/templates/bindings/core/file-watch-source-binding.yaml
@@ -0,0 +1,9 @@
+- route:
+    from:
+      uri: "kamelet:file-watch-source"
+      parameters:
+        filePath: "The Path to Watch"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/freemarker-template-action-binding.yaml b/templates/bindings/core/freemarker-template-action-binding.yaml
new file mode 100644
index 0000000..4aa51a9
--- /dev/null
+++ b/templates/bindings/core/freemarker-template-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:freemarker-template-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/ftp-sink-binding.yaml b/templates/bindings/core/ftp-sink-binding.yaml
new file mode 100644
index 0000000..e05931f
--- /dev/null
+++ b/templates/bindings/core/ftp-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:ftp-sink"
+          parameters:
+            connectionHost: "The Connection Host"
+            directoryName: "The Directory Name"
+            password: "The Password"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/ftp-source-binding.yaml b/templates/bindings/core/ftp-source-binding.yaml
new file mode 100644
index 0000000..b1a9f24
--- /dev/null
+++ b/templates/bindings/core/ftp-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:ftp-source"
+      parameters:
+        connectionHost: "The Connection Host"
+        directoryName: "The Directory Name"
+        password: "The Password"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/ftps-sink-binding.yaml b/templates/bindings/core/ftps-sink-binding.yaml
new file mode 100644
index 0000000..1630f5d
--- /dev/null
+++ b/templates/bindings/core/ftps-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:ftps-sink"
+          parameters:
+            connectionHost: "The Connection Host"
+            directoryName: "The Directory Name"
+            password: "The Password"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/ftps-source-binding.yaml b/templates/bindings/core/ftps-source-binding.yaml
new file mode 100644
index 0000000..fe212bf
--- /dev/null
+++ b/templates/bindings/core/ftps-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:ftps-source"
+      parameters:
+        connectionHost: "The Connection Host"
+        directoryName: "The Directory Name"
+        password: "The Password"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/github-source-binding.yaml b/templates/bindings/core/github-source-binding.yaml
new file mode 100644
index 0000000..85daf0d
--- /dev/null
+++ b/templates/bindings/core/github-source-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:github-source"
+      parameters:
+        oauthToken: "The OAuth Token"
+        repoName: "The Repository Name"
+        repoOwner: "The Repository Owner"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/google-calendar-source-binding.yaml b/templates/bindings/core/google-calendar-source-binding.yaml
new file mode 100644
index 0000000..76fc7a8
--- /dev/null
+++ b/templates/bindings/core/google-calendar-source-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:google-calendar-source"
+      parameters:
+        accessToken: "The Access Token"
+        applicationName: "The Application name"
+        calendarId: "The Calendar ID"
+        clientId: "The Client Id"
+        clientSecret: "The Client Secret"
+        index: "The Index"
+        refreshToken: "The Refresh Token"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/google-mail-source-binding.yaml b/templates/bindings/core/google-mail-source-binding.yaml
new file mode 100644
index 0000000..478dc23
--- /dev/null
+++ b/templates/bindings/core/google-mail-source-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:google-mail-source"
+      parameters:
+        accessToken: "The Access Token"
+        applicationName: "The Application name"
+        clientId: "The Client ID"
+        clientSecret: "The Client Secret"
+        index: "The Index"
+        refreshToken: "The Refresh Token"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/google-sheets-source-binding.yaml b/templates/bindings/core/google-sheets-source-binding.yaml
new file mode 100644
index 0000000..9431b87
--- /dev/null
+++ b/templates/bindings/core/google-sheets-source-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:google-sheets-source"
+      parameters:
+        accessToken: "The Access Token"
+        applicationName: "The Application name"
+        clientId: "The Client Id"
+        clientSecret: "The Client Secret"
+        index: "The Index"
+        refreshToken: "The Refresh Token"
+        spreadsheetId: "The Spreadsheet ID"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/has-header-filter-action-binding.yaml b/templates/bindings/core/has-header-filter-action-binding.yaml
new file mode 100644
index 0000000..3a42aa7
--- /dev/null
+++ b/templates/bindings/core/has-header-filter-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:has-header-filter-action"
+          parameters:
+            name: "headerName"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/header-matches-filter-action-binding.yaml b/templates/bindings/core/header-matches-filter-action-binding.yaml
new file mode 100644
index 0000000..240315d
--- /dev/null
+++ b/templates/bindings/core/header-matches-filter-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:header-matches-filter-action"
+          parameters:
+            regex: "The Regex"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/hoist-field-action-binding.yaml b/templates/bindings/core/hoist-field-action-binding.yaml
new file mode 100644
index 0000000..f04e01d
--- /dev/null
+++ b/templates/bindings/core/hoist-field-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:hoist-field-action"
+          parameters:
+            field: "The Field"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/http-secured-sink-binding.yaml b/templates/bindings/core/http-secured-sink-binding.yaml
new file mode 100644
index 0000000..fdbaa0d
--- /dev/null
+++ b/templates/bindings/core/http-secured-sink-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:http-secured-sink"
+          parameters:
+            url: "https://my-service/path"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/http-secured-source-binding.yaml b/templates/bindings/core/http-secured-source-binding.yaml
new file mode 100644
index 0000000..00dc8a0
--- /dev/null
+++ b/templates/bindings/core/http-secured-source-binding.yaml
@@ -0,0 +1,9 @@
+- route:
+    from:
+      uri: "kamelet:http-secured-source"
+      parameters:
+        url: "https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/http-sink-binding.yaml b/templates/bindings/core/http-sink-binding.yaml
new file mode 100644
index 0000000..c5ca252
--- /dev/null
+++ b/templates/bindings/core/http-sink-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:http-sink"
+          parameters:
+            url: "https://my-service/path"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/http-source-binding.yaml b/templates/bindings/core/http-source-binding.yaml
new file mode 100644
index 0000000..fef980b
--- /dev/null
+++ b/templates/bindings/core/http-source-binding.yaml
@@ -0,0 +1,9 @@
+- route:
+    from:
+      uri: "kamelet:http-source"
+      parameters:
+        url: "https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/infinispan-source-binding.yaml b/templates/bindings/core/infinispan-source-binding.yaml
new file mode 100644
index 0000000..09226cf
--- /dev/null
+++ b/templates/bindings/core/infinispan-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:infinispan-source"
+      parameters:
+        cacheName: "The Cache Name"
+        hosts: "The Hosts"
+        password: "The Password"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/insert-field-action-binding.yaml b/templates/bindings/core/insert-field-action-binding.yaml
new file mode 100644
index 0000000..1fdc123
--- /dev/null
+++ b/templates/bindings/core/insert-field-action-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:insert-field-action"
+          parameters:
+            field: "The Field"
+        value: "The Value"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/insert-header-action-binding.yaml b/templates/bindings/core/insert-header-action-binding.yaml
new file mode 100644
index 0000000..35fde50
--- /dev/null
+++ b/templates/bindings/core/insert-header-action-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:insert-header-action"
+          parameters:
+            name: "headername"
+        value: "The Value"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/is-tombstone-filter-action-binding.yaml b/templates/bindings/core/is-tombstone-filter-action-binding.yaml
new file mode 100644
index 0000000..bc85132
--- /dev/null
+++ b/templates/bindings/core/is-tombstone-filter-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:is-tombstone-filter-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/jira-source-binding.yaml b/templates/bindings/core/jira-source-binding.yaml
new file mode 100644
index 0000000..e963bb0
--- /dev/null
+++ b/templates/bindings/core/jira-source-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:jira-source"
+      parameters:
+        jiraUrl: "http://my_jira.com:8081"
+        password: "The Password"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/jms-amqp-10-sink-binding.yaml b/templates/bindings/core/jms-amqp-10-sink-binding.yaml
new file mode 100644
index 0000000..27e015b
--- /dev/null
+++ b/templates/bindings/core/jms-amqp-10-sink-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:jms-amqp-10-sink"
+          parameters:
+            destinationName: "The Destination Name"
+            remoteURI: "amqp://my-host:31616"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/jms-amqp-10-source-binding.yaml b/templates/bindings/core/jms-amqp-10-source-binding.yaml
new file mode 100644
index 0000000..1023d73
--- /dev/null
+++ b/templates/bindings/core/jms-amqp-10-source-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:jms-amqp-10-source"
+      parameters:
+        destinationName: "The Destination Name"
+        remoteURI: "amqp://my-host:31616"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/jms-apache-artemis-sink-binding.yaml b/templates/bindings/core/jms-apache-artemis-sink-binding.yaml
new file mode 100644
index 0000000..9ba27fc
--- /dev/null
+++ b/templates/bindings/core/jms-apache-artemis-sink-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:jms-apache-artemis-sink"
+          parameters:
+            brokerURL: "tcp://my-host:61616"
+            destinationName: "person"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/jms-apache-artemis-source-binding.yaml b/templates/bindings/core/jms-apache-artemis-source-binding.yaml
new file mode 100644
index 0000000..a172c39
--- /dev/null
+++ b/templates/bindings/core/jms-apache-artemis-source-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:jms-apache-artemis-source"
+      parameters:
+        brokerURL: "tcp://k3s-node-master.usersys.redhat.com:31616"
+        destinationName: "The Destination Name"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/json-deserialize-action-binding.yaml b/templates/bindings/core/json-deserialize-action-binding.yaml
new file mode 100644
index 0000000..6c07ac2
--- /dev/null
+++ b/templates/bindings/core/json-deserialize-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:json-deserialize-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/json-schema-validator-action-binding.yaml b/templates/bindings/core/json-schema-validator-action-binding.yaml
new file mode 100644
index 0000000..d43c868
--- /dev/null
+++ b/templates/bindings/core/json-schema-validator-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:json-schema-validator-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/json-serialize-action-binding.yaml b/templates/bindings/core/json-serialize-action-binding.yaml
new file mode 100644
index 0000000..3f86a33
--- /dev/null
+++ b/templates/bindings/core/json-serialize-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:json-serialize-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/jsonata-action-binding.yaml b/templates/bindings/core/jsonata-action-binding.yaml
new file mode 100644
index 0000000..5562958
--- /dev/null
+++ b/templates/bindings/core/jsonata-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:jsonata-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/kafka-manual-commit-action-binding.yaml b/templates/bindings/core/kafka-manual-commit-action-binding.yaml
new file mode 100644
index 0000000..67c0919
--- /dev/null
+++ b/templates/bindings/core/kafka-manual-commit-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:kafka-manual-commit-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/kafka-not-secured-sink-binding.yaml b/templates/bindings/core/kafka-not-secured-sink-binding.yaml
new file mode 100644
index 0000000..d6136f9
--- /dev/null
+++ b/templates/bindings/core/kafka-not-secured-sink-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:kafka-not-secured-sink"
+          parameters:
+            brokers: "The Brokers"
+            topic: "The Topic Names"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/kafka-not-secured-source-binding.yaml b/templates/bindings/core/kafka-not-secured-source-binding.yaml
new file mode 100644
index 0000000..85315ad
--- /dev/null
+++ b/templates/bindings/core/kafka-not-secured-source-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:kafka-not-secured-source"
+      parameters:
+        brokers: "The Brokers"
+        topic: "The Topic Names"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/kafka-sink-binding.yaml b/templates/bindings/core/kafka-sink-binding.yaml
new file mode 100644
index 0000000..e50a882
--- /dev/null
+++ b/templates/bindings/core/kafka-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:kafka-sink"
+          parameters:
+            bootstrapServers: "The Brokers"
+            password: "The Password"
+            topic: "The Topic Names"
+            user: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/kafka-source-binding.yaml b/templates/bindings/core/kafka-source-binding.yaml
new file mode 100644
index 0000000..2b00814
--- /dev/null
+++ b/templates/bindings/core/kafka-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:kafka-source"
+      parameters:
+        bootstrapServers: "The Brokers"
+        password: "The Password"
+        topic: "The Topic Names"
+        user: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/kamelet-core-binding.yaml.tmpl b/templates/bindings/core/kamelet-core-binding.yaml.tmpl
new file mode 100644
index 0000000..9b47844
--- /dev/null
+++ b/templates/bindings/core/kamelet-core-binding.yaml.tmpl
@@ -0,0 +1,25 @@
+- route:
+    {{ if eq (index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type") "sink" }}from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:{{ .Kamelet.ObjectMeta.Name }}"{{ template "parameter-list.tmpl" . }}
+    {{ else if eq (index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type") "source" }}from:
+      uri: "kamelet:{{ .Kamelet.ObjectMeta.Name }}"{{ template "parameter-list.tmpl" . }}
+    steps:
+      - to:
+          uri: "log:info"
+    {{ else if eq (index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type") "action" }}from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:{{ .Kamelet.ObjectMeta.Name }}"{{ template "parameter-list.tmpl" . }}
+      - to:
+          uri: "log:info"
+{{ end }}
\ No newline at end of file
diff --git a/templates/bindings/core/log-sink-binding.yaml b/templates/bindings/core/log-sink-binding.yaml
new file mode 100644
index 0000000..88169cd
--- /dev/null
+++ b/templates/bindings/core/log-sink-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:log-sink"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mail-imap-source-binding.yaml b/templates/bindings/core/mail-imap-source-binding.yaml
new file mode 100644
index 0000000..b55f9ba
--- /dev/null
+++ b/templates/bindings/core/mail-imap-source-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:mail-imap-source"
+      parameters:
+        connectionHost: "imap.gmail.com"
+        password: "The Password"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mariadb-sink-binding.yaml b/templates/bindings/core/mariadb-sink-binding.yaml
new file mode 100644
index 0000000..f7b08e2
--- /dev/null
+++ b/templates/bindings/core/mariadb-sink-binding.yaml
@@ -0,0 +1,16 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:mariadb-sink"
+          parameters:
+            databaseName: "The Database Name"
+            password: "The Password"
+            query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+            serverName: "localhost"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mariadb-source-binding.yaml b/templates/bindings/core/mariadb-source-binding.yaml
new file mode 100644
index 0000000..8cbf70b
--- /dev/null
+++ b/templates/bindings/core/mariadb-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:mariadb-source"
+      parameters:
+        databaseName: "The Database Name"
+        password: "The Password"
+        query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        serverName: "localhost"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mask-field-action-binding.yaml b/templates/bindings/core/mask-field-action-binding.yaml
new file mode 100644
index 0000000..43bbd5a
--- /dev/null
+++ b/templates/bindings/core/mask-field-action-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:mask-field-action"
+          parameters:
+            fields: "The Fields"
+        replacement: "The Replacement"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/message-timestamp-router-action-binding.yaml b/templates/bindings/core/message-timestamp-router-action-binding.yaml
new file mode 100644
index 0000000..4ef07b9
--- /dev/null
+++ b/templates/bindings/core/message-timestamp-router-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:message-timestamp-router-action"
+          parameters:
+            timestampKeys: "The Timestamp Keys"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/minio-sink-binding.yaml b/templates/bindings/core/minio-sink-binding.yaml
new file mode 100644
index 0000000..8a72ba6
--- /dev/null
+++ b/templates/bindings/core/minio-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:minio-sink"
+          parameters:
+            accessKey: "The Access Key"
+            bucketName: "The Bucket Name"
+            endpoint: "http://localhost:9000"
+            secretKey: "The Secret Key"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/minio-source-binding.yaml b/templates/bindings/core/minio-source-binding.yaml
new file mode 100644
index 0000000..55b62e9
--- /dev/null
+++ b/templates/bindings/core/minio-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:minio-source"
+      parameters:
+        accessKey: "The Access Key"
+        bucketName: "The Bucket Name"
+        endpoint: "http://localhost:9000"
+        secretKey: "The Secret Key"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mongodb-sink-binding.yaml b/templates/bindings/core/mongodb-sink-binding.yaml
new file mode 100644
index 0000000..601d751
--- /dev/null
+++ b/templates/bindings/core/mongodb-sink-binding.yaml
@@ -0,0 +1,16 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:mongodb-sink"
+          parameters:
+            collection: "The MongoDB Collection"
+            database: "The MongoDB Database"
+            hosts: "The MongoDB Hosts"
+            password: "The MongoDB Password"
+            username: "The MongoDB Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mongodb-source-binding.yaml b/templates/bindings/core/mongodb-source-binding.yaml
new file mode 100644
index 0000000..c40edc0
--- /dev/null
+++ b/templates/bindings/core/mongodb-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:mongodb-source"
+      parameters:
+        collection: "The MongoDB Collection"
+        database: "The MongoDB Database"
+        hosts: "The MongoDB Hosts"
+        password: "The MongoDB Password"
+        username: "The MongoDB Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mqtt-source-binding.yaml b/templates/bindings/core/mqtt-source-binding.yaml
new file mode 100644
index 0000000..600c897
--- /dev/null
+++ b/templates/bindings/core/mqtt-source-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:mqtt-source"
+      parameters:
+        brokerUrl: "tcp://mosquitto:1883"
+        topic: "mytopic"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mustache-template-action-binding.yaml b/templates/bindings/core/mustache-template-action-binding.yaml
new file mode 100644
index 0000000..8769889
--- /dev/null
+++ b/templates/bindings/core/mustache-template-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:mustache-template-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/mvel-template-action-binding.yaml b/templates/bindings/core/mvel-template-action-binding.yaml
new file mode 100644
index 0000000..e6751a2
--- /dev/null
+++ b/templates/bindings/core/mvel-template-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:mvel-template-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/mysql-sink-binding.yaml b/templates/bindings/core/mysql-sink-binding.yaml
new file mode 100644
index 0000000..5798373
--- /dev/null
+++ b/templates/bindings/core/mysql-sink-binding.yaml
@@ -0,0 +1,16 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:mysql-sink"
+          parameters:
+            databaseName: "The Database Name"
+            password: "The Password"
+            query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+            serverName: "localhost"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/mysql-source-binding.yaml b/templates/bindings/core/mysql-source-binding.yaml
new file mode 100644
index 0000000..833d14b
--- /dev/null
+++ b/templates/bindings/core/mysql-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:mysql-source"
+      parameters:
+        databaseName: "The Database Name"
+        password: "The Password"
+        query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        serverName: "localhost"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/nats-sink-binding.yaml b/templates/bindings/core/nats-sink-binding.yaml
new file mode 100644
index 0000000..d015708
--- /dev/null
+++ b/templates/bindings/core/nats-sink-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:nats-sink"
+          parameters:
+            servers: "The Servers"
+            topic: "The Topic"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/nats-source-binding.yaml b/templates/bindings/core/nats-source-binding.yaml
new file mode 100644
index 0000000..a4a8555
--- /dev/null
+++ b/templates/bindings/core/nats-source-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:nats-source"
+      parameters:
+        servers: "The Servers"
+        topic: "The Topic"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/openai-classification-action-binding.yaml b/templates/bindings/core/openai-classification-action-binding.yaml
new file mode 100644
index 0000000..dfd6c1e
--- /dev/null
+++ b/templates/bindings/core/openai-classification-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:openai-classification-action"
+          parameters:
+            authorizationToken: "The Authorization Token"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/openai-completion-action-binding.yaml b/templates/bindings/core/openai-completion-action-binding.yaml
new file mode 100644
index 0000000..313f4cd
--- /dev/null
+++ b/templates/bindings/core/openai-completion-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:openai-completion-action"
+          parameters:
+            authorizationToken: "The Authorization Token"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/parameter-list.tmpl b/templates/bindings/core/parameter-list.tmpl
new file mode 100644
index 0000000..30442f2
--- /dev/null
+++ b/templates/bindings/core/parameter-list.tmpl
@@ -0,0 +1 @@
+{{ if .HasRequiredProperties }}{{ .ParameterList }}{{ end }}
\ No newline at end of file
diff --git a/templates/bindings/core/pdf-action-binding.yaml b/templates/bindings/core/pdf-action-binding.yaml
new file mode 100644
index 0000000..52d5cc5
--- /dev/null
+++ b/templates/bindings/core/pdf-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:pdf-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/postgresql-sink-binding.yaml b/templates/bindings/core/postgresql-sink-binding.yaml
new file mode 100644
index 0000000..3a9625f
--- /dev/null
+++ b/templates/bindings/core/postgresql-sink-binding.yaml
@@ -0,0 +1,16 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:postgresql-sink"
+          parameters:
+            databaseName: "The Database Name"
+            password: "The Password"
+            query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+            serverName: "localhost"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/postgresql-source-binding.yaml b/templates/bindings/core/postgresql-source-binding.yaml
new file mode 100644
index 0000000..2e5e248
--- /dev/null
+++ b/templates/bindings/core/postgresql-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:postgresql-source"
+      parameters:
+        databaseName: "The Database Name"
+        password: "The Password"
+        query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        serverName: "localhost"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/predicate-filter-action-binding.yaml b/templates/bindings/core/predicate-filter-action-binding.yaml
new file mode 100644
index 0000000..0041920
--- /dev/null
+++ b/templates/bindings/core/predicate-filter-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:predicate-filter-action"
+          parameters:
+            expression: "@.foo =~ /.*John/"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/protobuf-deserialize-action-binding.yaml b/templates/bindings/core/protobuf-deserialize-action-binding.yaml
new file mode 100644
index 0000000..b414080
--- /dev/null
+++ b/templates/bindings/core/protobuf-deserialize-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:protobuf-deserialize-action"
+          parameters:
+            schema: "message Person { required string first = 1; required string last = 2; }"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/protobuf-serialize-action-binding.yaml b/templates/bindings/core/protobuf-serialize-action-binding.yaml
new file mode 100644
index 0000000..f76514e
--- /dev/null
+++ b/templates/bindings/core/protobuf-serialize-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:protobuf-serialize-action"
+          parameters:
+            schema: "message Person { required string first = 1; required string last = 2; }"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/rabbitmq-source-binding.yaml b/templates/bindings/core/rabbitmq-source-binding.yaml
new file mode 100644
index 0000000..180e242
--- /dev/null
+++ b/templates/bindings/core/rabbitmq-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:rabbitmq-source"
+      parameters:
+        addresses: "The Addresses"
+        exchangeName: "The Exchange name"
+        password: "The Password"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/regex-router-action-binding.yaml b/templates/bindings/core/regex-router-action-binding.yaml
new file mode 100644
index 0000000..cf0928d
--- /dev/null
+++ b/templates/bindings/core/regex-router-action-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:regex-router-action"
+          parameters:
+            regex: "The Regex"
+        replacement: "The Replacement"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/replace-field-action-binding.yaml b/templates/bindings/core/replace-field-action-binding.yaml
new file mode 100644
index 0000000..a812ff5
--- /dev/null
+++ b/templates/bindings/core/replace-field-action-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:replace-field-action"
+          parameters:
+            disabled: "The Disabled"
+        enabled: "The Enabled"
+        renames: "foo:bar,c1:c2"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/salesforce-source-binding.yaml b/templates/bindings/core/salesforce-source-binding.yaml
new file mode 100644
index 0000000..a960dc8
--- /dev/null
+++ b/templates/bindings/core/salesforce-source-binding.yaml
@@ -0,0 +1,14 @@
+- route:
+    from:
+      uri: "kamelet:salesforce-source"
+      parameters:
+        clientId: "The Consumer Key"
+        clientSecret: "The Consumer Secret"
+        password: "The Password"
+        query: "SELECT Id, Name, Email, Phone FROM Contact"
+        topicName: "ContactTopic"
+        userName: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/sftp-sink-binding.yaml b/templates/bindings/core/sftp-sink-binding.yaml
new file mode 100644
index 0000000..9ccfc44
--- /dev/null
+++ b/templates/bindings/core/sftp-sink-binding.yaml
@@ -0,0 +1,15 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:sftp-sink"
+          parameters:
+            connectionHost: "The Connection Host"
+            directoryName: "The Directory Name"
+            password: "The Password"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/sftp-source-binding.yaml b/templates/bindings/core/sftp-source-binding.yaml
new file mode 100644
index 0000000..9369845
--- /dev/null
+++ b/templates/bindings/core/sftp-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:sftp-source"
+      parameters:
+        connectionHost: "The Connection Host"
+        directoryName: "The Directory Name"
+        password: "The Password"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/slack-sink-binding.yaml b/templates/bindings/core/slack-sink-binding.yaml
new file mode 100644
index 0000000..5282273
--- /dev/null
+++ b/templates/bindings/core/slack-sink-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:slack-sink"
+          parameters:
+            channel: "#myroom"
+            webhookUrl: "The Webhook URL"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/slack-source-binding.yaml b/templates/bindings/core/slack-source-binding.yaml
new file mode 100644
index 0000000..46c3ecd
--- /dev/null
+++ b/templates/bindings/core/slack-source-binding.yaml
@@ -0,0 +1,10 @@
+- route:
+    from:
+      uri: "kamelet:slack-source"
+      parameters:
+        channel: "#myroom"
+        token: "The Token"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/sqlserver-sink-binding.yaml b/templates/bindings/core/sqlserver-sink-binding.yaml
new file mode 100644
index 0000000..04df098
--- /dev/null
+++ b/templates/bindings/core/sqlserver-sink-binding.yaml
@@ -0,0 +1,16 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:sqlserver-sink"
+          parameters:
+            databaseName: "The Database Name"
+            password: "The Password"
+            query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+            serverName: "localhost"
+            username: "The Username"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/sqlserver-source-binding.yaml b/templates/bindings/core/sqlserver-source-binding.yaml
new file mode 100644
index 0000000..779ac45
--- /dev/null
+++ b/templates/bindings/core/sqlserver-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:sqlserver-source"
+      parameters:
+        databaseName: "The Database Name"
+        password: "The Password"
+        query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)"
+        serverName: "localhost"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/ssh-source-binding.yaml b/templates/bindings/core/ssh-source-binding.yaml
new file mode 100644
index 0000000..555e94a
--- /dev/null
+++ b/templates/bindings/core/ssh-source-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:ssh-source"
+      parameters:
+        connectionHost: "The Connection Host"
+        password: "The Password"
+        pollCommand: "date"
+        username: "The Username"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/string-template-action-binding.yaml b/templates/bindings/core/string-template-action-binding.yaml
new file mode 100644
index 0000000..78c2519
--- /dev/null
+++ b/templates/bindings/core/string-template-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:string-template-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/telegram-sink-binding.yaml b/templates/bindings/core/telegram-sink-binding.yaml
new file mode 100644
index 0000000..e3a1a69
--- /dev/null
+++ b/templates/bindings/core/telegram-sink-binding.yaml
@@ -0,0 +1,12 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "Hello Camel JBang"
+    steps:
+      - to:
+          uri: "kamelet:telegram-sink"
+          parameters:
+            authorizationToken: "The Token"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/telegram-source-binding.yaml b/templates/bindings/core/telegram-source-binding.yaml
new file mode 100644
index 0000000..fb11c50
--- /dev/null
+++ b/templates/bindings/core/telegram-source-binding.yaml
@@ -0,0 +1,9 @@
+- route:
+    from:
+      uri: "kamelet:telegram-source"
+      parameters:
+        authorizationToken: "The Token"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/timer-source-binding.yaml b/templates/bindings/core/timer-source-binding.yaml
new file mode 100644
index 0000000..5e85b5d
--- /dev/null
+++ b/templates/bindings/core/timer-source-binding.yaml
@@ -0,0 +1,9 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        message: "hello world"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/timestamp-router-action-binding.yaml b/templates/bindings/core/timestamp-router-action-binding.yaml
new file mode 100644
index 0000000..6fd6e76
--- /dev/null
+++ b/templates/bindings/core/timestamp-router-action-binding.yaml
@@ -0,0 +1,11 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:timestamp-router-action"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/topic-name-matches-filter-action-binding.yaml b/templates/bindings/core/topic-name-matches-filter-action-binding.yaml
new file mode 100644
index 0000000..ff8528a
--- /dev/null
+++ b/templates/bindings/core/topic-name-matches-filter-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:topic-name-matches-filter-action"
+          parameters:
+            regex: "The Regex"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/twitter-directmessage-source-binding.yaml b/templates/bindings/core/twitter-directmessage-source-binding.yaml
new file mode 100644
index 0000000..65f1543
--- /dev/null
+++ b/templates/bindings/core/twitter-directmessage-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:twitter-directmessage-source"
+      parameters:
+        accessToken: "The Access Token"
+        accessTokenSecret: "The Access Token Secret"
+        apiKey: "The API Key"
+        apiKeySecret: "The API Key Secret"
+        user: "ApacheCamel"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/twitter-search-source-binding.yaml b/templates/bindings/core/twitter-search-source-binding.yaml
new file mode 100644
index 0000000..12442a2
--- /dev/null
+++ b/templates/bindings/core/twitter-search-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:twitter-search-source"
+      parameters:
+        accessToken: "The Access Token"
+        accessTokenSecret: "The Access Token Secret"
+        apiKey: "The API Key"
+        apiKeySecret: "The API Key Secret"
+        keywords: "Apache Camel"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/twitter-timeline-source-binding.yaml b/templates/bindings/core/twitter-timeline-source-binding.yaml
new file mode 100644
index 0000000..f8dae74
--- /dev/null
+++ b/templates/bindings/core/twitter-timeline-source-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:twitter-timeline-source"
+      parameters:
+        accessToken: "The Access Token"
+        accessTokenSecret: "The Access Token Secret"
+        apiKey: "The API Key"
+        apiKeySecret: "The API Key Secret"
+        user: "ApacheCamel"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file
diff --git a/templates/bindings/core/value-to-key-action-binding.yaml b/templates/bindings/core/value-to-key-action-binding.yaml
new file mode 100644
index 0000000..731a156
--- /dev/null
+++ b/templates/bindings/core/value-to-key-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:value-to-key-action"
+          parameters:
+            fields: "The Fields"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/velocity-template-action-binding.yaml b/templates/bindings/core/velocity-template-action-binding.yaml
new file mode 100644
index 0000000..79f1837
--- /dev/null
+++ b/templates/bindings/core/velocity-template-action-binding.yaml
@@ -0,0 +1,13 @@
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 1000
+        message: "{ \"foo\": \"John\"}"
+    steps:
+      - to:
+          uri: "kamelet:velocity-template-action"
+          parameters:
+            template: "The Template"
+      - to:
+          uri: "log:info"
diff --git a/templates/bindings/core/webhook-source-binding.yaml b/templates/bindings/core/webhook-source-binding.yaml
new file mode 100644
index 0000000..b01bf41
--- /dev/null
+++ b/templates/bindings/core/webhook-source-binding.yaml
@@ -0,0 +1,7 @@
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+    steps:
+      - to:
+          uri: "log:info"
+    
\ No newline at end of file