This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch camel-main in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 2879e9fc45a538fc5b2314389f769a55650c9282 Author: Antonin Stefanutti <anto...@stefanutti.fr> AuthorDate: Mon Jun 7 11:07:53 2021 +0200 chore(doc): Remove deprecated Camel Sources documentation --- docs/modules/ROOT/nav-end.adoc | 1 - .../ROOT/pages/architecture/architecture.adoc | 6 +- docs/modules/ROOT/pages/architecture/sources.adoc | 88 ---------------------- 3 files changed, 1 insertion(+), 94 deletions(-) diff --git a/docs/modules/ROOT/nav-end.adoc b/docs/modules/ROOT/nav-end.adoc index ef308e5..e49c4d3 100644 --- a/docs/modules/ROOT/nav-end.adoc +++ b/docs/modules/ROOT/nav-end.adoc @@ -14,7 +14,6 @@ *** xref:architecture/cr/camel-catalog.adoc[CamelCatalog] ** xref:architecture/runtime.adoc[Runtime] ** xref:architecture/traits.adoc[Traits] -** xref:architecture/sources.adoc[Sources] * xref:apis/camel.adoc[API] * xref:uninstalling.adoc[Uninstalling] * xref:contributing/developers.adoc[Contributing] diff --git a/docs/modules/ROOT/pages/architecture/architecture.adoc b/docs/modules/ROOT/pages/architecture/architecture.adoc index c92fcd3..fe2268a 100644 --- a/docs/modules/ROOT/pages/architecture/architecture.adoc +++ b/docs/modules/ROOT/pages/architecture/architecture.adoc @@ -15,8 +15,4 @@ The main *Camel K* platform concepts are: 1. The xref:architecture/operator.adoc[Operator] which is the intelligence that coordinates all the moving parts; 2. The xref:architecture/runtime.adoc[Runtime] which provides the functionality to run the integration; -3. The xref:architecture/traits.adoc[Traits] through which the behavior of the operator and the runtime can be customized. - -For information on how *Camel K* is able to provide *Sources* e.g. for the Knative platform: - -- The xref:architecture/sources.adoc[Sources] page describes how sources are internally materialized. +3. The xref:architecture/traits.adoc[Traits] which configure the integration and the runtime. diff --git a/docs/modules/ROOT/pages/architecture/sources.adoc b/docs/modules/ROOT/pages/architecture/sources.adoc deleted file mode 100644 index 5541c23..0000000 --- a/docs/modules/ROOT/pages/architecture/sources.adoc +++ /dev/null @@ -1,88 +0,0 @@ -[[sources]] -= Sources - -WARNING: This document describes features that will be -*available in Camel K 1.2.x* (not released at the time of writing: August 08, 2020) - -One of the goals of Camel K is to provide connectors that can be easily installed on any Kubernetes cluster and -used when needed to provide data to internal services or publish data outside, without requiring any in-depth knowledge about Apache Camel from the end-users. - -Knative Sources fall into this category, but in general, sources described here can be used with any underlying technology. - -NOTE: https://knative.dev/docs/eventing/samples/apache-camel-source/[Knative CamelSources] is a community effort to provide specific sources for Knative. -What we describe in this document is a more general approach that is an alternative to Knative CamelSources and aims to supersede them. - -== Sources Design - -The following diagram shows how sources are materialized from their elementary building blocks. - -image::architecture/camel-k-sources-diagram.png[Next-gen Sources diagram] - -=== Kamelets as Abstract Sources - -In the context of sources, *Kamelets* play the role of abstract sources that can be materialized once the user provides values for all -mandatory parameters contained in the Kamelet specification. - -What follows is a simple Kamelet that can produce periodic events with a specified payload: - -[source,yaml] ----- -apiVersion: camel.apache.org/v1alpha1 -kind: Kamelet -metadata: - name: timer -spec: - definition: - title: "Timer" - description: "Produces periodic events with a custom payload" - required: - - message - properties: - payload: # <1> - title: Payload - description: The message to generate as payload of each Cloudevent - type: string - # continues with the flow declaration - # ... ----- -<1> The definition of the `payload` property - -The Kamelet contains the definition of all properties in JSON Schema format. In this example, there's only a single property named `payload`. - -A Kamelet does nothing when created on a cluster, but it can be used later to create sources, as explained in the remainder of this document. - -=== Integration: binding a Kamelet to a destination - -An integration can be used to bind a Kamelet to a destination, providing values for all the Kamelet parameters. - -For example, the following integration binds the `timer` Kamelet to the Knative *InMemoryChannel* named `mychannel`: - -[source,yaml] ----- -apiVersion: camel.apache.org/v1 -kind: Integration -metadata: - name: timer-source -spec: - flows: - - from: - uri: kamelet:timer # <1> - parameters: - payload: "Hello World" # <2> - steps: - - to: knative:channel/mychannel?apiVersion=messaging.knative.dev/v1beta1&kind=InMemoryChannel # <3> ----- -<1> Reference to the Kamelet named `timer` -<2> Value for the `payload` required property (and others, if present) -<3> Destination of the generated events - -When binding a Kamelet to a single (fully specified) Knative destination, Camel K does not attempt to do any binding, -instead, it delegates the actual mapping to a Knative *SinkBinding* resource. - -The **SinkBinding** intercepts the creation of the Deployment containing the integration specification, to inject the -exact coordinates of the destination (in the example, of the InMemoryChannel named `mychannel`). -This mechanism works also if the integration is materialized into a Knative Serving Service or into a CronJob, not only if a -standard Deployment is used. - -The SinkBinding resource is also interpreted at Knative level as a standard source, so the `kn` CLI is able to properly recognize -it. UI tools based on Knative, e.g. the OpenShift console, should also be able to display it as a standard source.