### Dependencies Paths are hardcoded. Confluent local (see https://www.confluent.io/installation/): ```bash export CONFLUENT_HOME=/opt/confluent export PATH=/opt/confluent/bin:$PATH cd /opt/confluent kafka-storage.sh random-uuid kafka-storage.sh format -t 2vi2WtHxQAOPyXb1Bj1Jvw -c etc/kafka/server.properties kafka-server-start.sh etc/kafka/server.properties kafka-server-start etc/kafka/server.properties schema-registry-start $CONFLUENT_HOME/etc/schema-registry/schema-registry.properties connect-standalone $CONFLUENT_HOME/etc/kafka/connect-standalone.properties $CONFLUENT_HOME/share/confluent-common/connectors/sink-jdbc.properties ``` Confluent JDBC sink and source (includes Postgres connector) (see https://www.confluent.io/hub/confluentinc/kafka-connect-jdbc) Be mindful to configure the right `plugin.path` in `etc/kafka/connect-standalone.properties` ```bash ln -s $HOME/git/opendc/resources/experiments/sink-jdbc.properties opt/confluent/share/confluent-common/connectors/sink-jdbc.properties ``` Protobuf: extra/protobuf 33.1-3 You need to run this each time you change `schema.proto` ```bash cd resources/experiments/ protoc --java_out=/home/matt/git/opendc/opendc-common/src/main/java/ schema.proto ``` Postgresql: extra/postgresql 18.1-2 ```bash initdb -D /var/lib/postgres/data mkdir /run/postgresql/ cd /run/postgresql/ touch .s.PGSQL.5432.lock chown -R postgres:postgres /run/postgresql ``` Random ```bash bin/kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic postgres-topic bin/kafka-topics.sh --create --topic postgres-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 bin/kafka-topics.sh --list --bootstrap-server localhost:9092 bin/kafka-console-consumer.sh --bootstrap-server :9092 --topic postgres-topic --from-beginning ```