blob: f8dc8deb7c37ae0a7bb74bc2fd2ec1f90c0629e3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
---
kind: ConfigMap
metadata:
name: rest-curl
namespace: test-kafka
apiVersion: v1
data:
setup.sh: |-
touch /tmp/testlog
# Keep starting up until rest proxy is up and running
curl --retry 10 --retry-delay 30 --retry-connrefused -I -s $REST
curl -s -H 'Accept: application/vnd.kafka.v2+json' $REST/brokers | egrep '."brokers":.0'
curl -s -H 'Accept: application/vnd.kafka.v2+json' $REST/topics
echo ""
curl -s -H 'Accept: application/vnd.kafka.v2+json' $REST/topics/$TOPIC
echo ""
curl -X POST \
-H "Content-Type: application/vnd.kafka.json.v2+json" -H "Accept: application/vnd.kafka.v2+json" \
--data "{\"records\":[{\"value\":\"Test from $HOSTNAME at $(date -u -Iseconds)\"}]}" \
$REST/topics/$TOPIC
echo ""
curl -s -H 'Accept: application/vnd.kafka.v2+json' $REST/topics/$TOPIC/partitions
echo ""
curl -X POST \
-H "Content-Type: application/vnd.kafka.v2+json" \
--data '{"name": "my_consumer_instance", "format": "json", "auto.offset.reset": "earliest"}' \
$REST/consumers/my_json_consumer
echo ""
curl -X POST \
-H "Content-Type: application/vnd.kafka.v2+json" \
--data "{\"topics\":[\"$TOPIC\"]}" \
$REST/consumers/my_json_consumer/instances/my_consumer_instance/subscription \
-w "%{http_code}"
echo ""
curl -X GET \
-H "Accept: application/vnd.kafka.json.v2+json" \
$REST/consumers/my_json_consumer/instances/my_consumer_instance/records
curl -X DELETE \
-H "Content-Type: application/vnd.kafka.v2+json" \
$REST/consumers/my_json_consumer/instances/my_consumer_instance
tail -f /tmp/testlog
continue.sh: |-
exit 0
run.sh: |-
exec >> /tmp/testlog
exec 2>&1
exit 0
---
apiVersion: batch/v1
kind: Job
metadata:
name: rest-curl
namespace: test-kafka
spec:
template:
spec:
containers:
- name: topic-create
image: solsson/kafka:0.11.0.0@sha256:b27560de08d30ebf96d12e74f80afcaca503ad4ca3103e63b1fd43a2e4c976ce
command:
- ./bin/kafka-topics.sh
- --zookeeper
- zookeeper.kafka.svc.cluster.local:2181
- --create
- --if-not-exists
- --topic
- test-rest-curl
- --partitions
- "1"
- --replication-factor
- "1"
restartPolicy: Never
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: rest-curl
namespace: test-kafka
spec:
replicas: 1
template:
metadata:
labels:
test-target: kafka
test-type: readiness
spec:
containers:
- name: testcase
image: solsson/curl@sha256:8c0c5d669b3dd67932da934024252af59fb9d0fa0e5118b5a737b35c5e1487bf
env:
- name: REST
value: http://rest.kafka.svc.cluster.local
- name: TOPIC
value: test-rest-curl
# Test set up
command:
- /bin/bash
- -e
- /test/setup.sh
# Test run, again and again
readinessProbe:
exec:
command:
- /bin/bash
- -e
- /test/run.sh
# We haven't worked on timing
periodSeconds: 60
# Test quit on nonzero exit
livenessProbe:
exec:
command:
- /bin/bash
- -e
- /test/continue.sh
volumeMounts:
- name: config
mountPath: /test
volumes:
- name: config
configMap:
name: rest-curl
|