services:
  kafka-connect-salesforce-source:
    build:
      dockerfile: Dockerfile
      context: .
    ports:
      - "8083:8083"
    healthcheck:
        test: ["CMD-SHELL", "curl", "-f", "http://localhost:8083/connectors || exit 1" ]
        interval: 30s
        timeout: 5s
        retries: 5
    environment:
      Environment: "dev"
      CONNECT_GROUP_UNIQUE_IDENTIFIER: "${USER}_local"
      CONNECT_BOOTSTRAP_SERVERS: "SSL://b-1.dev-managed-kafka-cdc.rk4es0.c11.kafka.us-east-1.amazonaws.com:9094,b-2.dev-managed-kafka-cdc.rk4es0.c11.kafka.us-east-1.amazonaws.com:9094,b-3.dev-managed-kafka-cdc.rk4es0.c11.kafka.us-east-1.amazonaws.com:9094"
      KAFKA_TOPICS: "<KAFKA TOPIC NAME TO WRITE MESSAGES TO>"
      SF_CONSUMER_KEY: "<YOUR SALESFORCE CONSUMER KEY>"
      SF_CONSUMER_SECRET: "<YOUR SALESFORCE SECRET>"
      SF_INSTANCE: "<SALESFORCE LOGIN URL>"
      # to obtain the token https://github.com/apache/camel-examples/blob/main/examples/salesforce-consumer/README.adoc#getting-an-oauth-refresh-token
      SF_REFRESH_TOKEN: "<YOUR SALESFORCE OAUTH REFRESH TOKEN>"
      SF_AUTH_TYPE: "REFRESH_TOKEN"
      RAW_PAYLOAD: "true"
      # subscribe to all CDC events
      SF_TOPIC: "testPushTopicName"
      SF_UPDATE_TOPIC: "true"
      SF_SOBJECT_QUERY: "SELECT Id, Name, Email, Phone FROM Contact"
