GitRiver GitRiver
EN

О проекте

Что такое GitRiver

GitRiver - self-hosted git-платформа. Один бинарник на Rust (~50 МБ) объединяет всё необходимое для разработки: Git-хостинг с SSH, CI/CD с DAG-пайплайнами, OCI-совместимый реестр контейнеров, реестр пакетов (npm, PyPI, Cargo, Maven, NuGet, Generic), задачи с Kanban-досками, пулл-реквесты с CODEOWNERS и очередью слияния, GitOps-деплой (RiverCD) с поддержкой канареечного и сине-зелёного деплоя, 8 каналов уведомлений и многое другое.

Зачем

Традиционные self-hosted платформы требуют гигабайты RAM, десятки процессов и сложную инфраструктуру. GitRiver предлагает полноценный функционал при потреблении ~100 МБ RAM. Один бинарник, одна база PostgreSQL, запуск за 3 секунды. Реестр пакетов (6 форматов), CI/CD с DAG-пайплайнами, реестр контейнеров и многое другое - бесплатно в Community-версии.

Технологии

Написан на Rust (edition 2021) с использованием Axum, Tokio и SQLx. 16 крейтов в workspace-монорепо, гексагональная архитектура (DDD). Фронтенд - React 19 + TypeScript + TailwindCSS. БД - PostgreSQL 16+. 500+ эндпоинтов REST API с OpenAPI 3.1 спецификацией и Scalar UI. Полностью self-hosted, без зависимостей от облачных сервисов.

Уникальные преимущества

RiverCD - встроенный GitOps-контроллер для деплоя в Kubernetes прямо из GitRiver, без внешних инструментов. 8 каналов уведомлений из коробки (Email, Telegram, Slack, Discord, Teams, Matrix, вебхуки, встроенные). Поиск секретов с 17 встроенными паттернами и пользовательскими regex. Проверка лицензий зависимостей с поддержкой SPDX. Зашифрованные бэкапы (AES-256-GCM) с инкрементальным режимом и потоковой загрузкой в S3.