Product Selector

Fusion 5.9
    Fusion 5.9

    Commit management

    ConfigSync uses a Git repository to store the configuration files.

    It pulls the latest changes from the repository every 30 seconds by default, and applies them to the Fusion cluster. You can configure the polling interval; see the ConfigSync configuration reference.

    At the same time, it listens to the changes in the Fusion cluster and pushes them to the Git repository.

    Fusion cluster changes have a higher priority than Git repository changes in case of conflicts.

    Latest synced commit

    The latest synced commit is the commit that was last applied by ConfigSync. ConfigSync tracks it as latest-synced-commit whose value is the Git commit hash. It uses this value to determine which commits to apply.

    ConfigSync applies all commits that are newer than latest-synced-commit and sets latest-synced-commit to the latest commit.

    For example, imagine the following Git commit history:

    Commit history

    When ConfigSync performs a git pull and finds a new commit, it applies it and sets latest-synced-commit to the latest commit.

    Commit history

    ConfigSync calculates the difference between latest-synced-commit and latest-git-commit and applies all commits within that range. Then it sets latest-synced-commit to latest-git-commit.

    Commit history

    If needed, you can set latest-synced-commit manually:

    PUT /api/properties/latest-synced-commit
    Content-Type: text/plain
    
    1111111

    This sets latest-synced-commit pointer to 1111111.

    Commit history

    After that, ConfigSync reapplies all commits that are newer than latest-synced-commit and set latest-synced-commit to the latest commit.

    Locked commit

    ConfigSync can lock the configuration to a specific commit.

    This means that ConfigSync :

    • Does not apply any commits that are newer than the locked commit

    • Does not update changes from the Fusion cluster to the Git repository

    Commit history

    You can set locked-commit using the API:

    PUT /api/properties/locked-commit
    Content-Type: text/plain
    
    2222222
    If locked-commit precedes latest-synced-commit, ConfigSync reverts all changes to the locked-commit and sets latest-synced-commit to locked-commit.
    Commit history

    All commits that are newer than locked-commit are ignored, as well as changes from the Fusion cluster.

    Commit history

    After we remove the locked-commit, ConfigSync commits all Fusion cluster changes and pulls the latest changes from the Git repository:

    DELETE /api/properties/locked-commit

    That triggers a merge between git-changes and fusion-changes where fusion-changes has a higher priority in case of conflicts.

    Commit history