Packages
brod
2.5.0
4.5.7
4.5.6
4.5.5
4.5.4
4.5.3
4.5.2
4.5.1
4.5.0
4.4.7
4.4.6
4.4.5
4.4.4
4.4.3
4.4.2
4.4.1
4.4.0
4.3.3
4.3.2
4.3.1
4.3.0
4.2.0
4.1.1
4.1.0
4.0.0
3.19.1
3.19.0
3.18.0
3.17.1
3.17.0
3.16.5
3.16.4
3.16.3
3.16.2
3.16.1
3.16.0
3.15.6
3.15.5
3.15.4
3.15.3
3.15.1
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.5
3.9.3
3.9.2
3.9.1
3.9.0
3.8.1
3.8.0
3.7.11
3.7.10
3.7.9
3.7.8
3.7.7
3.7.6
3.7.5
3.7.4
3.7.3
3.7.2
3.7.1
3.7.0
3.6.2
3.6.1
3.6.0
3.5.2
3.5.1
3.5.0
3.4.0
3.3.5
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.0
3.0.0
2.5.0
2.4.1
2.4.0
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.1
2.2.16
2.2.15
2.2.14
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.12
2.1.11
2.1.10
2.1.8
2.1.7
2.1.4
2.1.2
2.0.0
Apache Kafka Erlang client library
Current section
113 Versions
Jump to
Current section
113 Versions
Compare versions
12
files changed
+199
additions
-35
deletions
| @@ -1,6 +1,6 @@ | |
| 1 1 | PROJECT = brod |
| 2 2 | PROJECT_DESCRIPTION = Kafka client library in Erlang |
| 3 | - PROJECT_VERSION = 2.4.1 |
| 3 | + PROJECT_VERSION = 2.5.0 |
| 4 4 | |
| 5 5 | DEPS = supervisor3 kafka_protocol |
| 6 6 | TEST_DEPS = docopt jsone meck proper |
| @@ -337,6 +337,28 @@ start(ClientId) -> | |
| 337 337 | _CallbackInitArg = []). |
| 338 338 | ``` |
| 339 339 | |
| 340 | + # Authentication support |
| 341 | + |
| 342 | + brod supports SASL PLAIN authentication mechanism out of the box. To use it |
| 343 | + add `{sasl, {plain, Username, Password}}` to client config. Also, brod has authentication |
| 344 | + plugins support. Authentication callback module should implement `brod_auth_backend` behaviour. |
| 345 | + Auth function spec: |
| 346 | + |
| 347 | + ```erlang |
| 348 | + auth(Host :: string(), Sock :: gen_tcp:socket() | ssl:sslsocket(), |
| 349 | + Mod :: gen_tcp | ssl, ClientId :: binary(), |
| 350 | + Timeout :: pos_integer(), SaslOpts :: term()) -> |
| 351 | + ok | {error, Reason :: term()} |
| 352 | + ``` |
| 353 | + |
| 354 | + If authentication is successful - callback function should return an atom `ok`, otherwise - error tuple with reason description. |
| 355 | + For example, you can use `brod_gssapi' plugin (https://github.com/ElMaxo/brod_gssapi) for SASL GSSAPI authentication. |
| 356 | + To use it - add it as dependency to your top level project that uses brod. |
| 357 | + Then add `{sasl, {callback, brod_gssapi, {gssapi, Keytab, Principal}}}` to client config. |
| 358 | + Keytab should be the keytab file path, and Principal should be a byte-list or binary string. |
| 359 | + |
| 360 | + See also: https://github.com/klarna/brod/wiki/SASL-gssapi-(kerberos)-authentication |
| 361 | + |
| 340 362 | # Other API to play with/inspect kafka |
| 341 363 | |
| 342 364 | These functions open a connetion to kafka cluster, send a request, |
| @@ -352,7 +374,8 @@ brod:get_offsets(Hosts, Topic, Partition). | |
| 352 374 | brod:fetch(Hosts, Topic, Partition, 1). |
| 353 375 | ``` |
| 354 376 | |
| 355 | - # Self-contained binary (needs erlang runtime) |
| 377 | + # brod-cli: A command line tool to interact with Kafka |
| 378 | + |
| 356 379 | This will build a self-contained binary with brod application |
| 357 380 | |
| 358 381 | ```bash |
| @@ -1,5 +1,5 @@ | |
| 1 1 | {<<"name">>,<<"brod">>}. |
| 2 | - {<<"version">>,<<"2.4.1">>}. |
| 2 | + {<<"version">>,<<"2.5.0">>}. |
| 3 3 | {<<"requirements">>, |
| 4 4 | #{<<"kafka_protocol">> => #{<<"app">> => <<"kafka_protocol">>, |
| 5 5 | <<"optional">> => false, |
| @@ -24,7 +24,8 @@ | |
| 24 24 | <<"scripts/cover-print-not-covered-lines.escript">>, |
| 25 25 | <<"scripts/cover-summary.escript">>,<<"scripts/generate-certificates.sh">>, |
| 26 26 | <<"scripts/line-width-check.sh">>,<<"scripts/setup-test-env.sh">>, |
| 27 | - <<"scripts/vsn-check.sh">>,<<"src/brod.erl">>,<<"src/brod_cli.erl">>, |
| 27 | + <<"scripts/vsn-check.sh">>,<<"src/brod.erl">>, |
| 28 | + <<"src/brod_auth_backend.erl">>,<<"src/brod_cli.erl">>, |
| 28 29 | <<"src/brod_cli_pipe.erl">>,<<"src/brod_client.erl">>, |
| 29 30 | <<"src/brod_consumer.erl">>,<<"src/brod_consumers_sup.erl">>, |
| 30 31 | <<"src/brod_group_coordinator.erl">>,<<"src/brod_group_member.erl">>, |
unknownscripts/brod
File is too large to be displayed (100 KB limit).
| @@ -1,6 +1,6 @@ | |
| 1 1 | {application,brod, |
| 2 2 | [{description,"Apache Kafka Erlang client library"}, |
| 3 | - {vsn,"2.4.1"}, |
| 3 | + {vsn,"2.5.0"}, |
| 4 4 | {registered,[]}, |
| 5 5 | {applications,[kernel,stdlib,ssl,kafka_protocol,supervisor3]}, |
| 6 6 | {env,[]}, |
Loading more files…