Deploy RnR Recording namespace
- Navigate to manifest/recording folder
- Fullfil and correct variables in
recording-configmap.yml
anddebezium-rtus-configmap.yml
Debezium deployment
- For each live database, there will be a debezium deployment. All of them have to have the same
subject
for nats connector. Need to focus on thedebezium.source.topic.prefix
anddebezium.sink.nats-jetstream.subjects
config in debezium configmap.- For example, if we have 2 live databases:
live_db_1
andlive_db_2
, we should setup 2 debezium connectors with differentdebezium.source.slot.name
but the same nats configuration.live_db_1
debezium.source.slot.name
:live_db_1_slot
debezium.source.topic.prefix
:aoh.live.postgres
debezium.sink.nats-jetstream.subjects
:aoh.live.postgres.*.*
live_db_2
debezium.source.slot.name
:live_db_2_slot
debezium.source.topic.prefix
:aoh.live.postgres
debezium.sink.nats-jetstream.subjects
:aoh.live.postgres.*.*
debezium.source.topic.prefix
anddebezium.sink.nats-jetstream.subjects
should be the same for all live databases.NATS_DEBEZIUM_SUBJECT
intransform msg
module should beaoh.live.postgres.*
- For example, if we have 2 live databases:
info
Configration: Config
- Create a recording configmap
kubectl apply -f recording-configmap.yml
- Create a debezium-rtus-configmap
kubectl apply -f debezium-rtus-configmap.yml
- Create a debezium for rtus deployment
kubectl apply -f debezium-rtus-deployment.yml
- Create a recording deployment
kubectl apply -f recording-deployment.yml
- Create a recording service (for scheudlejob configuration API)
kubectl apply -f schedulejob-service.yaml
- There is a new configmap for RnR recording namespace, that is
live-db-configmap.yaml
. This including the live databases information. The configmap is used to store the live databases information, and it will be used by the schedulejob to take snapshot of the live databases.
kubectl apply -f live-db-configmap.yaml