[[multi-architecture-props]]
= Platform architecture

Since version 2, Camel K is publishing an ARM64 architecture beside the default AMD64 architecture. You can build your particular architecture from source as well, following the guidelines in xref:contributing/local-development.adoc[Local development].

[[multi-architecture-install]]
== Install Camel K ARM64 operator

From version 2.3 onward, the ARM64 architecture is published beside the AMD64 in a Docker manifest. Your platform should be able to pick up the platform target architecture accordingly using the usual installation procedure.

The logs should indicate the architecture at the start of the operator pod:

[source,shell]
----
{"level":"info","ts":"2023-12-19T16:40:31Z","logger":"camel-k.cmd","msg":"Go Version: go1.21.0"}
{"level":"info","ts":"2023-12-19T16:40:31Z","logger":"camel-k.cmd","msg":"Go OS/Arch: linux/arm64"}
{"level":"info","ts":"2023-12-19T16:40:31Z","logger":"camel-k.cmd","msg":"Camel K Operator Version: 2.1.0"}
----

=== Run multi architecture Camel applications

The operator will by default build integrations for the same platform it is running on. It is however also possible to explicitly define the set of target platforms integrations should be built for. You can use `builder.platforms` trait option to control this behavior.

NOTE: you can set the property at IntegrationPlatform level to have it for all Integrations.

Send the integration to the kamel operator to build, publish and run it
[source,shell]
----
kamel run hello.yaml -t builder.platforms=linux/arm64 -t builder.platforms=linux/amd64
----

You should observe base image in the logs of the operator pod:
[source,shell]
----
...
{"level":"info","ts":"2023-12-19T17:10:05Z","logger":"camel-k","msg":"spectrum - 2023/12/19 17:10:05 Pulling base image eclipse-temurin:17@sha256:bbc153da9e6041c65f0d4cdc7ef03eec174c9a74c8852c838582b579081c99c1 (insecure=false)..."}
...
----

WARNING: you may need to start a new platform image from scratch disabling incremental image in order to avoid using a base image which was built against a different set of platforms.