// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
[id="extensions-mustache"]
= Mustache
:page-aliases: extensions/mustache.adoc
:linkattrs:
:cq-artifact-id: camel-quarkus-mustache
:cq-native-supported: true
:cq-status: Stable
:cq-status-deprecation: Stable
:cq-description: Transform messages using a Mustache template.
:cq-deprecated: false
:cq-jvm-since: 1.0.0
:cq-native-since: 1.0.0

ifeval::[{doc-show-badges} == true]
[.badges]
[.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0##
endif::[]

Transform messages using a Mustache template.

[id="extensions-mustache-whats-inside"]
== What's inside

* xref:{cq-camel-components}::mustache-component.adoc[Mustache component], URI syntax: `mustache:resourceUri`

Please refer to the above link for usage and configuration details.

[id="extensions-mustache-maven-coordinates"]
== Maven coordinates

https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-mustache[Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"]

Or add the coordinates to your existing project:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-mustache</artifactId>
</dependency>
----
ifeval::[{doc-show-user-guide-link} == true]
Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
endif::[]

[id="extensions-mustache-allowcontextmapall-option-in-native-mode"]
== allowContextMapAll option in native mode

The `allowContextMapAll` option is not supported in native mode as it requires reflective access to security sensitive camel core classes such as
`CamelContext` & `Exchange`. This is considered a security risk and thus access to the feature is not provided by default.

[id="extensions-mustache-additional-camel-quarkus-configuration"]
== Additional Camel Quarkus configuration

This component typically loads Mustache templates from classpath.
To make it work also in native mode, you need to explicitly embed the templates in the native executable
by using the `quarkus.native.resources.includes` property.

For instance, the route below would load the Mustache template from a classpath resource named `template/simple.mustache`:

[source,java]
----
from("direct:start").to("mustache://template/simple.mustache");
----

To include this (an possibly other templates stored in `.mustache` files) in the native image, you would have to add something like the following to your `application.properties` file:

[source,properties]
----
quarkus.native.resources.includes = template/*.mustache
----

More information about selecting resources for inclusion in the native executable can be found at xref:user-guide/native-mode.adoc#embedding-resource-in-native-executable[Embedding resource in native executable].

