ruby-kafka-aws-iam 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +393 -0
  3. data/.github/workflows/stale.yml +19 -0
  4. data/.gitignore +13 -0
  5. data/.readygo +1 -0
  6. data/.rspec +3 -0
  7. data/.rubocop.yml +44 -0
  8. data/.ruby-version +1 -0
  9. data/.yardopts +3 -0
  10. data/CHANGELOG.md +314 -0
  11. data/Gemfile +5 -0
  12. data/ISSUE_TEMPLATE.md +23 -0
  13. data/LICENSE.txt +176 -0
  14. data/Procfile +2 -0
  15. data/README.md +1356 -0
  16. data/Rakefile +8 -0
  17. data/benchmarks/message_encoding.rb +23 -0
  18. data/bin/console +8 -0
  19. data/bin/setup +5 -0
  20. data/docker-compose.yml +39 -0
  21. data/examples/consumer-group.rb +35 -0
  22. data/examples/firehose-consumer.rb +64 -0
  23. data/examples/firehose-producer.rb +54 -0
  24. data/examples/simple-consumer.rb +34 -0
  25. data/examples/simple-producer.rb +42 -0
  26. data/examples/ssl-producer.rb +44 -0
  27. data/lib/kafka/async_producer.rb +297 -0
  28. data/lib/kafka/broker.rb +217 -0
  29. data/lib/kafka/broker_info.rb +16 -0
  30. data/lib/kafka/broker_pool.rb +41 -0
  31. data/lib/kafka/broker_uri.rb +43 -0
  32. data/lib/kafka/client.rb +838 -0
  33. data/lib/kafka/cluster.rb +513 -0
  34. data/lib/kafka/compression.rb +45 -0
  35. data/lib/kafka/compressor.rb +86 -0
  36. data/lib/kafka/connection.rb +228 -0
  37. data/lib/kafka/connection_builder.rb +33 -0
  38. data/lib/kafka/consumer.rb +642 -0
  39. data/lib/kafka/consumer_group/assignor.rb +63 -0
  40. data/lib/kafka/consumer_group.rb +231 -0
  41. data/lib/kafka/crc32_hash.rb +15 -0
  42. data/lib/kafka/datadog.rb +420 -0
  43. data/lib/kafka/digest.rb +22 -0
  44. data/lib/kafka/fetch_operation.rb +115 -0
  45. data/lib/kafka/fetched_batch.rb +58 -0
  46. data/lib/kafka/fetched_batch_generator.rb +120 -0
  47. data/lib/kafka/fetched_message.rb +48 -0
  48. data/lib/kafka/fetched_offset_resolver.rb +48 -0
  49. data/lib/kafka/fetcher.rb +224 -0
  50. data/lib/kafka/gzip_codec.rb +34 -0
  51. data/lib/kafka/heartbeat.rb +25 -0
  52. data/lib/kafka/instrumenter.rb +38 -0
  53. data/lib/kafka/interceptors.rb +33 -0
  54. data/lib/kafka/lz4_codec.rb +27 -0
  55. data/lib/kafka/message_buffer.rb +87 -0
  56. data/lib/kafka/murmur2_hash.rb +17 -0
  57. data/lib/kafka/offset_manager.rb +259 -0
  58. data/lib/kafka/partitioner.rb +40 -0
  59. data/lib/kafka/pause.rb +92 -0
  60. data/lib/kafka/pending_message.rb +29 -0
  61. data/lib/kafka/pending_message_queue.rb +41 -0
  62. data/lib/kafka/produce_operation.rb +205 -0
  63. data/lib/kafka/producer.rb +528 -0
  64. data/lib/kafka/prometheus.rb +316 -0
  65. data/lib/kafka/protocol/add_offsets_to_txn_request.rb +29 -0
  66. data/lib/kafka/protocol/add_offsets_to_txn_response.rb +21 -0
  67. data/lib/kafka/protocol/add_partitions_to_txn_request.rb +34 -0
  68. data/lib/kafka/protocol/add_partitions_to_txn_response.rb +47 -0
  69. data/lib/kafka/protocol/alter_configs_request.rb +44 -0
  70. data/lib/kafka/protocol/alter_configs_response.rb +49 -0
  71. data/lib/kafka/protocol/api_versions_request.rb +21 -0
  72. data/lib/kafka/protocol/api_versions_response.rb +53 -0
  73. data/lib/kafka/protocol/consumer_group_protocol.rb +19 -0
  74. data/lib/kafka/protocol/create_partitions_request.rb +42 -0
  75. data/lib/kafka/protocol/create_partitions_response.rb +28 -0
  76. data/lib/kafka/protocol/create_topics_request.rb +45 -0
  77. data/lib/kafka/protocol/create_topics_response.rb +26 -0
  78. data/lib/kafka/protocol/decoder.rb +175 -0
  79. data/lib/kafka/protocol/delete_topics_request.rb +33 -0
  80. data/lib/kafka/protocol/delete_topics_response.rb +26 -0
  81. data/lib/kafka/protocol/describe_configs_request.rb +35 -0
  82. data/lib/kafka/protocol/describe_configs_response.rb +73 -0
  83. data/lib/kafka/protocol/describe_groups_request.rb +27 -0
  84. data/lib/kafka/protocol/describe_groups_response.rb +73 -0
  85. data/lib/kafka/protocol/encoder.rb +184 -0
  86. data/lib/kafka/protocol/end_txn_request.rb +29 -0
  87. data/lib/kafka/protocol/end_txn_response.rb +19 -0
  88. data/lib/kafka/protocol/fetch_request.rb +70 -0
  89. data/lib/kafka/protocol/fetch_response.rb +136 -0
  90. data/lib/kafka/protocol/find_coordinator_request.rb +29 -0
  91. data/lib/kafka/protocol/find_coordinator_response.rb +29 -0
  92. data/lib/kafka/protocol/heartbeat_request.rb +27 -0
  93. data/lib/kafka/protocol/heartbeat_response.rb +17 -0
  94. data/lib/kafka/protocol/init_producer_id_request.rb +26 -0
  95. data/lib/kafka/protocol/init_producer_id_response.rb +27 -0
  96. data/lib/kafka/protocol/join_group_request.rb +47 -0
  97. data/lib/kafka/protocol/join_group_response.rb +41 -0
  98. data/lib/kafka/protocol/leave_group_request.rb +25 -0
  99. data/lib/kafka/protocol/leave_group_response.rb +17 -0
  100. data/lib/kafka/protocol/list_groups_request.rb +23 -0
  101. data/lib/kafka/protocol/list_groups_response.rb +35 -0
  102. data/lib/kafka/protocol/list_offset_request.rb +53 -0
  103. data/lib/kafka/protocol/list_offset_response.rb +89 -0
  104. data/lib/kafka/protocol/member_assignment.rb +42 -0
  105. data/lib/kafka/protocol/message.rb +172 -0
  106. data/lib/kafka/protocol/message_set.rb +55 -0
  107. data/lib/kafka/protocol/metadata_request.rb +31 -0
  108. data/lib/kafka/protocol/metadata_response.rb +185 -0
  109. data/lib/kafka/protocol/offset_commit_request.rb +47 -0
  110. data/lib/kafka/protocol/offset_commit_response.rb +29 -0
  111. data/lib/kafka/protocol/offset_fetch_request.rb +38 -0
  112. data/lib/kafka/protocol/offset_fetch_response.rb +56 -0
  113. data/lib/kafka/protocol/produce_request.rb +94 -0
  114. data/lib/kafka/protocol/produce_response.rb +63 -0
  115. data/lib/kafka/protocol/record.rb +88 -0
  116. data/lib/kafka/protocol/record_batch.rb +223 -0
  117. data/lib/kafka/protocol/request_message.rb +26 -0
  118. data/lib/kafka/protocol/sasl_handshake_request.rb +33 -0
  119. data/lib/kafka/protocol/sasl_handshake_response.rb +28 -0
  120. data/lib/kafka/protocol/sync_group_request.rb +33 -0
  121. data/lib/kafka/protocol/sync_group_response.rb +26 -0
  122. data/lib/kafka/protocol/txn_offset_commit_request.rb +46 -0
  123. data/lib/kafka/protocol/txn_offset_commit_response.rb +47 -0
  124. data/lib/kafka/protocol.rb +225 -0
  125. data/lib/kafka/round_robin_assignment_strategy.rb +52 -0
  126. data/lib/kafka/sasl/awsmskiam.rb +128 -0
  127. data/lib/kafka/sasl/gssapi.rb +76 -0
  128. data/lib/kafka/sasl/oauth.rb +64 -0
  129. data/lib/kafka/sasl/plain.rb +39 -0
  130. data/lib/kafka/sasl/scram.rb +180 -0
  131. data/lib/kafka/sasl_authenticator.rb +73 -0
  132. data/lib/kafka/snappy_codec.rb +29 -0
  133. data/lib/kafka/socket_with_timeout.rb +96 -0
  134. data/lib/kafka/ssl_context.rb +66 -0
  135. data/lib/kafka/ssl_socket_with_timeout.rb +192 -0
  136. data/lib/kafka/statsd.rb +296 -0
  137. data/lib/kafka/tagged_logger.rb +77 -0
  138. data/lib/kafka/transaction_manager.rb +306 -0
  139. data/lib/kafka/transaction_state_machine.rb +72 -0
  140. data/lib/kafka/version.rb +5 -0
  141. data/lib/kafka/zstd_codec.rb +27 -0
  142. data/lib/kafka.rb +373 -0
  143. data/lib/ruby-kafka.rb +5 -0
  144. data/ruby-kafka.gemspec +54 -0
  145. metadata +520 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 12a6cd684ff2abb033b8b9c1c915e0d68eba5d55ca1bc42f1f219f2ded135ee3
