Files
Edu/infra/debezium/connectors/edu-outbox-connector.json
SpecialX 3c2ea50c7f feat(infra): proto-to-graphql generator + debezium outbox connector
- M0: parse proto to generate Federation 2 subgraph SDL

- M0.5: Debezium Connect monitors 4 outbox tables

- docker-compose: extend Debezium profiles to default+p3+p4+p5+p6

- package.json: add proto:gen-graphql script
2026-07-14 23:45:32 +08:00

38 lines
1.7 KiB
JSON

{
"name": "edu-outbox-connector",
"config": {
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"database.hostname": "MYSQL_HOST_PLACEHOLDER",
"database.port": "MYSQL_PORT_PLACEHOLDER",
"database.user": "MYSQL_USER_PLACEHOLDER",
"database.password": "MYSQL_PASSWORD_PLACEHOLDER",
"database.server.id": "5400",
"database.allowPublicKeyRetrieval": "true",
"database.include.list": "next_edu_cloud",
"table.include.list": "next_edu_cloud.iam_outbox,next_edu_cloud.core_edu_outbox,next_edu_cloud.content_outbox_events,next_edu_cloud.msg_outbox_events",
"database.server.name": "edu-cdc",
"topic.prefix": "edu-cdc",
"schema.history.internal.kafka.bootstrap.servers": "kafka:29092",
"schema.history.internal.kafka.topic": "edu-cdc-schema-history",
"transforms": "unwrap,topicRouter",
"transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState",
"transforms.unwrap.drop.tombstones": "true",
"transforms.unwrap.delete.handling.mode": "rewrite",
"transforms.topicRouter.type": "org.apache.kafka.connect.transforms.RegexRouter",
"transforms.topicRouter.regex": "edu-cdc\\.next_edu_cloud\\.(iam_outbox|core_edu_outbox|content_outbox_events|msg_outbox_events)",
"transforms.topicRouter.replacement": "edu.outbox.events",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "false",
"snapshot.mode": "schema_only_recovery",
"tombstones.on.delete": "false",
"poll.interval.ms": "500",
"max.batch.size": "2048",
"max.queue.size": "8192"
}
}