FROM 086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:kafka-connect77

USER root

# Install Plugin
# Install JDBC source connector from ConfluentHub
ENV CONNECTOR_VERSION='10.7.6'
RUN confluent-hub install --no-prompt --verbose -- confluentinc/kafka-connect-jdbc:${CONNECTOR_VERSION}

# Install Lenses secret provider
ENV LENSES_SECRET_PROVIDER_VERSION='2.3.0'
RUN wget https://github.com/lensesio/secret-provider/releases/download/${LENSES_SECRET_PROVIDER_VERSION}/secret-provider-${LENSES_SECRET_PROVIDER_VERSION}-all.jar &&\
    mkdir /usr/share/java/secret-providers/ &&\
    mv secret-provider-${LENSES_SECRET_PROVIDER_VERSION}-all.jar /usr/share/java/secret-providers/

COPY entry_point.sh /usr/local/bin/entry_point.sh
RUN chmod +x /usr/local/bin/entry_point.sh

# Copy connector config template
COPY config.template.json /tmp/
COPY ./drivers/ /usr/share/confluent-hub-components/confluentinc-kafka-connect-jdbc/lib/

USER appuser

ENV CONNECTOR_NAME='jdbc_sink'
ENV CONNECT_KEY_CONVERTER='org.apache.kafka.connect.json.JsonConverter'
ENV CONNECT_VALUE_CONVERTER='org.apache.kafka.connect.json.JsonConverter'
ENV CONNECT_PLUGIN_PATH='/usr/share/java,/usr/share/confluent-hub-components/'

ENV INSERT_MODE=upsert
ENV BATCH_SIZE=3000
ENV PK_MODE=record_key
ENV PK_FIELDS=
ENV FIELDS_WHITELIST=
ENV DELETE_ENABLED=false
ENV JDBC_KEY_CONVERTER="io.confluent.connect.avro.AvroConverter"
ENV JDBC_VALUE_CONVERTER="io.confluent.connect.avro.AvroConverter"
ENV JDBC_KEY_CONVERTER_SCHEMAS_ENABLE="true"
ENV JDBC_VALUE_CONVERTER_SCHEMAS_ENABLE="true"
ENV SCHEMA_REGISTRY_URL="https://${Environment}-schema-registry.theorchard.io"
ENV AUTO_REGISTER_SCHEMAS=false


EXPOSE ${CONNECT_REST_PORT}

ENTRYPOINT  ["/usr/local/bin/entry_point.sh"]
