Ранняя разработка, пре-релиз

Бэкап, из которого вы точно восстановитесь

Sard — консоль бэкапов для смешанной инфраструктуры малого и среднего бизнеса. Для интеграторов и MSP, которые за ней присматривают. Один экран отвечает на главный вопрос: можно ли восстановиться прямо сейчас, и если нет — где порвалась нить.

Последнее проверенное восстановление

3 ч назад2 ошибки · 1 нет отчёта

Требуют внимания

  • Ошибка: media-s3Бэкап упал: таймаут сети
  • Нет отчёта: 1c-buhНет отчёта 26 ч
  • Бэкап есть: pg-ordersБэкап 2 ч назад, не проверен
  • Проверено: files-officeПроверено 3 ч назад
  • Пауза: old-wikiНа паузе
Так выглядит консоль (иллюстрация)

Консоль, которая не врёт про успех

  • Проверенное восстановление — главная метрика

    Зелёный цвет означает не «бэкап прошёл», а «из него восстановились». Нет проверки — нет зелёного.

  • Молчание — тоже сигнал

    Если отчёт не пришёл вовремя, это отдельный статус «Нет отчёта», а не «ОК». Успех по умолчанию не показывается никогда.

  • Состояние важнее декора

    Плотная приборная панель: проблемный источник видно за секунду. Статус всегда читается иконкой, текстом и цветом, а не одним цветом.

Как это устроено

Sard управляет бэкапами, а хранение, дедупликацию и шифрование отдаёт restic. Данные бэкапа не проходят через сервер.

  • Агент звонит сам

    Агент — gRPC-клиент поверх mTLS. На хостах не открывается ни одного входящего порта.

  • Данные идут мимо сервера

    Агент стримит бэкап прямо в хранилище через restic. Сервер хранит только управление.

  • Источники — плагины

    Каждый источник реализует один интерфейс: подготовка → дамп → поток → проверка. SDK под Apache-2.0.

Что работает сегодня

Sard ещё в ранней разработке и не готов к продакшену. Ниже честный список: что уже есть и чего пока нет.

Уже работает

  • Бэкап файлов и каталогов
  • Бэкап PostgreSQL: pg_dump в custom-формате плюс роли и табличные пространства кластера
  • Хранение через restic: S3-совместимое хранилище, SFTP или локальный диск
  • Запуск по cron в выбранном часовом поясе, один догоняющий запуск после простоя, ручной запуск из консоли
  • Отчёты о запусках и пропущенных расписаниях в Telegram
  • Установка агентов с сервера: deb, rpm и tar.gz для Linux amd64 и arm64, подписанные релизы
  • Бэкап самого Sard: база, ключи CA и конфигурация уходят ночью в выбранный вами репозиторий

Пока нет

  • Автоматическая проверка восстановления
  • Восстановление поверх существующих данных из консоли (сейчас — только в новое место)
  • Другие источники: MySQL, сетевые устройства, 1С
  • Больше одного арендатора
  • Команды sardctl кроме version

Дорожная карта — это план, а не обещание. Читать дорожную карту

Планы

Открытое ядро бесплатно и работает без корпоративных модулей. Enterprise подключается лицензионным ключом, а ключ определяет редакцию: Pro или MSP. Корпоративные возможности ещё в плане, их в продукте пока нет.

  • Community

    Открытое ядро, AGPL-3.0

    Бесплатно

    • Бэкап файлов и PostgreSQL через restic (S3, SFTP, диск)Есть сейчас
    • Расписания, ручной запуск, отчёты в TelegramЕсть сейчас
    • Агенты по mTLS, установка с сервера, подписанные релизыЕсть сейчас
    • Бэкап самого SardЕсть сейчас
    • Один администратор, один арендаторЕсть сейчас
    • Автоматическая проверка восстановленияВ плане
    • Восстановление из консоли поверх существующих данныхВ плане
    • Новые источники: 1С на PostgreSQL, MikroTik, Eltex, MySQLВ плане
    Развернуть
  • Pro

    Для одной организации

    Условия по запросу

    Без управления арендаторами, число пользователей ограничено по договорённости. Перепродажа запрещена.

    • Всё из CommunityЕсть сейчас
    • SSO и RBAC: пользователи, роли, вход через внешний IdPВ плане
    • Журнал аудитаВ плане
    • Отчёты: RPO, RTO, статистика восстановлений, хранилищ и бэкаповВ плане
    • Интеграция с LLM: разбор аномалий, помощь в администрировании и в написании скриптов проверкиВ плане
    • Плагины корпоративного уровняВ плане
    • Внешний CA и сертификация (Vault, PKCS#11, ГОСТ)В плане
    Связаться с нами
  • MSP

    Для интеграторов и MSP

    Условия по запросу

    Допускает предоставление сервиса клиентам.

    • Всё из ProЕсть сейчас
    • Управление арендаторами: много клиентов в одной установкеВ плане
    Связаться с нами

Сервер за 10 минут

Нужен Linux-хост (amd64 или arm64) с Docker Engine 26.0+, плагином Compose 2.26+ и curl. Команды запускают sard-server и PostgreSQL из опубликованного образа.

SARD_TAG=v0.1.0-beta.1
mkdir -p ~/sard && cd ~/sard
curl -fsSLO "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/docker-compose.yml"
curl -fsSL -o .env "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/sard.env.example"
mkdir -p db
curl -fsSL -o db/db-init.sh "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/db-init.sh"
curl -fsSL -o db/bootstrap.sql "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/bootstrap.sql"
curl -fsSL -o db/pg_hba.conf "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/pg_hba.conf"
curl -fsSL -o db/postgres-entrypoint.sh "https://github.com/Artur-Abalov/Sard/releases/download/$SARD_TAG/postgres-entrypoint.sh"
sudo chgrp 10001 .env && chmod 640 .env
docker compose up -d --wait
curl -fsS http://localhost:8080/api/v1/status

Первый запуск попросит пароль администратора в консоли: одноразовый код выводится в лог сервера, а мастер настройки проведёт через CA и бэкап самого сервера.

Сервер — плоскость управления, а не хранитель ключей

Репозитории, секреты и скрипты описываются на хосте агента и упоминаются только по имени. Ключи, учётные данные и пути к скриптам не пересекают провод: сервер не хранит ключей хранилища. Релизы подписаны (minisign, cosign), к ним прилагаются SBOM и провенанс сборки.

Безопасность и проверка релизов

Открытое ядро

Сервер, агент, CLI и веб-интерфейс — AGPL-3.0. Контракты gRPC и SDK плагинов — Apache-2.0, поэтому сторонние плагины, в том числе проприетарные, можно писать без обязательств AGPL. Открытое ядро работает без корпоративных модулей.

Участие в разработке