// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
= {{ .Image }} {{ .Kamelet.Spec.Definition.Title }}

*Provided by: "{{ index .Kamelet.ObjectMeta.Annotations "camel.apache.org/provider" }}"*

*Support Level for this Kamelet is: "{{ index .Kamelet.ObjectMeta.Annotations "camel.apache.org/kamelet.support.level" }}"*

{{ .Kamelet.Spec.Definition.Description }}

== Configuration Options
{{ if .HasProperties }}
The following table summarizes the configuration options available for the `{{ .Kamelet.ObjectMeta.Name }}` Kamelet:
{{ .Properties }}
NOTE: Fields marked with ({empty}*) are mandatory.
{{ else }}
The Kamelet does not specify any configuration option.
{{ end }}
== Usage

This section summarizes how the `{{ .Kamelet.ObjectMeta.Name }}` can be used in various contexts.

=== Knative {{ index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type" | ToCamel }}

{{ if eq (index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type") "action" -}}
The `{{ .Kamelet.ObjectMeta.Name }}` Kamelet can be used as intermediate step in a Knative binding.
{{ else -}}
The `{{ .Kamelet.ObjectMeta.Name }}` Kamelet can be used as Knative {{ index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type" }} by binding it to a Knative object.
{{ end }}
{{- .SetVal "RefApiVersion" "messaging.knative.dev/v1" -}}{{- .SetVal "RefKind" "InMemoryChannel" -}}{{- .SetVal "RefName" "mychannel" }}
.{{ .Kamelet.ObjectMeta.Name }}-binding.yaml
[source,yaml]
----
{{ template "kamelet-binding-sink-source.tmpl" . }}
----
Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.

Save the `{{ .Kamelet.ObjectMeta.Name }}-binding.yaml` file into your hard drive, then configure it according to your needs.

You can run the {{ index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type" }} using the following command:

[source,shell]
----
kubectl apply -f {{ .Kamelet.ObjectMeta.Name }}-binding.yaml
----

==== *Binding to Knative using the Kamel CLI:*

The procedure described above can be simplified into a single execution of the `kamel bind` command:

[source,shell]
----
{{ .ExampleKamelBindCommand "channel/mychannel" }}
----

This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.

=== Kafka {{ index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type" | ToCamel }}

{{ if eq (index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type") "action" -}}
The `{{ .Kamelet.ObjectMeta.Name }}` Kamelet can be used as intermediate step in a Kafka binding.
{{ else -}}
The `{{ .Kamelet.ObjectMeta.Name }}` Kamelet can be used as Kafka {{ index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type" }} by binding it to a Kafka topic.
{{ end }} {{- .SetVal "RefApiVersion" "kafka.strimzi.io/v1beta1" -}}{{- .SetVal "RefKind" "KafkaTopic" -}}{{- .SetVal "RefName" "my-topic" }}
.{{ .Kamelet.ObjectMeta.Name }}-binding.yaml
[source,yaml]
----
{{ template "kamelet-binding-sink-source.tmpl" . }}
----

Ensure that you've installed https://strimzi.io/[Strimzi] and created a topic named `my-topic` in the current namespace.
Make also sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.

Save the `{{ .Kamelet.ObjectMeta.Name }}-binding.yaml` file into your hard drive, then configure it according to your needs.

You can run the {{ index .Kamelet.ObjectMeta.Labels "camel.apache.org/kamelet.type" }} using the following command:

[source,shell]
----
kubectl apply -f {{ .Kamelet.ObjectMeta.Name }}-binding.yaml
----

==== *Binding to Kafka using the Kamel CLI:*

The procedure described above can be simplified into a single execution of the `kamel bind` command:

[source,shell]
----
{{ .ExampleKamelBindCommand "kafka.strimzi.io/v1beta1:KafkaTopic:my-topic" }}
----

This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.

// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
