diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..8b074048 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,70 @@ +# Stage 1: Build stage +FROM registry.access.redhat.com/ubi8/openjdk-21 AS builder + +LABEL maintainer="Debezium Community" + +# +# Set the version, home directory, and MD5 hash. +# +ENV DEBEZIUM_VERSION=3.0.8.Final \ + SERVER_HOME=/debezium \ + MAVEN_REPO_CENTRAL="https://repo1.maven.org/maven2" +ENV SERVER_URL_PATH=io/debezium/debezium-server-dist/$DEBEZIUM_VERSION/debezium-server-dist-$DEBEZIUM_VERSION.tar.gz \ + SERVER_MD5=8bbe45300cebec09364a6a1986c1134f + +# +# Create a directory for Debezium Server +# +USER root +RUN microdnf -y install gzip && \ + microdnf clean all && \ + mkdir $SERVER_HOME && \ + chmod 755 $SERVER_HOME + +# +# Copy local debezium tar file as root +COPY debezium-server-dist/target/debezium-server-dist-3.0.8.Final.tar.gz /tmp/debezium.tar.gz + +# Extract the archive and set permissions as root +RUN tar xzf /tmp/debezium.tar.gz -C $SERVER_HOME --strip-components 1 && \ + rm -f /tmp/debezium.tar.gz && \ + chown -R jboss:jboss $SERVER_HOME && \ + chmod -R g+w,o+w $SERVER_HOME + +# Switch to jboss user after file operations are complete +USER jboss +RUN mkdir -p $SERVER_HOME/config && \ + mkdir -p $SERVER_HOME/data + + +# +# Allow random UID to use Debezium Server +# +RUN chmod -R g+w,o+w $SERVER_HOME + +# Stage 2: Final image +FROM registry.access.redhat.com/ubi8/openjdk-21 + +LABEL maintainer="Debezium Community" + +ENV DEBEZIUM_VERSION=3.0.8.Final \ + SERVER_HOME=/debezium \ + MAVEN_REPO_CENTRAL="https://repo1.maven.org/maven2" + +USER root +RUN microdnf clean all + +USER jboss + +COPY --from=builder $SERVER_HOME $SERVER_HOME + +# Set the working directory to the Debezium Server home directory +WORKDIR $SERVER_HOME + +# +# Expose the ports and set up volumes for the data, transaction log, and configuration +# +EXPOSE 8080 +VOLUME ["/debezium/config","/debezium/data"] + +CMD ["/debezium/run.sh"] diff --git a/debezium-server-dist/pom.xml b/debezium-server-dist/pom.xml index f8c7c058..7299cba0 100644 --- a/debezium-server-dist/pom.xml +++ b/debezium-server-dist/pom.xml @@ -107,14 +107,14 @@ io.debezium debezium-server-http - - io.debezium - debezium-server-pubsub - - - io.debezium - debezium-server-pulsar - + + + + + + + + io.debezium debezium-server-eventhubs @@ -127,10 +127,10 @@ io.debezium debezium-server-kafka - - io.debezium - debezium-server-pravega - + + + + io.debezium debezium-server-nats-streaming @@ -147,10 +147,10 @@ io.debezium debezium-server-rabbitmq - - io.debezium - debezium-server-rocketmq - + + + + io.debezium debezium-server-milvus @@ -305,306 +305,306 @@ - - io.debezium - debezium-connector-cassandra-3 - ${project.parent.version} - plugin - zip - - - io.debezium - debezium-connector-cassandra-core - - - io.debezium - debezium-core - - - org.apache.cassandra - cassandra-all - - - com.fasterxml.jackson.core - jackson-annotations - - - com.datastax.oss - java-driver-core-shaded - - - com.datastax.oss - java-driver-query-builder - - - io.dropwizard.metrics - metrics-core - - - io.dropwizard.metrics - metrics-jmx - - - io.dropwizard.metrics - metrics-healthchecks - - - io.dropwizard.metrics - metrics-servlets - - - org.eclipse.jetty - jetty-servlet - - - com.google.guava - guava - - - org.apache.kafka - connect-api - - - org.apache.kafka - connect-json - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - - - io.debezium - debezium-connector-cassandra-5 - ${project.parent.version} - plugin - zip - - - io.debezium - debezium-connector-cassandra-core - - - io.debezium - debezium-core - - - org.apache.cassandra - cassandra-all - - - com.fasterxml.jackson.core - jackson-annotations - - - com.datastax.oss - java-driver-core-shaded - - - com.datastax.oss - java-driver-query-builder - - - io.dropwizard.metrics - metrics-core - - - io.dropwizard.metrics - metrics-jmx - - - io.dropwizard.metrics - metrics-healthchecks - - - io.dropwizard.metrics - metrics-servlets - - - org.eclipse.jetty - jetty-servlet - - - com.google.guava - guava - - - org.apache.kafka - connect-api - - - org.apache.kafka - connect-json - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - - - io.debezium - debezium-connector-cassandra-4 - ${project.parent.version} - plugin - zip - - - io.debezium - debezium-connector-cassandra-core - - - io.debezium - debezium-core - - - org.apache.cassandra - cassandra-all - - - com.fasterxml.jackson.core - jackson-annotations - - - com.datastax.oss - java-driver-core-shaded - - - com.datastax.oss - java-driver-query-builder - - - io.dropwizard.metrics - metrics-core - - - io.dropwizard.metrics - metrics-jmx - - - io.dropwizard.metrics - metrics-healthchecks - - - io.dropwizard.metrics - metrics-servlets - - - org.eclipse.jetty - jetty-servlet - - - com.google.guava - guava - - - org.apache.kafka - connect-api - - - org.apache.kafka - connect-json - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - - - io.debezium - debezium-connector-dse - ${project.parent.version} - plugin - zip - - - io.debezium - debezium-connector-cassandra-core - - - io.debezium - debezium-core - - - org.apache.cassandra - cassandra-all - - - com.fasterxml.jackson.core - jackson-annotations - - - com.datastax.oss - java-driver-core-shaded - - - com.datastax.oss - java-driver-query-builder - - - io.dropwizard.metrics - metrics-core - - - io.dropwizard.metrics - metrics-jmx - - - io.dropwizard.metrics - metrics-healthchecks - - - io.dropwizard.metrics - metrics-servlets - - - org.eclipse.jetty - jetty-servlet - - - com.google.guava - guava - - - org.apache.kafka - connect-api - - - org.apache.kafka - connect-json - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + io.debezium debezium-connector-db2 - - io.debezium - debezium-connector-spanner - + + + + io.debezium debezium-connector-vitess