Skip to main content
Version: 2.2.0

RnR Recording namespace configuration

Timekeeper module configuration

NameExampleDescription
LIVE_DB_HOSTdb.example.comThe hostname of the database.
LIVE_DB_PORT5432The port number of the database.
LIVE_DB_DATABASEpostgresThe name of the database.
LIVE_DB_SCHEMAaoh_sysThe name of the schema of the database.
LIVE_DB_USERpostgresThe database user name.
LIVE_DB_PASSWORDThe password of the database user.
LIVE_DB_SSL_MODEdisableThe SSL mode for the database connection: disable, require, verify-ca, verify-full.
LIVE_DB_UPDATE_ENABLEDtrueEnable/disable database updates (default: true).
RTUS_ENABLEDtrueEnable/disable RTUS publishing (default: true).
RTUS_DOMAINhttp://rtus-pms:8080The URL of the RTUS server.
RTUS_TOPICsystem-timeThe topic name for publishing timestamps to RTUS.
SOURCE_VALUEaoh-sysThe source value of the system time.
TRIGGER_INTERVAL1sThe interval for timestamp generations.
TIMEOUT_DURATION0sThe service timeout duration (0s means run indefinitely).

ScheduleJob Configuration

NameExampleDescription
APP_PORT5000The application port for serving HTTP requests.
LOG_LEVELinfoThe logging level: info, debug.
LIVE_DB_CONFIG_PATH./live_db_config.jsonThe live database configuration json file path
RNR_DB_HOSTdb.example.comThe hostname of the database
RNR_DB_PORT5432The port number of the database
RNR_DB_DATABASEpostgresThe name of the database
RNR_DB_SCHEMApublicThe name of the schema
RNR_DB_USERpostgresThe database user to connect to the database
RNR_DB_PASSWORDThe password of the database user
RNR_DB_SSL_MODEdisableThe SSL mode for the database connection: disable, require, verify-ca, verify-full
MINIO_URLhttp://minio:8080The URL of the MINIO or S3 object storage server
MINIO_BUCKETbackupThe name of the storage bucket
MINIO_USERadminThe user to connect to MINIO or S3
MINIO_PASSWORDThe password of the MINIO or S3 user
DATA_RETENETION7The number of days for data retention

TransformMsg Configuration

NameExampleDescription
APP_PORT5000The application port for serving HTTP requests.
LOG_LEVELinfoThe logging level: info, debug.
TRANSFORM_MESSAGE_DB_HOSTdb.example.comThe hostname of the database
TRANSFORM_MESSAGE_DB_PORT5432The port number of the database
TRANSFORM_MESSAGE_DB_DATABASEpostgresThe name of the database
TRANSFORM_MESSAGE_DB_SCHEMApublicThe name of the schema
TRANSFORM_MESSAGE_DB_USERpostgresThe database user to connect to the database
TRANSFORM_MESSAGE_DB_PASSWORDThe password of the database user
TRANSFORM_MESSAGE_DB_SSL_MODEdisableThe SSL mode for the database connection: disable, require, verify-ca, verify-full
NATS_URLlocalhostThe URL of the NATS server.
NATS_STORAGE_TYPE0NATS storage type: 0 - files, 1 - memory.
NATS_DEBEZIUM_STREAMDebeziumStreamThe name of the stream for the live database CDC messages.
NATS_DEBEZIUM_SUBJECTdb.*.postgres.*The debezium subject name for CDC messages.
NATS_CONSUMERtransformmsgThe name of the CDC messages consumer.
NATS_RTUS_STREAMDebeziumStreamThe name of the stream for the RTUS events.
NATS_RTUS_SUBJECTrtus.*.postgres.*The name of the stream for the RTUS events.
NATS_RTUS_CONSUMERtransformmsg_rtusThe name of the RTUS events consumer.

Debezium Configuration

For Debezium to capture the CDC events from the Postgres, it must be provided with application.properties file at /debezium/conf/application.properties within the container.

important

Database user in application.properties configuration MUST have a Postgres superuser role. Otherwise, Debezium will fail to create a replication slot in the Postgres server. This elevated permission is only required during the first deployment of the Debezium. Once the deployment is successful, revoke the superuser role from the database user.

application.properties
debezium.source.slot.name=aoh_rnr_connector
debezium.source.publication.name=aoh_rnr_publisher
debezium.source.connector.class=io.debezium.connector.postgresql.PostgresConnector
debezium.source.offset.storage.file.filename=data/offsets.dat
debezium.source.offset.flush.interval.ms=0
debezium.source.database.hostname=gis-db
debezium.source.database.port=5432
debezium.source.database.user=${DB_USER}
debezium.source.database.password=${DB_PASSWORD}
debezium.source.database.dbname=gis

debezium.source.topic.prefix=aoh.gis.postgres
debezium.source.snapshot.mode=no_data
debezium.source.plugin.name=pgoutput
debezium.source.decimal.handling.mode=double
debezium.source.time.precision.mode=connect

debezium.sink.type=nats-jetstream
debezium.sink.nats-jetstream.url=nats://rnr-nats:4222
debezium.sink.nats-jetstream.create-stream=false
debezium.sink.nats-jetstream.subjects=aoh.gis.postgres.*.*
debezium.sink.nats-jetstream.storage=file
NameExampleDescription
debezium.source.slot.nameaoh_rnr_connectorThe name of the PostgreSQL logical replication slot.
debezium.source.publication.nameaoh_rnr_publisherThe name of the PostgreSQL publication name.
debezium.source.connector.classio.debezium.connector.postgresql.PostgresConnectorThe fully qualified class name of the source connector implementation.
debezium.source.offset.storage.file.filenamedata/offsets.datThe path to the file for storing connector offsets.
debezium.source.offset.flush.interval.ms0The interval at which to flush offsets to storage (0 means flush immediately).
debezium.source.database.hostnamegis-dbThe hostname of the source database server.
debezium.source.database.port5432The port number of the source database server.
debezium.source.database.user${DB_USER}The username to connect to the source database.
debezium.source.database.password${DB_PASSWORD}The password to connect to the source database.
debezium.source.database.dbnamegisThe name of the source database.
debezium.source.table.include.listpublic.events,public.messagesComma-separated list of fully-qualified table names to capture changes from.
debezium.source.topic.prefixaoh.gis.postgresThe prefix for all topic names created by this connector.
debezium.source.snapshot.modeno_dataThe snapshot mode to use: initial, always, no_data, initial_only, when_needed, configuration_based, custom.
debezium.source.plugin.namepgoutputThe name of the PostgreSQL logical decoding plugin (pgoutput, decoderbufs, wal2json).
debezium.source.decimal.handling.modedoubleHow to handle DECIMAL and NUMERIC columns: precise, double, string.
debezium.source.time.precision.modeconnectTime precision mode: adaptive, adaptive_time_microseconds, connect.
debezium.sink.typenats-jetstreamThe type of sink to use: kafka, kinesis, pubsub, eventhubs, pulsar, nats-jetstream.
debezium.sink.nats-jetstream.urlnats://nats:4222The URL of the NATS JetStream server.
debezium.sink.nats-jetstream.create-streamfalseWhether to automatically create the JetStream stream if it doesn't exist.
debezium.sink.nats-jetstream.subjectsaoh.gis.postgres.*.*The subject pattern for publishing messages to NATS JetStream.
debezium.sink.nats-jetstream.storagefileThe storage type for NATS JetStream: file or memory.