Git Provider
Belden Horizon Data Manager supports native integration with Git providers such as GitHub, GitLab and Azure DevOps. This integration enables organizations to manage Belden Horizon Data Operations templates using standard Git workflows, ensuring version control, auditability, and centralized governance.
The Git Provider integration allows Belden Horizon Data Manager to:
- Store and version template files in a Git repository
- Automatically synchronize template updates of edge devices to Git
- Track template changes across companies and projects
- Maintain a consistent configuration baseline across distributed deployments
Prerequisites
The configuration requires:
- A valid SSH URL (for example, [email protected]:org/repo.git)
- An ED25519 public key generated by Belden Horizon Data Manager
- A deploy key with write access added to the Git repository
Synchronization Model
Belden Horizon Data Manager supports the following synchronization mechanisms:
- Synchronization on a schedule:
- Hourly
- Daily at 00:00 UTC
- Weekly on Monday at 00:00 UTC
- Monthly on the 1st at 00:00 UTC
- Synchronization triggered during device backup
- Synchronization that you triggered manually
Error Handling and Validation
Belden Horizon Data Manager performs validation and provides actionable error messages for:
- Valid SSH keys
- Whether the repository is accessible
- Write permissions
- Template schema compliance
- Detecting sync conflicts
Security Considerations
- Authentication uses ED25519 SSH keys
- Deploy keys are scoped to a single repository
- Write access is required in the Git Provider for Belden Horizon Data Manager to commit changes
- No credentials beyond the SSH keypair are stored
Best Practices
- Use a dedicated private repository for Edge templates
- Restrict deploy key permissions to the minimum required scope
- Apply branch protection rules for production environments
- Use scheduled sync for predictable updates
- Use manual sync for validation and testing
Configuration workflow
The following workflow shows how you set up Git Provider.
Setup a GitHub repository
- In GitHub, create a new private repository.
- Record the repository name.
Configure Git Provider in Belden Horizon Data Manager
- In Belden Horizon Data Manager, navigate to Integration > Git Provider.
- Select the Git provider (GitHub, GitLab, or Azure DevOps).
- Enter the SSH URL from the private repository that you created with the following syntax: [email protected]:github-name/github-repo.git
- Copy the generated SSH Public Key.
- Add the public key to the repository. For example, in GitHub add the public key to the Git repository as a deploy key with write access.
- In Belden Horizon Data Manager, validate access to the repository. Confirm that the Repository access successful message displays.
- Save the configuration.
Configure Project Tracking
- Navigate to Edge Devices > Edge Git Integration.
- Set the synchronization frequency: hourly, daily, weekly, or monthly. Syncs occur at 00:00 (UTC) daily, weekly on Mondays, and monthly on the first day of the month.
- For each company and project, choose when syncs occur. To set syncs:
- Based on the synchronization frequency that you set, select Track.
- When the device is backed up, select Sync on Backup.
- To run the synchronization manually, select Run Manual Sync from the Actions menu.
Configure integration for edge devices at the company and project level in Project Tracking. View the number edge devices and synced devices, last sync and commit ID, and integration status. The following columns display in Project Tracking.
Field | Description |
|---|---|
Company | Company to which the devices belongs |
Project | Project to which the devices belong |
Track | Enable to push changes to Git based on the selected synchronization frequency |
Sync on Backup | Enable to push changes to Git when the device is backed up |
Edge Devices | Number of devices in the project |
Synced Devices | Number of devices that have been synchronized |
Last Sync Time | The last time that a synchronization was performed from all edge devices in the current project to Belden Horizon Data Manager |
Last Commit | Git commit hash which is a unique identifier representing a specific commit in a Git repository |
Status | Status of the integration: NEW, WAITING, RUNNING, CANCELING, SUCCESS, ERROR, or CANCEL |
Action | Options to enable or disable tracking on the predefined schedule, on device backup, or to run a manual synch |