Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/modules/ROOT/pages/configuration/configuration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,8 @@ Another configuration you may be interested in controlling is the xref:configura
== Deployment configuration

The goal of the operator is to simplify the building and deployment process of a Camel application on the cloud. Most of the time the default settings to configure the deployment resources should be enough. However, if you need to fine tune the final resulting deployment, then you need to know how to configure the so called xref:traits:traits.adoc[Camel K traits].

== Integration Profiles

When you're managing a cluster with several users and namespace it will turn useful the `IntegrationProfile` custom resource. This can be used to specify different common configuration that an `Integration` can inherit, just by annotating the `Integration` resource properly. You can learn more in the xref:configuration/integrationprofiles.adoc[IntegrationProfile] section.

33 changes: 31 additions & 2 deletions docs/modules/ROOT/pages/configuration/integrationprofiles.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
= Integration Profiles

Users may add an IntegrationProfile resource to any namespace. The profile holds custom settings which can be applied to all Integrations.
Admin users may add an `IntegrationProfile` resource to any namespace. The profile holds custom settings which can be applied to all Integrations.

The profile must be explicitly selected by an annotation referencing the integration profile name (any resource belonging to the "camel.apache.org" group can select a particular profile configuration).

Expand Down Expand Up @@ -36,4 +36,33 @@ spec:
# ...
----

The selection of a IntegrationProfile enables new configuration scenarios, for example, sharing global configuration options for groups of Integrations. The main configuration expected here is related to traits.
The selection of a IntegrationProfile enables new configuration scenarios, for example, sharing global configuration options for groups of Integrations.

== Security

The `IntegrationProfile` is the secure way to provide sensitive building information and common configuration. For example, you can provide a common security configuration to access securely to a container registry. Or, as seen above a common runtime configuration (traits) to adopt. The profile contains all the configuration required for the operator to build, package and run the application. Here a quick snapshot of the main parameters (see more in the API definition):

[source,yaml]
----
kind: IntegrationProfile
apiVersion: camel.apache.org/v1
metadata:
name: my-profile
spec:
build:
...
registry:
...
maven:
...
repositories:
...
dependencies:
...
traits:
...
----

The presence of the profile overrides the default operator configuration which is normally configured via environment variables.

NOTE: each Integration can use any IntegrationProfile available in their namespace.
238 changes: 138 additions & 100 deletions docs/modules/ROOT/partials/apis/camel-k-crds.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ Refer to the Kubernetes API documentation for the fields of the `metadata` field


|`status` +
*xref:#_camel_apache_org_v1_IntegrationProfileStatus[IntegrationProfileStatus]*
*xref:#_camel_apache_org_v1_DeprecatedIntegrationProfileStatus[DeprecatedIntegrationProfileStatus]*
|


Expand Down Expand Up @@ -582,6 +582,7 @@ BuildConditionType -- .
* <<#_camel_apache_org_v1_BaseTask, BaseTask>>
* <<#_camel_apache_org_v1_BuildSpec, BuildSpec>>
* <<#_camel_apache_org_v1_IntegrationPlatformBuildSpec, IntegrationPlatformBuildSpec>>
* <<#_camel_apache_org_v1_IntegrationProfileBuildSpec, IntegrationProfileBuildSpec>>

BuildConfiguration represent the configuration required to build the runtime.

Expand Down Expand Up @@ -1803,6 +1804,114 @@ one to many data type specifications
one to many header specifications


|===

