kafka-ui-zookeeper-ssl.yml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. ---
  2. version: '2'
  3. services:
  4. kafka-ui:
  5. container_name: kafka-ui
  6. image: provectuslabs/kafka-ui:latest
  7. ports:
  8. - 8080:8080
  9. volumes:
  10. - /tmp/kafka/secrets/kafka.kafka1.keystore.jks:/etc/kafka/secrets/kafka.zookeeper.keystore.jks
  11. - /tmp/kafka/secrets/kafka.zookeeper.truststore.jks:/etc/kafka/secrets/kafka.zookeeper.truststore.jks
  12. depends_on:
  13. - zookeeper0
  14. - kafka0
  15. - schemaregistry0
  16. - kafka-connect0
  17. environment:
  18. KAFKA_CLUSTERS_0_NAME: local
  19. KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
  20. KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2182
  21. KAFKA_CLUSTERS_0_JMXPORT: 9997
  22. KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
  23. KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
  24. KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
  25. KAFKA_CLUSTERS_0_ZOOKEEPER_CLIENTCNXNSOCKET: org.apache.zookeeper.ClientCnxnSocketNetty
  26. KAFKA_CLUSTERS_0_ZOOKEEPER_CLIENT_SECURE: 'true'
  27. KAFKA_CLUSTERS_0_ZOOKEEPER_SSL_KEYSTORE_LOCATION: /etc/kafka/secrets/kafka.zookeeper.keystore.jks
  28. KAFKA_CLUSTERS_0_ZOOKEEPER_SSL_KEYSTORE_PASSWORD: 12345678
  29. KAFKA_CLUSTERS_0_ZOOKEEPER_SSL_TRUSTSTORE_LOCATION: /etc/kafka/secrets/kafka.zookeeper.truststore.jks
  30. KAFKA_CLUSTERS_0_ZOOKEEPER_SSL_TRUSTSTORE_PASSWORD: 12345678
  31. zookeeper0:
  32. image: confluentinc/cp-zookeeper:5.2.4
  33. volumes:
  34. - /tmp/kafka/secrets/kafka.kafka1.keystore.jks:/etc/kafka/secrets/kafka.zookeeper.keystore.jks
  35. - /tmp/kafka/secrets/kafka.zookeeper.truststore.jks:/etc/kafka/secrets/kafka.zookeeper.truststore.jks
  36. environment:
  37. ZOOKEEPER_CLIENT_PORT: 2182
  38. ZOOKEEPER_TICK_TIME: 2000
  39. ZOOKEEPER_SECURE_CLIENT_PORT: 2182
  40. ZOOKEEPER_SERVER_CNXN_FACTORY: org.apache.zookeeper.server.NettyServerCnxnFactory
  41. ZOOKEEPER_SSL_KEYSTORE_LOCATION: /etc/kafka/secrets/kafka.zookeeper.keystore.jks
  42. ZOOKEEPER_SSL_KEYSTORE_PASSWORD: 12345678
  43. ZOOKEEPER_SSL_KEYSTORE_TYPE: PKCS12
  44. ZOOKEEPER_SSL_TRUSTSTORE_LOCATION: /etc/kafka/secrets/kafka.zookeeper.truststore.jks
  45. ZOOKEEPER_SSL_TRUSTSTORE_PASSWORD: 12345678
  46. ZOOKEEPER_SSL_TRUSTSTORE_TYPE: JKS
  47. # TLS 1.2 is the tested-default - TLS 1.3 has not been tested for production
  48. # You can evaluate TLS 1.3 for ZooKeeper by uncommenting the following two properties
  49. # and setting KAFKA_ZOOKEEPER_SSL_PROTOCOL on brokers
  50. ZOOKEEPER_SSL_ENABLED_PROTOCOLS: TLSv1.3,TLSv1.2
  51. ZOOKEEPER_SSL_QUORUM_ENABLED_PROTOCOLS: TLSv1.3,TLSv1.2
  52. ZOOKEEPER_SSL_CIPHER_SUITES: TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  53. ZOOKEEPER_SSL_CLIENT_AUTH: need
  54. ZOOKEEPER_AUTH_PROVIDER_X509: org.apache.zookeeper.server.auth.X509AuthenticationProvider
  55. ZOOKEEPER_AUTH_PROVIDER_SASL: org.apache.zookeeper.server.auth.SASLAuthenticationProvider
  56. ports:
  57. - 2182:2182
  58. kafka0:
  59. image: confluentinc/cp-kafka:5.3.1
  60. depends_on:
  61. - zookeeper0
  62. ports:
  63. - 9092:9092
  64. - 9997:9997
  65. volumes:
  66. - /tmp/kafka/secrets/kafka.kafka1.keystore.jks:/etc/kafka/secrets/kafka.kafka1.keystore.jks
  67. - /tmp/kafka/secrets/kafka.server.truststore.jks:/etc/kafka/secrets/kafka.kafka1.truststore.jks
  68. environment:
  69. KAFKA_BROKER_ID: 1
  70. KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2182
  71. KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
  72. KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
  73. KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
  74. KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
  75. JMX_PORT: 9997
  76. KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
  77. KAFKA_ZOOKEEPER_SSL_CLIENT_ENABLE: 'true'
  78. KAFKA_ZOOKEEPER_SSL_CIPHER_SUITES: TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  79. KAFKA_ZOOKEEPER_CLIENT_CNXN_SOCKET: org.apache.zookeeper.ClientCnxnSocketNetty
  80. KAFKA_ZOOKEEPER_SSL_KEYSTORE_LOCATION: /etc/kafka/secrets/kafka.kafka1.keystore.jks
  81. KAFKA_ZOOKEEPER_SSL_KEYSTORE_PASSWORD: 12345678
  82. KAFKA_ZOOKEEPER_SSL_KEYSTORE_TYPE: PKCS12
  83. KAFKA_ZOOKEEPER_SSL_TRUSTSTORE_LOCATION: /etc/kafka/secrets/kafka.kafka1.truststore.jks
  84. KAFKA_ZOOKEEPER_SSL_TRUSTSTORE_PASSWORD: 12345678
  85. KAFKA_ZOOKEEPER_SSL_TRUSTSTORE_TYPE: JKS
  86. schemaregistry0:
  87. image: confluentinc/cp-schema-registry:5.5.0
  88. ports:
  89. - 8085:8085
  90. depends_on:
  91. - zookeeper0
  92. - kafka0
  93. environment:
  94. SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
  95. SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper0:2182
  96. SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
  97. SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
  98. SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
  99. SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
  100. SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
  101. SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
  102. kafka-connect0:
  103. image: confluentinc/cp-kafka-connect:6.0.1
  104. ports:
  105. - 8083:8083
  106. depends_on:
  107. - kafka0
  108. - schemaregistry0
  109. environment:
  110. CONNECT_BOOTSTRAP_SERVERS: kafka0:29092
  111. CONNECT_GROUP_ID: compose-connect-group
  112. CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs
  113. CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
  114. CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset
  115. CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
  116. CONNECT_STATUS_STORAGE_TOPIC: _connect_status
  117. CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
  118. CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
  119. CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
  120. CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter
  121. CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
  122. CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
  123. CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
  124. CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
  125. CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
  126. kafka-init-topics:
  127. image: confluentinc/cp-kafka:5.3.1
  128. volumes:
  129. - ./message.json:/data/message.json
  130. depends_on:
  131. - kafka0
  132. command: "bash -c 'echo Waiting for Kafka to be ready... && \
  133. cub kafka-ready -b kafka0:29092 1 30 && \
  134. kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2182 && \
  135. kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2182 && \
  136. kafka-console-producer --broker-list kafka0:29092 -topic second.users < /data/message.json'"