Непрерывная синхронизация между инстансами GitLab

Удобный сервис для однонаправленного переноса GitLab-репозиториев. Заменит самописные скрипты на масштабируемое решение с гарантией совпадения кода в On-prem и SaaS контурах.

Преимущества

1

Управляемость

Управляемая синхронизация тысяч репозиториев.

2

Валидация кода и артефактов

DockerHelmS3
3

Strictly One-Way

Безопасность DMZ и изолированных сегментов

В чём ручное зеркалирование и bash-скрипты проигрывают?

Непрозрачность

Нет единого места, где видно статус тысяч задач. Непонятно, что реально совпадает, а что упало.

Сложность масштабирования

Добавление нового проекта или изменение структуры групп требует ручного обновления скриптов.

Технические лимиты

Обычные скрипты не умеют грамотно обрабатывать Rate Limits (429 Error) от GitLab SaaS и параллелизм задач.

Риски ИБ

Токены в конфигах CI, отсутствие аудита и риск force-push, ломающего доставку.

Скрытые инциденты

Вы узнаёте о том, что код в закрытом контуре не совпадает с источником, только в момент сбоя прода.

Архитектура, ориентированная на безопасность

СинхроГит - это набор stateless-сервисов, работающих через GitLab API v4.

No Internal DB

Отсутствие скрытой базы данных снижает attack surface (поверхность атаки).

External State

Состояние хранится в Redis, доставка задач — через Kafka. Это гарантирует выживаемость системы при сбоях.

Минимальные права

Используются отдельные API-токены для Source и Destination с ограниченными доступами (read/write repository).

Однонаправленность

Изменения в Mirror-контуре никогда не реплицируются обратно в Master.

Больше, чем просто git clone ––mirror

Вся система находится под вашим полным контролем

Continuous Sync

Синхронизация по расписанию или по событиям (вебхуки). Полная история коммитов, веток и тегов.

Синхронизация пайплайнов

Позволяет Low-trust окружениям проводить собственные проверки безопасности и соответствия регламентам в рамках общего CI/CD.

Data Revision Service (Compare-only)

Сервис не просто копирует, а сверяет версии Docker-образов, Helm-чартов и артефактов в S3. Вы точно знаете, что контуры идентичны.

Smart Filtering

Гибкое управление через Black/White листы с поддержкой Regex.

Веб-интерфейс

Мониторинг активных задач и логов без необходимости заходить на сервер.

Сценарии использования

Разработка в открытом сегменте — автоматическая доставка в закрытый контур для сборки и деплоя.

Кейс 1: Изолированный контур (DMZ)

Готов к интеграции в Enterprise-стек

Формат поставки

Docker-compose
или
Helm-чартыдля Kubernetes

Стек

Redis
RedisState
Kafka
KafkaЗадачи
ClickHouse
ClickHouseМетрики
OAuth2
OAuth2
JWT
JWT

Что нужно для старта

Доступы к API Source/Destination
Инфраструктура (Redis, Kafka, InfluxDB)
Выделенное временное хранилище для данных синхронизации

FAQ

Скрипты не масштабируются: нет мониторинга, аудита, обработки ошибок и Rate Limits. GitLab Syncer — это промышленное решение с гарантией консистентности данных.

Нет. Kafka обеспечивает персистентность сообщений. При восстановлении сервиса все задачи будут обработаны. Дополнительно работает механизм ретраев и dead letter queue.

Синхронизация однонаправленная — от Source к Destination. Мы не поддерживаем двустороннюю синхронизацию, так как это создаёт конфликты и снижает безопасность.

От ручных скриптов к промышленному стандарту синхронизации

Присоединяйтесь к компаниям, которые автоматизируют работу с помощью ИИ-экспертов и экономят тысячи часов ежемесячно.