FROM confluentinc/cp-kafka-connect-base:latest

USER root

# Update and install find for determing SSL configuration in entrypoint
RUN yum -y install findutils jq

ENV SALESFORCE_CONNECTOR_VERSION='0.9.0'
ENV JETTY_HTTP_VERSION='9.4.36.v20210114'

# Install SalesForce source connector plugin version ${SALESFORCE_CONNECTOR_VERSION}"
RUN mkdir /usr/share/camel && \
    wget -O /usr/share/camel/camel-salesforce-kafka-connector-${SALESFORCE_CONNECTOR_VERSION}-package.tar.gz https://repo1.maven.org/maven2/org/apache/camel/kafkaconnector/camel-salesforce-kafka-connector/${SALESFORCE_CONNECTOR_VERSION}/camel-salesforce-kafka-connector-${SALESFORCE_CONNECTOR_VERSION}-package.tar.gz && \
    tar -C /usr/share/camel -zxvf /usr/share/camel/camel-salesforce-kafka-connector-${SALESFORCE_CONNECTOR_VERSION}-package.tar.gz

# Patch Jetty (see https://github.com/apache/camel-kafka-connector/issues/1114)
RUN wget -O /usr/share/camel/camel-salesforce-kafka-connector/jetty-http-${JETTY_HTTP_VERSION}.jar https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-http/${JETTY_HTTP_VERSION}/jetty-http-${JETTY_HTTP_VERSION}.jar


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

USER appuser


ENV CONNECTOR_NAME='salesforce_source'
ENV CONNECT_CONSUMER_SECURITY_PROTOCOL='SSL'
ENV CONNECT_CONSUMER_REQUEST_TIMEOUT_MS='20000'
ENV CONNECT_CONSUMER_RETRY_BACKOFF_MS='500'
ENV CONNECT_REST_PORT=8083
ENV CONNECT_GROUP_UNIQUE_IDENTIFIER='orchard'
ENV CONNECT_KEY_CONVERTER='org.apache.kafka.connect.storage.StringConverter'
ENV CONNECT_VALUE_CONVERTER='org.apache.kafka.connect.json.JsonConverter'
ENV CONNECT_PLUGIN_PATH='/usr/share/java,/usr/share/confluent-hub-components/,/usr/share/camel/'
ENV CONNECT_PRODUCER_MAX_REQUEST_SIZE=15728640
ENV CONNECT_PRODUCER_SECURITY_PROTOCOL='SSL'
ENV CONNECT_PRODUCER_REQUEST_TIMEOUT_MS='20000'
ENV CONNECT_PRODUCER_RETRY_BACKOFF_MS='500'
ENV CONNECT_SECURITY_PROTOCOL='SSL'
ENV Environment='dev'
ENV MAX_TASKS=1
ENV SF_UPDATE_TOPIC='true'

EXPOSE ${CONNECT_REST_PORT}

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