4
+ data.tar.gz: f6a0344386a80000a7b48bd6b199917b0abc32558377cf79cfca2a28d717d4c4
5
+ SHA512:
6
+ metadata.gz: 4e24776f995ae5b32a92bfc73cf2164963a803aa6704a6796ebae4e677284f27b8c7eaa61001b25fa90ebcb6e45c8565ed89c059f912e05053a3958b4ffd5106
7
+ data.tar.gz: 83fe226fa24bafcfedabb24d91d959139132f40e6db8853253f418e7bfc069995b0db9eda0e0950105d67462dde24544353fcb87e3a66c230dcf0a8c62d81ff1
@@ -0,0 +1,393 @@
1
+ version: 2
2
+ jobs:
3
+ unit:
4
+ docker:
5
+ - image: circleci/ruby:2.5.1-node
6
+ environment:
7
+ LOG_LEVEL: DEBUG
8
+ steps:
9
+ - checkout
10
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
11
+ - run: bundle install --path vendor/bundle
12
+ - run: bundle exec rspec
13
+ - run: bundle exec rubocop
14
+
15
+ kafka-0.11:
16
+ docker:
17
+ - image: circleci/ruby:2.5.1-node
18
+ environment:
19
+ LOG_LEVEL: DEBUG
20
+ - image: wurstmeister/zookeeper
21
+ - image: wurstmeister/kafka:2.11-0.11.0.3
22
+ environment:
23
+ KAFKA_ADVERTISED_HOST_NAME: localhost
24
+ KAFKA_ADVERTISED_PORT: 9092
25
+ KAFKA_PORT: 9092
26
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
27
+ KAFKA_DELETE_TOPIC_ENABLE: true
28
+ - image: wurstmeister/kafka:2.11-0.11.0.3
29
+ environment:
30
+ KAFKA_ADVERTISED_HOST_NAME: localhost
31
+ KAFKA_ADVERTISED_PORT: 9093
32
+ KAFKA_PORT: 9093
33
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
34
+ KAFKA_DELETE_TOPIC_ENABLE: true
35
+ - image: wurstmeister/kafka:2.11-0.11.0.3
36
+ environment:
37
+ KAFKA_ADVERTISED_HOST_NAME: localhost
38
+ KAFKA_ADVERTISED_PORT: 9094
39
+ KAFKA_PORT: 9094
40
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
41
+ KAFKA_DELETE_TOPIC_ENABLE: true
42
+ steps:
43
+ - checkout
44
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
45
+ - run: bundle install --path vendor/bundle
46
+ - run: bundle exec rspec --profile --tag functional spec/functional
47
+
48
+ kafka-1.0.0:
49
+ docker:
50
+ - image: circleci/ruby:2.5.1-node
51
+ environment:
52
+ LOG_LEVEL: DEBUG
53
+ - image: wurstmeister/zookeeper
54
+ - image: wurstmeister/kafka:2.11-1.0.2
55
+ environment:
56
+ KAFKA_ADVERTISED_HOST_NAME: localhost
57
+ KAFKA_ADVERTISED_PORT: 9092
58
+ KAFKA_PORT: 9092
59
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
60
+ KAFKA_DELETE_TOPIC_ENABLE: true
61
+ - image: wurstmeister/kafka:2.11-1.0.2
62
+ environment:
63
+ KAFKA_ADVERTISED_HOST_NAME: localhost
64
+ KAFKA_ADVERTISED_PORT: 9093
65
+ KAFKA_PORT: 9093
66
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
67
+ KAFKA_DELETE_TOPIC_ENABLE: true
68
+ - image: wurstmeister/kafka:2.11-1.0.2
69
+ environment:
70
+ KAFKA_ADVERTISED_HOST_NAME: localhost
71
+ KAFKA_ADVERTISED_PORT: 9094
72
+ KAFKA_PORT: 9094
73
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
74
+ KAFKA_DELETE_TOPIC_ENABLE: true
75
+ steps:
76
+ - checkout
77
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
78
+ - run: bundle install --path vendor/bundle
79
+ - run: bundle exec rspec --profile --tag functional spec/functional
80
+
81
+ kafka-1.1:
82
+ docker:
83
+ - image: circleci/ruby:2.5.1-node
84
+ environment:
85
+ LOG_LEVEL: DEBUG
86
+ - image: wurstmeister/zookeeper
87
+ - image: wurstmeister/kafka:2.11-1.1.1
88
+ environment:
89
+ KAFKA_ADVERTISED_HOST_NAME: localhost
90
+ KAFKA_ADVERTISED_PORT: 9092
91
+ KAFKA_PORT: 9092
92
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
93
+ KAFKA_DELETE_TOPIC_ENABLE: true
94
+ - image: wurstmeister/kafka:2.11-1.1.1
95
+ environment:
96
+ KAFKA_ADVERTISED_HOST_NAME: localhost
97
+ KAFKA_ADVERTISED_PORT: 9093
98
+ KAFKA_PORT: 9093
99
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
100
+ KAFKA_DELETE_TOPIC_ENABLE: true
101
+ - image: wurstmeister/kafka:2.11-1.1.1
102
+ environment:
103
+ KAFKA_ADVERTISED_HOST_NAME: localhost
104
+ KAFKA_ADVERTISED_PORT: 9094
105
+ KAFKA_PORT: 9094
106
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
107
+ KAFKA_DELETE_TOPIC_ENABLE: true
108
+ steps:
109
+ - checkout
110
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
111
+ - run: bundle install --path vendor/bundle
112
+ - run: bundle exec rspec --profile --tag functional spec/functional
113
+
114
+ kafka-2.0:
115
+ docker:
116
+ - image: circleci/ruby:2.5.1-node
117
+ environment:
118
+ LOG_LEVEL: DEBUG
119
+ - image: wurstmeister/zookeeper
120
+ - image: wurstmeister/kafka:2.11-2.0.1
121
+ environment:
122
+ KAFKA_ADVERTISED_HOST_NAME: localhost
123
+ KAFKA_ADVERTISED_PORT: 9092
124
+ KAFKA_PORT: 9092
125
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
126
+ KAFKA_DELETE_TOPIC_ENABLE: true
127
+ - image: wurstmeister/kafka:2.11-2.0.1
128
+ environment:
129
+ KAFKA_ADVERTISED_HOST_NAME: localhost
130
+ KAFKA_ADVERTISED_PORT: 9093
131
+ KAFKA_PORT: 9093
132
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
133
+ KAFKA_DELETE_TOPIC_ENABLE: true
134
+ - image: wurstmeister/kafka:2.11-2.0.1
135
+ environment:
136
+ KAFKA_ADVERTISED_HOST_NAME: localhost
137
+ KAFKA_ADVERTISED_PORT: 9094
138
+ KAFKA_PORT: 9094
139
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
140
+ KAFKA_DELETE_TOPIC_ENABLE: true
141
+ steps:
142
+ - checkout
143
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
144
+ - run: bundle install --path vendor/bundle
145
+ - run: bundle exec rspec --profile --tag functional spec/functional
146
+
147
+ kafka-2.1:
148
+ docker:
149
+ - image: circleci/ruby:2.5.1-node
150
+ environment:
151
+ LOG_LEVEL: DEBUG
152
+ - image: wurstmeister/zookeeper
153
+ - image: wurstmeister/kafka:2.12-2.1.1
154
+ environment:
155
+ KAFKA_ADVERTISED_HOST_NAME: localhost
156
+ KAFKA_ADVERTISED_PORT: 9092
157
+ KAFKA_PORT: 9092
158
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
159
+ KAFKA_DELETE_TOPIC_ENABLE: true
160
+ - image: wurstmeister/kafka:2.12-2.1.1
161
+ environment:
162
+ KAFKA_ADVERTISED_HOST_NAME: localhost
163
+ KAFKA_ADVERTISED_PORT: 9093
164
+ KAFKA_PORT: 9093
165
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
166
+ KAFKA_DELETE_TOPIC_ENABLE: true
167
+ - image: wurstmeister/kafka:2.12-2.1.1
168
+ environment:
169
+ KAFKA_ADVERTISED_HOST_NAME: localhost
170
+ KAFKA_ADVERTISED_PORT: 9094
171
+ KAFKA_PORT: 9094
172
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
173
+ KAFKA_DELETE_TOPIC_ENABLE: true
174
+ steps:
175
+ - checkout
176
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
177
+ - run: bundle install --path vendor/bundle
178
+ - run: bundle exec rspec --profile --tag functional spec/functional
179
+
180
+ kafka-2.2:
181
+ docker:
182
+ - image: circleci/ruby:2.5.1-node
183
+ environment:
184
+ LOG_LEVEL: DEBUG
185
+ - image: wurstmeister/zookeeper
186
+ - image: wurstmeister/kafka:2.12-2.2.1
187
+ environment:
188
+ KAFKA_ADVERTISED_HOST_NAME: localhost
189
+ KAFKA_ADVERTISED_PORT: 9092
190
+ KAFKA_PORT: 9092
191
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
192
+ KAFKA_DELETE_TOPIC_ENABLE: true
193
+ - image: wurstmeister/kafka:2.12-2.2.1
194
+ environment:
195
+ KAFKA_ADVERTISED_HOST_NAME: localhost
196
+ KAFKA_ADVERTISED_PORT: 9093
197
+ KAFKA_PORT: 9093
198
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
199
+ KAFKA_DELETE_TOPIC_ENABLE: true
200
+ - image: wurstmeister/kafka:2.12-2.2.1
201
+ environment:
202
+ KAFKA_ADVERTISED_HOST_NAME: localhost
203
+ KAFKA_ADVERTISED_PORT: 9094
204
+ KAFKA_PORT: 9094
205
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
206
+ KAFKA_DELETE_TOPIC_ENABLE: true
207
+ steps:
208
+ - checkout
209
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
210
+ - run: bundle install --path vendor/bundle
211
+ - run: bundle exec rspec --profile --tag functional spec/functional
212
+
213
+ kafka-2.3:
214
+ docker:
215
+ - image: circleci/ruby:2.5.1-node
216
+ environment:
217
+ LOG_LEVEL: DEBUG
218
+ - image: wurstmeister/zookeeper
219
+ - image: wurstmeister/kafka:2.12-2.3.1
220
+ environment:
221
+ KAFKA_ADVERTISED_HOST_NAME: localhost
222
+ KAFKA_ADVERTISED_PORT: 9092
223
+ KAFKA_PORT: 9092
224
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
225
+ KAFKA_DELETE_TOPIC_ENABLE: true
226
+ - image: wurstmeister/kafka:2.12-2.3.1
227
+ environment:
228
+ KAFKA_ADVERTISED_HOST_NAME: localhost
229
+ KAFKA_ADVERTISED_PORT: 9093
230
+ KAFKA_PORT: 9093
231
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
232
+ KAFKA_DELETE_TOPIC_ENABLE: true
233
+ - image: wurstmeister/kafka:2.12-2.3.1
234
+ environment:
235
+ KAFKA_ADVERTISED_HOST_NAME: localhost
236
+ KAFKA_ADVERTISED_PORT: 9094
237
+ KAFKA_PORT: 9094
238
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
239
+ KAFKA_DELETE_TOPIC_ENABLE: true
240
+ steps:
241
+ - checkout
242
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
243
+ - run: bundle install --path vendor/bundle
244
+ - run: bundle exec rspec --profile --tag functional spec/functional
245
+
246
+ kafka-2.4:
247
+ docker:
248
+ - image: circleci/ruby:2.5.1-node
249
+ environment:
250
+ LOG_LEVEL: DEBUG
251
+ - image: wurstmeister/zookeeper
252
+ - image: wurstmeister/kafka:2.12-2.4.0
253
+ environment:
254
+ KAFKA_ADVERTISED_HOST_NAME: localhost
255
+ KAFKA_ADVERTISED_PORT: 9092
256
+ KAFKA_PORT: 9092
257
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
258
+ KAFKA_DELETE_TOPIC_ENABLE: true
259
+ - image: wurstmeister/kafka:2.12-2.4.0
260
+ environment:
261
+ KAFKA_ADVERTISED_HOST_NAME: localhost
262
+ KAFKA_ADVERTISED_PORT: 9093
263
+ KAFKA_PORT: 9093
264
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
265
+ KAFKA_DELETE_TOPIC_ENABLE: true
266
+ - image: wurstmeister/kafka:2.12-2.4.0
267
+ environment:
268
+ KAFKA_ADVERTISED_HOST_NAME: localhost
269
+ KAFKA_ADVERTISED_PORT: 9094
270
+ KAFKA_PORT: 9094
271
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
272
+ KAFKA_DELETE_TOPIC_ENABLE: true
273
+ steps:
274
+ - checkout
275
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
276
+ - run: bundle install --path vendor/bundle
277
+ - run: bundle exec rspec --profile --tag functional spec/functional
278
+
279
+ kafka-2.5:
280
+ docker:
281
+ - image: circleci/ruby:2.5.1-node
282
+ environment:
283
+ LOG_LEVEL: DEBUG
284
+ - image: wurstmeister/zookeeper
285
+ - image: wurstmeister/kafka:2.12-2.5.0
286
+ environment:
287
+ KAFKA_ADVERTISED_HOST_NAME: localhost
288
+ KAFKA_ADVERTISED_PORT: 9092
289
+ KAFKA_PORT: 9092
290
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
291
+ KAFKA_DELETE_TOPIC_ENABLE: true
292
+ - image: wurstmeister/kafka:2.12-2.5.0
293
+ environment:
294
+ KAFKA_ADVERTISED_HOST_NAME: localhost
295
+ KAFKA_ADVERTISED_PORT: 9093
296
+ KAFKA_PORT: 9093
297
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
298
+ KAFKA_DELETE_TOPIC_ENABLE: true
299
+ - image: wurstmeister/kafka:2.12-2.5.0
300
+ environment:
301
+ KAFKA_ADVERTISED_HOST_NAME: localhost
302
+ KAFKA_ADVERTISED_PORT: 9094
303
+ KAFKA_PORT: 9094
304
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
305
+ KAFKA_DELETE_TOPIC_ENABLE: true
306
+ steps:
307
+ - checkout
308
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
309
+ - run: bundle install --path vendor/bundle
310
+ - run: bundle exec rspec --profile --tag functional spec/functional
311
+
312
+ kafka-2.6:
313
+ docker:
314
+ - image: circleci/ruby:2.5.1-node
315
+ environment:
316
+ LOG_LEVEL: DEBUG
317
+ - image: wurstmeister/zookeeper
318
+ - image: wurstmeister/kafka:2.13-2.6.0
319
+ environment:
320
+ KAFKA_ADVERTISED_HOST_NAME: localhost
321
+ KAFKA_ADVERTISED_PORT: 9092
322
+ KAFKA_PORT: 9092
323
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
324
+ KAFKA_DELETE_TOPIC_ENABLE: true
325
+ - image: wurstmeister/kafka:2.13-2.6.0
326
+ environment:
327
+ KAFKA_ADVERTISED_HOST_NAME: localhost
328
+ KAFKA_ADVERTISED_PORT: 9093
329
+ KAFKA_PORT: 9093
330
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
331
+ KAFKA_DELETE_TOPIC_ENABLE: true
332
+ - image: wurstmeister/kafka:2.13-2.6.0
333
+ environment:
334
+ KAFKA_ADVERTISED_HOST_NAME: localhost
335
+ KAFKA_ADVERTISED_PORT: 9094
336
+ KAFKA_PORT: 9094
337
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
338
+ KAFKA_DELETE_TOPIC_ENABLE: true
339
+ steps:
340
+ - checkout
341
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
342
+ - run: bundle install --path vendor/bundle
343
+ - run: bundle exec rspec --profile --tag functional spec/functional
344
+
345
+ kafka-2.7:
346
+ docker:
347
+ - image: circleci/ruby:2.5.1-node
348
+ environment:
349
+ LOG_LEVEL: DEBUG
350
+ - image: wurstmeister/zookeeper
351
+ - image: wurstmeister/kafka:2.13-2.7.0
352
+ environment:
353
+ KAFKA_ADVERTISED_HOST_NAME: localhost
354
+ KAFKA_ADVERTISED_PORT: 9092
355
+ KAFKA_PORT: 9092
356
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
357
+ KAFKA_DELETE_TOPIC_ENABLE: true
358
+ - image: wurstmeister/kafka:2.13-2.7.0
359
+ environment:
360
+ KAFKA_ADVERTISED_HOST_NAME: localhost
361
+ KAFKA_ADVERTISED_PORT: 9093
362
+ KAFKA_PORT: 9093
363
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
364
+ KAFKA_DELETE_TOPIC_ENABLE: true
365
+ - image: wurstmeister/kafka:2.13-2.7.0
366
+ environment:
367
+ KAFKA_ADVERTISED_HOST_NAME: localhost
368
+ KAFKA_ADVERTISED_PORT: 9094
369
+ KAFKA_PORT: 9094
370
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
371
+ KAFKA_DELETE_TOPIC_ENABLE: true
372
+ steps:
373
+ - checkout
374
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
375
+ - run: bundle install --path vendor/bundle
376
+ - run: bundle exec rspec --profile --tag functional spec/functional
377
+
378
+ workflows:
379
+ version: 2
380
+ test:
381
+ jobs:
382
+ - unit
383
+ - kafka-0.11
384
+ - kafka-1.0.0
385
+ - kafka-1.1
386
+ - kafka-2.0
387
+ - kafka-2.1
388
+ - kafka-2.2
389
+ - kafka-2.3
390
+ - kafka-2.4
391
+ - kafka-2.5
392
+ - kafka-2.6
393
+ - kafka-2.7
@@ -0,0 +1,19 @@
1
+ name: Mark stale issues and pull requests
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+
7
+ jobs:
8
+ stale:
9
+
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/stale@v1
14
+ with:
15
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
16
+ stale-issue-message: 'Issue has been marked as stale due to a lack of activity.'
17
+ stale-pr-message: 'Pull request has been marked as stale due to a lack of activity.'
18
+ stale-issue-label: 'no-issue-activity'
19
+ stale-pr-label: 'no-pr-activity'
data/.gitignore ADDED
@@ -0,0 +1,13 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /Gemfile.lock
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .env
11
+ *.log
12
+ *.swp
13
+ .byebug_history
data/.readygo ADDED
@@ -0,0 +1 @@
1
+ {"readygo_file_format_version":1,"benchmark_results":[["message serialization decoding",[0.00777734375,0.007609375,0.00721875,0.00836328125,0.007546875,0.0088046875,0.0069414062500000005,0.007550781249999999,0.0072734374999999995,0.009625,0.007867187500000001,0.01226953125,0.0073984375,0.007292968750000001,0.00937890625,0.0073750000000000005]]]}
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,44 @@
1
+ AllCops:
2
+ DisplayCopNames: true
3
+ TargetRubyVersion: 2.1
4
+
5
+ Lint:
6
+ Enabled: false
7
+ Metrics:
8
+ Enabled: false
9
+ Performance:
10
+ Enabled: false
11
+ Style:
12
+ Enabled: false
13
+
14
+ # Configured cops
15
+
16
+ Layout/CaseIndentation:
17
+ EnforcedStyle: end
18
+ Layout/FirstParameterIndentation:
19
+ EnforcedStyle: consistent
20
+ Layout/IndentArray:
21
+ EnforcedStyle: consistent
22
+ Layout/IndentHash:
23
+ EnforcedStyle: consistent
24
+ Layout/MultilineMethodCallIndentation:
25
+ EnforcedStyle: indented
26
+ Layout/MultilineOperationIndentation:
27
+ EnforcedStyle: indented
28
+ Lint/EndAlignment:
29
+ EnforcedStyleAlignWith: variable
30
+
31
+ #
32
+ # Disabled cops
33
+ #
34
+
35
+ Layout/AlignHash:
36
+ Enabled: false
37
+ Layout/AlignParameters:
38
+ Enabled: false
39
+ Layout/EmptyLinesAroundClassBody:
40
+ Enabled: false
41
+ Layout/EmptyLinesAroundModuleBody:
42
+ Enabled: false
43
+ Layout/SpaceInsideBlockBraces:
44
+ Enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.1
data/.yardopts ADDED
@@ -0,0 +1,3 @@
1
+ --markup-provider=redcarpet
2
+ --markup=markdown
3
+ --title 'Kafka'