ConfigSync keeps your Fusion configuration settings consistent and up-to-date across different environments by automatically synchronizing configuration data between your Git repository and your Fusion cluster. It follows GitOps principles by using Git as the single source of truth for configuration management.
TLS must be disabled in order to use ConfigSync.

Features

ConfigSync supports these features:
  • Configuration storage
    • Git Repository: Stores the configuration files.
    • Fusion Cluster: Applies the configuration files to the Fusion cluster.
    • Kubernetes Secret: Stores the Fusion secrets.
  • Synchronization mechanisms
    • Polling:
      • Periodically pulls the latest changes from the Git repository and applies them to the Fusion cluster.
      • Periodically pulls the latest changes from some solr collections (blobs, rules) and pushes them to the Git repository.
    • Event-driven:
      • Listens for changes in the Fusion cluster and pushes them to the Git repository.
      • Listens for changes in the Kubernetes secret and syncs them with the Fusion cluster.
  • Synchronization modes
    • Publisher mode: Monitors Fusion for changes and pushes them to a Git repository.
    • Subscriber mode: Polls a Git repository for changes and applies them to Fusion.
    • Pub/Sub mode: Combines the features of both Publisher and Subscriber modes.
  • Secret management
    • Supports storing Fusion secrets in a Kubernetes secret and syncing them with the Git repository.
    • Watches for changes in the Kubernetes secret and syncs them with the Fusion cluster.
  • Version control
    • Maintains the latest-synced-commit to track the last applied commit.
    • Supports locking the configuration to a specific commit using locked-commit.
  • Restoring configuration
    • Allows rollback to a previous state.
    • Supports restoring the configurations to a specific commit, branch or date.
  • Metrics
    • Exposes metrics such as resource_update_errors_total, out_of_sync, sync_seconds, and sync_seconds_max at the /actuator/prometheus endpoint.

ConfigSync versus Cross Data Center (CrossDC) replication

Fusion supports Cross-Data Center Replication (CrossDC) in addition to ConfigSync.
While ConfigSync is designed for configuration synchronization, CrossDC is designed for data replication.
Here’s a comparison of the two features:
FeatureCrossDCConfigSync
Data replication
Solr collection synchronization
Rules synchronization
Configuration synchronization
Blob synchronization
Version control (Git)
ZooKeeper data
Disaster recoveryFor search dataFor configuration only
Latency reductionAcross geo-distributed usersNot applicable
Typical use caseGlobal failover, data center redundancyDevOps config promotion, disaster recovery for Fusion config
When you use CrossDC, ConfigSync must also be enabled in order to mirror Solr configset data that is directly modified in ZooKeeper by Fusion instead of by the Solr ConfigSet API.
See Cross Data Center Replication for more details.

Setup

See ConfigSync deployment to set up ConfigSync on your Fusion cluster.
LucidAcademyLucidworks offers free training to help you get started.The Course for ConfigSync focuses on how to synchronize your Fusion configuration with a GitHub repository:
ConfigSyncPlay Button
Visit the LucidAcademy to see the full training catalog.