→Портфолио · инженерные системы
Три системы, один сервер
Планировщик задач в Telegram, открытый шаблон архитектуры и слой управления, который принимает проекты, доставляет их и следит за состоянием. Один VPS в Амстердаме: изоляция на каждый проект и проверки вместо обещаний.
01Что работает
Проекты
Продукт, воспроизводимый шаблон и слой, который держит всё остальное на сервере.
TaskVista
Планировщик задач внутри Telegram: задачи, проекты, напоминания, доски. Закрытый режим, роли владельца и клиента.
all-project-base-pilot
Шаблон: как поднять проект на админ-узле — контракт агента, гейт на push, изоляция, автослияние, манифест, бэкапы.
Админ-узел
Слой управления: приёмка проектов, доставка, изоляция, бэкапы, мониторинг. От push до перезапуска — секунды.
Отдельно — agent-mailbox (почта между агентами, файлы и правила вместо сервера) и owner desk: вопросы, которые ждут решения владельца.
02Путь изменения
Как коммит становится рабочей версией
Один и тот же путь для всех проектов на сервере: без ручных копирований и без «залил по ssh».
-
01
Коммит
git pushв репозиторий проекта — как в любой обычный репозиторий. -
02
Проверка
Гейт прогоняет тесты и правила. Красный результат останавливает доставку — на сервер ничего не попадает.
-
03
Слияние по правилу
Если проверки зелёные, изменение сливается автоматически, по заранее описанному правилу.
-
04
Доставка и перезапуск
Файлы и юниты встают на место, systemd поднимает новую версию. Время — секунды.
Решение принимает проверка, а не настроение. Поэтому ошибка видна на гейте, а не в проде.
03Что можно проверить
Цифры
автоматических проверок приёмки в открытом шаблоне архитектуры.
от push до перезапуска сервиса на сервере.
снимки данных проекта, контрольная сумма sha256 и проверка восстановления.
04Как это сделано
Три правила
Ни одного скрипта
Этот сайт — статика. Заголовки безопасности запрещают JavaScript, внешних запросов нет: шрифтов, аналитики, иконок с чужих серверов.
Изоляция на проект
Свой Unix-пользователь, свой репозиторий, свои права и свой юнит systemd. Соседние проекты не видят данные друг друга.
Утверждения проверяемы
Домены открыты, репозиторий публичный, схема доставки показана целиком. Всё, что нельзя проверить, здесь не написано.