[#_camel_apache_org_v1_DeprecatedIntegrationProfileCondition]
=== DeprecatedIntegrationProfileCondition

*Appears on:*

* <<#_camel_apache_org_v1_DeprecatedIntegrationProfileStatus, DeprecatedIntegrationProfileStatus>>

DeprecatedIntegrationProfileCondition describes the state of a resource at a certain point.

Deprecated: no longer in use.

[cols="2,2a",options="header"]
|===
|Field
|Description

|`type` +
*xref:#_camel_apache_org_v1_IntegrationProfileConditionType[IntegrationProfileConditionType]*
|


Type of integration condition.

|`status` +
*https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.36/#conditionstatus-v1-core[Kubernetes core/v1.ConditionStatus]*
|


Status of the condition, one of True, False, Unknown.

|`lastUpdateTime` +
*https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.36/#time-v1-meta[Kubernetes meta/v1.Time]*
|


The last time this condition was updated.

|`lastTransitionTime` +
*https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.36/#time-v1-meta[Kubernetes meta/v1.Time]*
|


Last time the condition transitioned from one status to another.

|`reason` +
string
|


The reason for the condition's last transition.

|`message` +
string
|


A human-readable message indicating details about the transition.


|===

[#_camel_apache_org_v1_DeprecatedIntegrationProfileStatus]
=== DeprecatedIntegrationProfileStatus

*Appears on:*

* <<#_camel_apache_org_v1_IntegrationProfile, IntegrationProfile>>

DeprecatedIntegrationProfileStatus defines the observed state of IntegrationProfile.

Deprecated: no longer in use.

[cols="2,2a",options="header"]
|===
|Field
|Description

|`IntegrationProfileSpec` +
*xref:#_camel_apache_org_v1_IntegrationProfileSpec[IntegrationProfileSpec]*
|(Members of `IntegrationProfileSpec` are embedded into this type.)




|`observedGeneration` +
int64
|


ObservedGeneration is the most recent generation observed for this IntegrationProfile.

|`phase` +
*xref:#_camel_apache_org_v1_IntegrationProfilePhase[IntegrationProfilePhase]*
|


defines in what phase the IntegrationProfile is found

|`conditions` +
*xref:#_camel_apache_org_v1_DeprecatedIntegrationProfileCondition[[\]DeprecatedIntegrationProfileCondition]*
|


which are the conditions met (particularly useful when in ERROR phase)


|===

[#_camel_apache_org_v1_Endpoint]
Expand Down Expand Up @@ -2864,6 +2973,7 @@ IntegrationPhase --.
*Appears on:*

* <<#_camel_apache_org_v1_IntegrationPlatformBuildSpec, IntegrationPlatformBuildSpec>>
* <<#_camel_apache_org_v1_IntegrationProfileBuildSpec, IntegrationProfileBuildSpec>>

IntegrationPlatformBuildPublishStrategy defines the strategy used to package and publish an Integration base image.

Expand Down Expand Up @@ -3234,19 +3344,19 @@ This configuration can be used to tune the behavior of the Integration/Integrati
|Field
|Description

|`runtimeVersion` +
string
|`runtimeProvider` +
*xref:#_camel_apache_org_v1_RuntimeProvider[RuntimeProvider]*
|


the Camel K Runtime dependency version
the runtime provider to use. Likely Camel Quarkus.

|`runtimeProvider` +
*xref:#_camel_apache_org_v1_RuntimeProvider[RuntimeProvider]*
|`runtimeVersion` +
string
|


the runtime used. Likely Camel Quarkus (we used to have main runtime which has been discontinued since version 1.5)
the runtime dependency version to use.

|`baseImage` +
string
Expand Down Expand Up @@ -3275,66 +3385,35 @@ how much time to wait before time out the pipeline process
|


Maven configuration used to build the Camel/Camel-Quarkus applications


|===

[#_camel_apache_org_v1_IntegrationProfileCondition]
=== IntegrationProfileCondition

*Appears on:*

* <<#_camel_apache_org_v1_IntegrationProfileStatus, IntegrationProfileStatus>>

IntegrationProfileCondition describes the state of a resource at a certain point.

[cols="2,2a",options="header"]
|===
|Field
|Description

|`type` +
*xref:#_camel_apache_org_v1_IntegrationProfileConditionType[IntegrationProfileConditionType]*
|


Type of integration condition.

|`status` +
*https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.36/#conditionstatus-v1-core[Kubernetes core/v1.ConditionStatus]*
|
Maven configuration used to build the Camel applications


Status of the condition, one of True, False, Unknown.

|`lastUpdateTime` +
*https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.36/#time-v1-meta[Kubernetes meta/v1.Time]*
|`repositories` +
[]string
|


The last time this condition was updated.
Maven repositories used to build the Camel applications

|`lastTransitionTime` +
*https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.36/#time-v1-meta[Kubernetes meta/v1.Time]*
|
|`BuildConfiguration` +
*xref:#_camel_apache_org_v1_BuildConfiguration[BuildConfiguration]*
|(Members of `BuildConfiguration` are embedded into this type.)


Last time the condition transitioned from one status to another.
the configuration required to build an Integration container image

|`reason` +
string
|`publishStrategy` +
*xref:#_camel_apache_org_v1_IntegrationPlatformBuildPublishStrategy[IntegrationPlatformBuildPublishStrategy]*
|


The reason for the condition's last transition.
the strategy to adopt for publishing an Integration container image

|`message` +
string
|`maxRunningBuilds` +
int32
|


A human-readable message indicating details about the transition.
the maximum amount of parallel running pipelines started by this operator instance


|===
Expand All @@ -3344,10 +3423,12 @@ A human-readable message indicating details about the transition.

*Appears on:*

* <<#_camel_apache_org_v1_IntegrationProfileCondition, IntegrationProfileCondition>>
* <<#_camel_apache_org_v1_DeprecatedIntegrationProfileCondition, DeprecatedIntegrationProfileCondition>>

IntegrationProfileConditionType defines the type of condition.

Deprecated: no longer in use.


[#_camel_apache_org_v1_IntegrationProfileKameletSpec]
=== IntegrationProfileKameletSpec
Expand Down Expand Up @@ -3380,18 +3461,20 @@ remote repository used to retrieve Kamelet catalog

*Appears on:*

* <<#_camel_apache_org_v1_IntegrationProfileStatus, IntegrationProfileStatus>>
* <<#_camel_apache_org_v1_DeprecatedIntegrationProfileStatus, DeprecatedIntegrationProfileStatus>>

IntegrationProfilePhase is the phase of an IntegrationProfile.

Deprecated: no longer in use.


[#_camel_apache_org_v1_IntegrationProfileSpec]
=== IntegrationProfileSpec

*Appears on:*

* <<#_camel_apache_org_v1_IntegrationProfile, IntegrationProfile>>
* <<#_camel_apache_org_v1_IntegrationProfileStatus, IntegrationProfileStatus>>
* <<#_camel_apache_org_v1_DeprecatedIntegrationProfileStatus, DeprecatedIntegrationProfileStatus>>

IntegrationProfileSpec applies user defined settings to the IntegrationProfile.

Expand Down Expand Up @@ -3431,51 +3514,6 @@ configuration to be executed to all Kamelets controlled by this IntegrationProfi
Deprecated: to be removed in future versions.


|===

[#_camel_apache_org_v1_IntegrationProfileStatus]
=== IntegrationProfileStatus

*Appears on:*

* <<#_camel_apache_org_v1_IntegrationProfile, IntegrationProfile>>

IntegrationProfileStatus defines the observed state of IntegrationProfile.

[cols="2,2a",options="header"]
|===
|Field
|Description

|`IntegrationProfileSpec` +
*xref:#_camel_apache_org_v1_IntegrationProfileSpec[IntegrationProfileSpec]*
|(Members of `IntegrationProfileSpec` are embedded into this type.)




|`observedGeneration` +
int64
|


ObservedGeneration is the most recent generation observed for this IntegrationProfile.

|`phase` +
*xref:#_camel_apache_org_v1_IntegrationProfilePhase[IntegrationProfilePhase]*
|


defines in what phase the IntegrationProfile is found

|`conditions` +
*xref:#_camel_apache_org_v1_IntegrationProfileCondition[[\]IntegrationProfileCondition]*
|


which are the conditions met (particularly useful when in ERROR phase)


|===

[#_camel_apache_org_v1_IntegrationSpec]
Expand Down
Loading
Loading