Skip to content

Commit 2a67108

Browse files
authored
Tutorial updated to latest version of kn (#285)
* refactoring tutorial to work with newer version of Knative * reverted change related to gulpfile.ts * final changes * staging.yml updated as well. * Resolved comments from Sebastien. Co-authored-by: ammbra <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>
1 parent f4c8dba commit 2a67108

27 files changed

Lines changed: 631 additions & 560 deletions
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
apiVersion: camel.apache.org/v1alpha1
2+
kind: Kamelet
3+
metadata:
4+
name: fruits-processor
5+
annotations:
6+
camel.apache.org/kamelet.support.level: "Preview"
7+
camel.apache.org/catalog.version: "main-SNAPSHOT"
8+
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K"
9+
camel.apache.org/provider: "Apache Software Foundation"
10+
camel.apache.org/kamelet.group: "Kafka"
11+
labels:
12+
camel.apache.org/kamelet.type: "source"
13+
spec:
14+
definition:
15+
title: "Kafka Not Secured Source"
16+
description: |-
17+
Receive data from Kafka topics on an insecure broker.
18+
required:
19+
- topic
20+
- brokers
21+
type: object
22+
properties:
23+
topic:
24+
title: Topic Names
25+
description: Comma separated list of Kafka topic names
26+
type: string
27+
brokers:
28+
title: Brokers
29+
description: Comma separated list of Kafka Broker URLs
30+
type: string
31+
dependencies:
32+
- "github:apache.camel-kamelets:camel-kamelets-utils:main-SNAPSHOT"
33+
- "camel:kafka"
34+
- "camel:kamelet"
35+
- "camel:jackson"
36+
- "camel:core"
37+
- "camel:log"
38+
flow:
39+
from:
40+
uri: "kafka:fruits?brokers=my-cluster-kafka-bootstrap.kafka:9092"
41+
steps:
42+
- log:
43+
message: "Received Body ${body}"
44+
- unmarshal:
45+
json: {}
46+
- choice:
47+
when:
48+
- simple: "${body[nutritions][sugar]} <= 5"
49+
steps:
50+
- remove-headers: "*"
51+
- marshal:
52+
json: {}
53+
- set-header:
54+
name: ce-type
55+
constant: low-sugar
56+
- set-header:
57+
name: fruit-sugar-level
58+
constant: low
59+
- to: "log:low?showAll=true&multiline=true"
60+
- simple: "${body[nutritions][sugar]} > 5 || ${body[nutritions][sugar]} <= 10"
61+
steps:
62+
- remove-headers: "*"
63+
- marshal:
64+
json: {}
65+
- set-header:
66+
name: ce-type
67+
constant: medium-sugar
68+
- set-header:
69+
name: fruit-sugar-level
70+
constant: medium
71+
- to: "log:medium?showAll=true&multiline=true"
72+
otherwise:
73+
steps:
74+
- remove-headers: "*"
75+
- marshal:
76+
json: {}
77+
- set-header:
78+
name: ce-type
79+
constant: high-sugar
80+
- set-header:
81+
name: fruit-sugar-level
82+
constant: high
83+
- to: "log:high?showAll=true&multiline=true"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
apiVersion: camel.apache.org/v1alpha1
2+
kind: KameletBinding
3+
metadata:
4+
name: fruits-processor-to-knative
5+
spec:
6+
source:
7+
ref:
8+
kind: Kamelet
9+
apiVersion: camel.apache.org/v1alpha1
10+
name: fruits-processor
11+
properties:
12+
topic: "fruits"
13+
brokers: "my-cluster-kafka-bootstrap.kafka:9092"
14+
sink:
15+
ref:
16+
kind: Broker
17+
apiVersion: eventing.knative.dev/v1
18+
name: default

advanced/camel-k/eip/fruits-producer.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
- from:
2-
uri: "knative:endpoint/fruits-producer"
2+
uri: timer:tick
3+
parameters:
4+
period: 5000
35
steps:
46
- set-header:
57
name: CamelHttpMethod
68
constant: GET
7-
- to: "http:fruityvice-proxy:8080/api/fruit/all?bridgeEndpoint=true"
9+
- to: "https://www.fruityvice.com/api/fruit/all"
810
- split:
911
jsonpath: "$.[*]"
1012
- marshal:
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: camel.apache.org/v1alpha1
2+
kind: KameletBinding
3+
metadata:
4+
name: timed-greeter-binding
5+
spec:
6+
source:
7+
ref:
8+
kind: Kamelet
9+
apiVersion: camel.apache.org/v1alpha1
10+
name: timed-greeter
11+
properties:
12+
period: 5000
13+
message: Welcome to Apache Camel K
14+
sink:
15+
uri: http://event-display-knativetutorial.<example>.com
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
apiVersion: camel.apache.org/v1alpha1
2+
kind: Kamelet
3+
metadata:
4+
name: timed-greeter
5+
spec:
6+
definition:
7+
title: Timed Greeter Source
8+
description: Produces periodic events with a custom payload.
9+
required:
10+
- message
11+
type: object
12+
properties:
13+
period:
14+
title: Period
15+
description: The interval between two events in milliseconds
16+
type: integer
17+
default: 1000
18+
message:
19+
title: Message
20+
description: The message to generate
21+
type: string
22+
example: hello world
23+
contentType:
24+
title: Content Type
25+
description: The content type of the message being generated
26+
type: string
27+
default: text/plain
28+
dependencies:
29+
- "camel:core"
30+
- "camel:timer"
31+
- "camel:kamelet"
32+
template:
33+
from:
34+
uri: timer:tick
35+
parameters:
36+
period: 10000
37+
steps:
38+
- set-body:
39+
constant: "{{message}}"
40+
- set-header:
41+
name: "Content-Type"
42+
constant: "{{contentType}}"
43+
- transform:
44+
simple: "${body.toUpperCase()}"
45+
- to: "kamelet:sink"

bin/install-istio.sh

Lines changed: 0 additions & 110 deletions
This file was deleted.

bin/kafka-consumer.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ KAFKA_CLUSTER_NS=${2:-'kafka'}
88
KAFKA_CLUSTER_NAME=${3:-'my-cluster'}
99

1010
kubectl -n $KAFKA_CLUSTER_NS run kafka-consumer -ti \
11-
--image=strimzi/kafka:0.15.0-kafka-2.3.1 \
11+
--image=quay.io/strimzi/kafka:0.26.1-kafka-3.0.0 \
1212
--rm=true --restart=Never \
1313
-- bin/kafka-console-consumer.sh \
1414
--bootstrap-server $KAFKA_CLUSTER_NAME-$KAFKA_CLUSTER_NS-bootstrap:9092 \

bin/kafka-producer.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ KAFKA_CLUSTER_NAME=${3:-'my-cluster'}
99

1010

1111
kubectl -n $KAFKA_CLUSTER_NS run kafka-producer -ti \
12-
--image=strimzi/kafka:0.15.0-kafka-2.3.1 \
12+
--image=quay.io/strimzi/kafka:0.26.1-kafka-3.0.0 \
1313
--rm=true --restart=Never \
1414
-- bin/kafka-console-producer.sh\
1515
--broker-list $KAFKA_CLUSTER_NAME-$KAFKA_CLUSTER_NS-bootstrap:9092 \

bin/start-minikube.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ then
1414
--memory="$MEMORY" \
1515
--driver=hyperkit \
1616
--cpus="$CPUS" \
17-
--kubernetes-version=v1.19.0 \
17+
--kubernetes-version=v1.23.0 \
1818
--disk-size=50g \
1919
--insecure-registry='10.0.0.0/24'
2020
else
2121
minikube start -p "$PROFILE_NAME" \
2222
--memory="$MEMORY" \
2323
--cpus="$CPUS" \
24-
--kubernetes-version=v1.19.0 \
24+
--kubernetes-version=v1.23.0 \
2525
--disk-size=50g \
2626
--insecure-registry='10.0.0.0/24'
2727
fi

0 commit comments

Comments
 (0)