kafka-ssl.yml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. ---
  2. version: '3.4'
  3. services:
  4. kafka-ui:
  5. container_name: kafka-ui
  6. image: provectuslabs/kafka-ui:latest
  7. ports:
  8. - 8080:8080
  9. depends_on:
  10. - zookeeper0
  11. - kafka0
  12. environment:
  13. KAFKA_CLUSTERS_0_NAME: local
  14. KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SSL
  15. KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092 # SSL LISTENER!
  16. KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
  17. KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /kafka.truststore.jks
  18. KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD: secret
  19. KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_LOCATION: /kafka.keystore.jks
  20. KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_PASSWORD: secret
  21. KAFKA_CLUSTERS_0_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: '' # DISABLE COMMON NAME VERIFICATION
  22. volumes:
  23. - ./ssl/kafka.truststore.jks:/kafka.truststore.jks
  24. - ./ssl/kafka.keystore.jks:/kafka.keystore.jks
  25. zookeeper0:
  26. image: confluentinc/cp-zookeeper:6.0.1
  27. environment:
  28. ZOOKEEPER_CLIENT_PORT: 2181
  29. ZOOKEEPER_TICK_TIME: 2000
  30. ports:
  31. - 2181:2181
  32. kafka0:
  33. image: confluentinc/cp-kafka:6.0.1
  34. hostname: kafka0
  35. depends_on:
  36. - zookeeper0
  37. ports:
  38. - '9092:9092'
  39. environment:
  40. KAFKA_BROKER_ID: 1
  41. KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
  42. KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
  43. KAFKA_ADVERTISED_LISTENERS: SSL://kafka0:29092,PLAINTEXT_HOST://localhost:9092
  44. KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: SSL:SSL,PLAINTEXT_HOST:PLAINTEXT
  45. KAFKA_INTER_BROKER_LISTENER_NAME: SSL
  46. KAFKA_SECURITY_PROTOCOL: SSL
  47. KAFKA_SSL_ENABLED_MECHANISMS: PLAIN,SSL
  48. KAFKA_SSL_KEYSTORE_FILENAME: kafka.keystore.jks
  49. KAFKA_SSL_KEYSTORE_CREDENTIALS: creds
  50. KAFKA_SSL_KEY_CREDENTIALS: creds
  51. KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.truststore.jks
  52. KAFKA_SSL_TRUSTSTORE_CREDENTIALS: creds
  53. #KAFKA_SSL_CLIENT_AUTH: 'required'
  54. KAFKA_SSL_CLIENT_AUTH: 'requested'
  55. KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: '' # COMMON NAME VERIFICATION IS DISABLED SERVER-SIDE
  56. volumes:
  57. - ./ssl/creds:/etc/kafka/secrets/creds
  58. - ./ssl/kafka.truststore.jks:/etc/kafka/secrets/kafka.truststore.jks
  59. - ./ssl/kafka.keystore.jks:/etc/kafka/secrets/kafka.keystore.jks