blob: 4ae9b47beeeadac8c4d63cde3263914ed975f544 [file] [log] [blame]
[[integration-kit]]
= IntegrationKit
The *IntegrationKit* is a fundamental side resource which describe a container image created by the camel-k operator as well as the configurations that need to be applied to every integration that is executed on top of it. An *IntegrationKit* does not include any source code or resource file defined by the **Integration** from which it has been generated.
[source,go]
----
type IntegrationKit struct {
Spec IntegrationKitSpec // <1>
Status IntegrationKitStatus // <2>
}
type IntegrationKitSpec struct {
Image string // <3>
Dependencies []string // <4>
Repositories []string // <4>
Profile TraitProfile // <5>
Traits map[string]TraitSpec // <5>
Configuration []ConfigurationSpec // <6>
}
----
<1> The desired state
<2> The status of the object at current time
<3> The container image
<4> The dependencies required by the kit and related repositories (if needed)
<5> The traits configuration
<6> The integration configuration (properties, secrets, configmaps)
[NOTE]
====
the full go definition can be found https://github.com/apache/camel-k/blob/main/pkg/apis/camel/v1/integrationkit_types.go[here]
====
image::architecture/camel-k-state-machine-integrationkit.png[life cycle]