All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.playtika.testcontainer.kafka.properties.SchemaRegistryConfigurationProperties Maven / Gradle / Ivy

There is a newer version: 3.1.10
Show newest version
package com.playtika.testcontainer.kafka.properties;

import com.github.dockerjava.api.model.Capability;
import com.playtika.testcontainer.common.properties.CommonContainerProperties;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Arrays;

import static com.playtika.testcontainer.kafka.properties.SchemaRegistryConfigurationProperties.Authentication.BASIC;
import static com.playtika.testcontainer.kafka.properties.SchemaRegistryConfigurationProperties.Authentication.NONE;
import static com.playtika.testcontainer.kafka.properties.SchemaRegistryConfigurationProperties.AvroCompatibilityLevel.BACKWARD;

@Data
@EqualsAndHashCode(callSuper = true)
@ConfigurationProperties("embedded.kafka.schema-registry")
public class SchemaRegistryConfigurationProperties extends CommonContainerProperties {

    public static final String SCHEMA_REGISTRY_BEAN_NAME = "schema-registry";
    public static final String USERNAME = "admin";
    public static final String PASSWORD = "letmein";

    /**
     * The container internal port. Will be overwritten with mapped port.
     */
    private int port = 8081;
    private AvroCompatibilityLevel avroCompatibilityLevel = BACKWARD;
    private Authentication authentication = NONE;

    public SchemaRegistryConfigurationProperties() {
        this.setCapabilities(Arrays.asList(Capability.NET_ADMIN));
    }

    public boolean isBasicAuthenticationEnabled() {
        return authentication == BASIC;
    }

    // https://hub.docker.com/r/confluentinc/cp-schema-registry
    @Override
    public String getDefaultDockerImage() {
        return "confluentinc/cp-schema-registry:7.2.1";
    }

    public enum AvroCompatibilityLevel {
        NONE, BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE
    }

    public enum Authentication {
        NONE, BASIC
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy