Спокойствие для десятков проектов и вайб-кодинга

Каждая гарантия — с доказательством

Когда код пишут люди и ИИ-агенты, ошибаться не страшно, если всё можно вернуть. Formentor настраивает бэкапы, защиту кода и серверы — и не верит на слово: каждую настройку проверяет делом. Пробует удалить копию, переписать историю, достучаться до сайта — и показывает доказательство.

облака на каждую копию
3
копию базы не удалит даже владелец
30дней
зелёных статусов без доказательства
0
formentor · ночной дозор
наблюдение идёт
Маяк Formentor освещает облака, серверы, репозиторий и домен; каждый объект, на который падает луч, получает отметку о проверке. Yandex Cloud Cloud.ru AWS github db-01 web-02 web-01 example.ru
Журнал проверок
  1. 03:01:10 github git push --force → rejected ✓
  2. 03:02:13 db-01 heartbeat · sha256 9f3a…e1 match ✓
  3. 03:03:16 web-02 ssh :22 open · https 200 ✓
  4. 03:04:19 web-01 upgrades on · rebooted 03:04 ✓

Как работает

Наблюдает, настраивает и проверяет — каждую ночь заново

  1. Наблюдает

    Каждый день собирает факты с серверов, облаков, GitHub и реестров доменов: диски, обновления, ключи, копии, сроки.

    ssh web-01 · df · apt · git status

  2. Настраивает

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

    put-object-lock-configuration

  3. Проверяет

    Подтверждает каждую настройку делом: пробует удалить копию, переписать историю, достучаться до сайта — и сохраняет результат.

    git push --force → rejected ✓

И снова по кругу: доказательства обновляются, а устаревшие подсвечиваются.

Возможности

Formentor не только настраивает — он проверяет, что это работает

Слева — что делает Formentor и зачем это вам. Справа — как он программно подтверждает, что настройка действительно работает, и строка, которую он при этом видит.

Что делает Formentor — и зачем Как Formentor доказывает, что это работает

01 · 9 функций

Данные всегда можно вернуть

Агент удалил таблицу, сервер взломали, облако упало — база и файлы всё равно вернутся.

Каждую ночь — копия базы в трёх облаках

Yandex Cloud, Cloud.ru и AWS. Откажет или заблокируется одно облако — останутся ещё два.

Как проверяется

После загрузки сервер сообщает по каждому облаку размер, SHA-256 и версию копии. Облако, куда загрузка не прошла, сразу краснеет — вместе с текстом ошибки.

yandex ✓ cloud.ru ✓ aws ✓

Копию базы не удалить даже с root-доступом

Ни взломщик, ни ИИ-агент с полным доступом к серверу не сотрут запасной выход.

Как проверяется

При подключении Formentor по-настоящему пробует удалить копию базы ключом сервера — каждое облако обязано отказать. В AWS права дополнительно прогоняются через симулятор: разрешена только загрузка.

DeleteObject → AccessDenied

30 дней копию базы не изменить

Если испорченная база уже попала в копии, чистые версии за месяц никуда не денутся. Потом старые удаляются сами.

Как проверяется

После создания хранилища Formentor перечитывает версионирование, блокировку Object Lock и срок хранения. Пока проверка не пройдена, облако не получает ни одной копии.

ObjectLock COMPLIANCE · 30 days

Бэкап засчитан, только когда подтверждён

«Скрипт отработал» ещё не значит «копия есть».

Как проверяется

Сервер отправляет итог по каждому облаку, Formentor отвечает подтверждением. Нет подтверждения — запуск считается проваленным.

heartbeat → confirmed

Пропавший бэкап заметят

Сервер упал и молчит — это авария, а не «всё тихо».

Как проверяется

Formentor сам ждёт копию по расписанию — как dead-man switch. Не пришла вовремя — статус меняется на «Опаздывает», затем на «Просрочена».

last upload 03:12 · due in 21 h

Восстановление проверено заранее

Вы знаете, что база поднимается из копии, задолго до того, как это понадобится.

Как проверяется

При подключении — пробное восстановление в отдельную базу. Скачивается ровно та версия, которую сообщил сервер, и её SHA-256 сверяется с отчётом.

restore 3HL4… · sha256 match

Файлы — на любой день за 90 дней

Каждую ночь в облака уходят только новые и изменённые файлы, а прежние версии хранятся 90 дней. Трафика минимум, а вернуть можно состояние на любой день. Так защищены и файлы на диске, и S3-диски.

Тактика специально другая, чем у баз. Базу выгодно каждую ночь копировать целиком и запирать на 30 дней. Файлов в сотни раз больше, и почти все не меняются, поэтому храним версии и отправляем только изменения.

Как проверяется

В каждом облаке Formentor перечитывает настройки хранилища: версионирование включено, прежние версии живут 90 дней, текущие не удаляются. Раз в неделю контрольные суммы всех файлов сверяются с облаком, и всё, что отличается, загружается заново.

versioning ✓ · history 90 days · md5 ✓

Затёртый или удалённый файл вернётся

Если взломщик или ИИ-агент перезапишет, испортит или удалит файлы, в облаке появятся лишь новые версии поверх старых. Восстановление на день до порчи вернёт всё как было.

Как проверяется

При подключении Formentor ключом сервера загружает пробный файл и удаляет его: облако только помечает удаление, а стереть старую версию или сократить срок хранения обязано отказать. Если за ночь исчезло или изменилось подозрительно много файлов, запуск останавливается или помечается жёлтым.

DeleteObjectVersion → AccessDenied

Копии хранятся дёшево

Три облака на каждый проект не стоят как три лишних сервера: копии лежат в холодном хранилище.

Как проверяется

