kafka-ssl.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. volumes:
  20. - ./ssl/kafka.truststore.jks:/kafka.truststore.jks
  21. zookeeper0:
  22. image: confluentinc/cp-zookeeper:6.0.1
  23. environment:
  24. ZOOKEEPER_CLIENT_PORT: 2181
  25. ZOOKEEPER_TICK_TIME: 2000
  26. ports:
  27. - 2181:2181
  28. kafka0:
  29. image: confluentinc/cp-kafka:6.0.1
  30. hostname: kafka0
  31. depends_on:
  32. - zookeeper0
  33. ports:
  34. - '9092:9092'
  35. environment:
  36. KAFKA_BROKER_ID: 1
  37. KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
  38. KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
  39. KAFKA_ADVERTISED_LISTENERS: SSL://kafka0:29092,PLAINTEXT_HOST://localhost:9092
  40. KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: SSL:SSL,PLAINTEXT_HOST:PLAINTEXT
  41. KAFKA_INTER_BROKER_LISTENER_NAME: SSL
  42. KAFKA_SECURITY_PROTOCOL: SSL
  43. KAFKA_SSL_ENABLED_MECHANISMS: PLAIN,SSL
  44. KAFKA_SSL_KEYSTORE_FILENAME: kafka.keystore.jks
  45. KAFKA_SSL_KEYSTORE_CREDENTIALS: creds
  46. KAFKA_SSL_KEY_CREDENTIALS: creds
  47. KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.truststore.jks
  48. KAFKA_SSL_TRUSTSTORE_CREDENTIALS: creds
  49. #KAFKA_SSL_CLIENT_AUTH: 'required'
  50. KAFKA_SSL_CLIENT_AUTH: "requested"
  51. KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: '' # COMMON NAME VERIFICATION IS DISABLED SERVER-SIDE
  52. volumes:
  53. - ./ssl/creds:/etc/kafka/secrets/creds
  54. - ./ssl/kafka.truststore.jks:/etc/kafka/secrets/kafka.truststore.jks
  55. - ./ssl/kafka.keystore.jks:/etc/kafka/secrets/kafka.keystore.jks