{"id":20746148,"url":"https://github.com/gustavomcarmo/kafka-proxy-test","last_synced_at":"2026-04-18T16:37:09.104Z","repository":{"id":92513793,"uuid":"273680952","full_name":"gustavomcarmo/kafka-proxy-test","owner":"gustavomcarmo","description":"kafka-proxy test project","archived":false,"fork":false,"pushed_at":"2020-08-25T15:53:14.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T12:53:59.577Z","etag":null,"topics":["kafka","kafka-proxy","ldap","ldap-authentication","tls-termination"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gustavomcarmo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-20T09:49:56.000Z","updated_at":"2020-08-25T15:53:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"4dea3647-7b8a-4c24-902f-d113881197b2","html_url":"https://github.com/gustavomcarmo/kafka-proxy-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gustavomcarmo/kafka-proxy-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustavomcarmo%2Fkafka-proxy-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustavomcarmo%2Fkafka-proxy-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustavomcarmo%2Fkafka-proxy-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustavomcarmo%2Fkafka-proxy-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gustavomcarmo","download_url":"https://codeload.github.com/gustavomcarmo/kafka-proxy-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustavomcarmo%2Fkafka-proxy-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31976795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T16:27:12.723Z","status":"ssl_error","status_checked_at":"2026-04-18T16:27:11.140Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kafka","kafka-proxy","ldap","ldap-authentication","tls-termination"],"created_at":"2024-11-17T07:24:21.793Z","updated_at":"2026-04-18T16:37:09.085Z","avatar_url":"https://github.com/gustavomcarmo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kafka-proxy-test\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Build status](https://travis-ci.org/gustavomcarmo/kafka-proxy-test.svg?branch=master)](https://travis-ci.org/gustavomcarmo/kafka-proxy-test)\n\n[kafka-proxy](https://github.com/grepplabs/kafka-proxy) test project.\n\n## Requirements\n\nFor setting up the local Kafka environment (localhost):\n\n- [Docker](https://www.docker.com)\n- [Docker Compose](https://docs.docker.com/compose)\n\nFor testing:\n\n- [JDK 1.8](https://openjdk.java.net)\n- Java client embedded in [Kafka](https://kafka.apache.org)\n\nFor bootstraping a local Kafka VM (kafka.example.org):\n\n- [Virtual Box](https://www.virtualbox.org)\n- [Vagrant](https://www.vagrantup.com)\n- [Ansible](https://www.ansible.com)\n\n## Tests\n\n`curl -Ls https://mirrors.up.pt/pub/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz | tar xz`\n\n### No auth test\n\nComment in [docker-compose.yml](docker-compose.yml):\n\n```yml\n      # - --auth-local-enable\n      # - --auth-local-command=/auth-ldap\n      # - --auth-local-param=--start-tls=false\n      # - --auth-local-param=--url=ldap://openldap:389\n      # - --auth-local-param=--bind-dn=cn=admin,dc=example,dc=org\n      # - --auth-local-param=--bind-passwd=admin\n      # - --auth-local-param=--user-search-base=ou=people,dc=example,dc=org\n      # - --auth-local-param=--user-filter=(\u0026(objectClass=inetOrgPerson)(uid=%u)(memberOf=cn=kafka-users,ou=groups,dc=example,dc=org))\n```\n\nThen:\n\n`docker-compose up -d`\n\nTo list the topics:\n\n`kafka_2.12-2.5.0/bin/kafka-topics.sh --list --bootstrap-server localhost:32400,localhost:32401,localhost:32402`\n\nTo create the test topic:\n\n`kafka_2.12-2.5.0/bin/kafka-topics.sh --create --bootstrap-server localhost:32400,localhost:32401,localhost:32402 --replication-factor 3 --partitions 1 --topic test`\n\nTo produce a single message:\n\n`echo \"Hello, World!\" | kafka_2.12-2.5.0/bin/kafka-console-producer.sh --bootstrap-server localhost:32400,localhost:32401,localhost:32402 --topic test`\n\nTo consume the message:\n\n`kafka_2.12-2.5.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:32400,localhost:32401,localhost:32402 --topic test --from-beginning --max-messages 1`\n\n### LDAP auth test\n\nUncomment in [docker-compose.yml](docker-compose.yml):\n\n```yml\n      - --auth-local-enable\n      - --auth-local-command=/auth-ldap\n      - --auth-local-param=--start-tls=false\n      - --auth-local-param=--url=ldap://openldap:389\n      - --auth-local-param=--bind-dn=cn=admin,dc=example,dc=org\n      - --auth-local-param=--bind-passwd=admin\n      - --auth-local-param=--user-search-base=ou=people,dc=example,dc=org\n      - --auth-local-param=--user-filter=(\u0026(objectClass=inetOrgPerson)(uid=%u)(memberOf=cn=kafka-users,ou=groups,dc=example,dc=org))\n```\n\nThen:\n\n`docker-compose up -d`\n\nSet the `KAFKA_OPTS` environment variable:\n\n`export KAFKA_OPTS=\"-Djava.security.auth.login.config=$(pwd)/jaas.conf\"`\n\nTo list the topics:\n\n`kafka_2.12-2.5.0/bin/kafka-topics.sh --list --bootstrap-server localhost:32400,localhost:32401,localhost:32402 --command-config client-sasl.properties`\n\nTo create the test topic:\n\n`kafka_2.12-2.5.0/bin/kafka-topics.sh --create --bootstrap-server localhost:32400,localhost:32401,localhost:32402 --replication-factor 3 --partitions 1 --topic test --command-config client-sasl.properties`\n\nTo produce a single message:\n\n`echo \"Hello, World!\" | kafka_2.12-2.5.0/bin/kafka-console-producer.sh --broker-list localhost:32400,localhost:32401,localhost:32402 --topic test --producer.config client-sasl.properties`\n\nTo consume the message:\n\n`kafka_2.12-2.5.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:32400,localhost:32401,localhost:32402 --topic test --from-beginning --max-messages 1 --consumer.config client-sasl.properties`\n\n:information_source: Alternatively, you can run `./test.sh`.\n\n### LDAP auth/TLS termination test\n\n`vagrant up`\n\nSet the `KAFKA_OPTS` environment variable:\n\n`export KAFKA_OPTS=\"-Djava.security.auth.login.config=$(pwd)/jaas.conf\"`\n\nTo list the topics:\n\n`kafka_2.12-2.5.0/bin/kafka-topics.sh --list --bootstrap-server kafka.example.org:32400,kafka.example.org:32401,kafka.example.org:32402 --command-config client-sasl-ssl.properties`\n\nTo create the test topic:\n\n`kafka_2.12-2.5.0/bin/kafka-topics.sh --create --bootstrap-server kafka.example.org:32400,kafka.example.org:32401,kafka.example.org:32402 --replication-factor 3 --partitions 1 --topic test --command-config client-sasl-ssl.properties`\n\nTo produce a single message:\n\n`echo \"Hello, World!\" | kafka_2.12-2.5.0/bin/kafka-console-producer.sh --broker-list kafka.example.org:32400,kafka.example.org:32401,kafka.example.org:32402 --topic test --producer.config client-sasl-ssl.properties`\n\nTo consume the message:\n\n`kafka_2.12-2.5.0/bin/kafka-console-consumer.sh --bootstrap-server kafka.example.org:32400,kafka.example.org:32401,kafka.example.org:32402 --topic test --from-beginning --max-messages 1 --consumer.config client-sasl-ssl.properties`\n\n:information_source: You can use `192.168.33.10` instead of `kafka.example.org`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgustavomcarmo%2Fkafka-proxy-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgustavomcarmo%2Fkafka-proxy-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgustavomcarmo%2Fkafka-proxy-test/lists"}