SchemaRegistryContainer.java 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. package com.provectus.kafka.ui.container;
  2. import org.testcontainers.containers.GenericContainer;
  3. import org.testcontainers.containers.KafkaContainer;
  4. import org.testcontainers.containers.Network;
  5. public class SchemaRegistryContainer extends GenericContainer<SchemaRegistryContainer> {
  6. private static final int SCHEMA_PORT = 8081;
  7. public SchemaRegistryContainer(String version) {
  8. super("confluentinc/cp-schema-registry:" + version);
  9. withExposedPorts(8081);
  10. }
  11. public SchemaRegistryContainer withKafka(KafkaContainer kafka) {
  12. String bootstrapServers = kafka.getNetworkAliases().get(0) + ":9092";
  13. return withKafka(kafka.getNetwork(), bootstrapServers);
  14. }
  15. public SchemaRegistryContainer withKafka(Network network, String bootstrapServers) {
  16. withNetwork(network);
  17. withEnv("SCHEMA_REGISTRY_HOST_NAME", "schema-registry");
  18. withEnv("SCHEMA_REGISTRY_LISTENERS", "http://0.0.0.0:" + SCHEMA_PORT);
  19. withEnv("SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS", "PLAINTEXT://" + bootstrapServers);
  20. return self();
  21. }
  22. public String getTarget() {
  23. return "http://" + getContainerIpAddress() + ":" + getMappedPort(SCHEMA_PORT);
  24. }
  25. }