После настройки хранилища Formentor перечитывает его класс по умолчанию: в Yandex Cloud и Cloud.ru он должен быть холодным. В AWS каждая копия загружается в Standard-IA.

default_storage_class → COLD

02 · 5 функций

Код не потеряется

Агенты коммитят каждую правку — Formentor следит, чтобы эти точки отката никто не стёр.

Историю кода не переписать

Ни агент, ни взломщик с ключом сервера не сделает force-push и не удалит ветку — чужая работа не исчезнет.

Как проверяется

Временный deploy-ключ по-настоящему пробует переписать ветку, удалить её, создать новую ветку и тег — GitHub обязан отказать каждый раз. Правила защиты перечитываются и сверяются с эталоном, без исключений для обхода.

git push --force → rejected

На сервере ничего не зависло

Незакоммиченная правка — это работа без точки отката. На общем сервере она ещё и мешает коллегам.

Как проверяется

Formentor заходит под пользователем каждого проекта и читает git: незакоммиченное, неотправленное, не подтянутое, stash и незавершённые слияния. Рабочая копия при этом не меняется.

master · 0 uncommitted · 0 unpushed

Видно, кто сделал каждый коммит

Под одним пользователем сервера работают несколько людей и ИИ-агентов — автор определяется по SSH-ключу.

Как проверяется

Formentor открывает новое SSH-подключение и проверяет, каким автором Git представится эта сессия, а авторов последних коммитов сверяет с ключами.

fresh ssh → author from key SHA256:Xb3q…

Взлом одного сервера не откроет все репозитории

Сервер видит только свой репозиторий, а не весь ваш аккаунт GitHub.

Как проверяется

На каждом сервере перечисляются все способы войти на GitHub — ключи, агенты, файлы с токенами (сами секреты не читаются) — и проверяется, кем GitHub считает этот сервер.

ssh -T git@github.com → deploy key

Известно, у кого есть доступ к серверам

Пришёл человек — ключ добавлен куда нужно. Ушёл — видно, откуда его убрать. Чужой ключ не появится незаметно.

Как проверяется

Ключи считываются из authorized_keys каждого пользователя на каждом сервере. Новый ключ требует явного одобрения для конкретного сервера и пользователя.

SHA256:Xb3q… · approved for web-01

03 · 6 функций

Серверы сами в форме

Обновления, перезагрузки и утренняя проверка — без технаря на каждом сервере.

Все серверы на одном экране

Место на дисках, память, ожидающие обновления — не заходя на каждый из двадцати серверов.

Как проверяется

Факты читаются прямо с сервера, у каждого отчёта есть дата. Устаревший отчёт сам становится предупреждением.

/ 61% · /var 48% · memory 41%

Обновления безопасности ставятся сами

Дыры в системе закрываются без вашего участия.

Как проверяется

Formentor читает итоговую конфигурацию apt — то, что реально применяется, а не галочку в панели управления.

Automatic-Reboot "true" · 03:00

Перезагрузка — ночью и после бэкапа

Обновления ядра применяются в тихое время, когда свежая копия уже сделана.

Как проверяется

Для каждого сервера известно время перезагрузки, пропущенная помечается как проблема. Время бэкапов сверяется с окном обслуживания, а часы сервера — с часами Formentor.

backup 02:41 · reboot 03:04

Утром всё работает

После ночных перезагрузок поднялись все серверы и сайты — и вы это знаете.

Как проверяется

После окна перезагрузок Formentor сам подключается к SSH каждого сервера и открывает каждый сайт по HTTPS.

ssh :22 open · https 200

Система на поддержке

Вы заранее знаете, когда версию операционной системы пора обновлять.

Как проверяется

Версия из /etc/os-release сверяется с датами окончания поддержки Ubuntu.

Ubuntu 24.04 · supported until 2029-05

Срочные патчи PHP и Node.js

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

Как проверяется

Каждый сайт получает статус «Обновлён», «На техобслуживании» или «Требует действий» по установленной версии и реальному HTTP-ответу.

503 maintenance → 200 patched

04 · 1 функция

Домены не истекут

Ни один сайт не пропадёт из-за забытого продления.

Сроки продления всех доменов

Все домены, включая .ru и .рф, на одном экране с датой, до которой они оплачены.

Как проверяется

Каждый день дата берётся напрямую из реестра — по RDAP или WHOIS. Если реестр не ответил, ошибка видна рядом с доменом, а последняя известная дата сохраняется.

whois.tcinet.ru → paid-till 2027-03-14

Принцип

Нет доказательства — нет зелёной галочки

Любой статус в Formentor опирается на конкретное доказательство: отчёт, контрольную сумму, ответ облака или реестра. У доказательства есть дата. Когда оно стареет, статус перестаёт быть зелёным — даже если ничего не сломалось. Старые данные никогда не выдаются за текущие.

  • У каждого статуса есть источник и дата
  • Устаревший отчёт — уже предупреждение
  • Тишина — тоже сигнал: молчащий сервер не считается здоровым

Свежесть доказательств

пример

  • db-01 → Yandex Cloud

    Копия подтверждена: SHA-256 и версия

    Подтверждено · 3 ч назад
  • web-02 · здоровье

    Последний отчёт сервера

    Отчёт устарел · 9 дней
  • shop-db → AWS

    Ожидаемая копия не пришла

    Просрочено · 27 ч без копии

Спите спокойно — маяк не спит

Копии, серверы, код и домены проверяются каждую ночь, а доказательство каждой проверки — у вас перед глазами.

Войти

Материалы

Вайб-кодинг на сервере: с чего начать

Презентации и инструкции о том, как команды работают с ИИ-агентами, и эксперимент с запасными моделями на случай блокировок Claude.