Skip to main content

Overview

The Data-Sync Job synchronizes data across multiple databases to maintain consistency and up-to-date information throughout your system. It operates by connecting to various databases, retrieving data, and synchronizing changes across them. The job logs all actions and can be scheduled to run at regular intervals.

Quick start


Required environment variables

The Data-Sync Job synchronizes all core platform components and requires a database connection for each of them, including the Documents and Notifications plugins. All core platform components must be installed — skipping services during synchronization is not supported, and the job does not start if a connection is missing.

Database connections

The Data-Sync Job requires connection details for multiple databases. Configure the following sections based on your deployment.

MongoDB connections

Each MongoDB-based service requires the following variables:
MongoDB URI format

PostgreSQL connections

OpenID provider configuration

Starting with 5.9.0, data-sync provisions FlowX-managed end-user groups and runtime roles in Keycloak as part of the runtime authorization rollout. Provide admin credentials so the job can call the Keycloak admin API.
Driver class names
  • PostgreSQL: org.postgresql.Driver
  • Oracle: oracle.jdbc.OracleDriver

Additional configuration


Service to database mapping

Each service in your environment corresponds to specific database datasources:

Sample configuration


SpiceDB configuration


Best practices

  1. Store sensitive credentials in Kubernetes Secrets and reference them in your deployment
  2. Include the Data-Sync Job in your CI/CD pipeline for automated deployment
  3. Schedule regular runs using a Kubernetes CronJob for periodic synchronization
  4. Monitor job execution and set up alerts for failures

Troubleshooting

Symptoms: The Data-Sync Job fails to start or exits with database connection errors.Solutions:
  1. Verify MongoDB and PostgreSQL connection strings are correctly formatted
  2. Check that database credentials are correct and the user has appropriate permissions
  3. Ensure network connectivity between the job pod and database services
  4. For MongoDB, confirm the replica set is healthy and reachable
  5. For PostgreSQL, verify the JDBC URL format and driver class name
Symptoms: Data synchronization completes partially or fails.Note: The Data-Sync Job does not use Kafka. It is a batch job that connects directly to each service’s database to synchronize data.Solutions:
  1. Check job logs for specific error messages: kubectl logs job/data-sync-job
  2. Verify all database connection strings are correct and reachable from the job pod
  3. Ensure database users have the required read/write permissions
  4. Confirm that all core platform components are installed and their connection variables are set
Symptoms: Data across services appears out of date or mismatched after the job completes.Solutions:
  1. Check the service-to-database mapping to ensure each service points to the right datasource
  2. Re-run the Data-Sync Job and monitor logs for partial failures
  3. Confirm that no concurrent writes occurred during the sync window
Symptoms: Job fails immediately on startup with configuration errors.Solutions:
  1. Ensure all required environment variables are set for each database connection
  2. Check for typos in environment variable names
  3. Set the connection variables for every core platform component — the job requires all of them, including components your processes may not actively use

Redis Configuration

Complete Redis setup including Sentinel and Cluster modes

Kafka Authentication

Configure Kafka security and authentication

IAM Configuration

Identity and access management setup
Last modified on June 11, 2026