infra: tgit-runner — песочница и CD сервисов #13
Notifications
Due Date
No due date set.
Blocks
Depends on
Reference: HSE/tgit#13
Reference in New Issue
Block a user
Описание
Запуск кода из
services/<name>/на хосте: ARCHITECTURE §4, ADR-005, ADR-006.Желаемый результат
tgit-runner deploy|restart|probe <service> …на хосте; ключи CI и бота ограниченыcommand=на этот скрипт.tgit-svc-<service>с флагами песочницы и меткамиtgit.managed/service/sha/deployed_at;HEALTHCHECKизtgit.yaml.Подзадачи
infra/runner/tgit-runnerinfra/runner/svc.Dockerfileinfra/runner/authorized_keys.example(command=…,no-pty,no-port-forwarding)infra/runner/install.shdeployв шаблоне tgit-uploads вызывает runnerexamples/escape_attempts— запись в FS, fork-бомба, сеть, docker.sock — всё запрещеноАнализ
Затрагиваемые файлы
infra/runner/infra/uploads-template/.sourcecraft/ci.yamlОграничения и риски
Самая рискованная задача: чужой код рядом с прод-Vobot. Все флаги песочницы обязательны. Ревью — обязательно.
Как проверить
Пуш
services/hello→ контейнер с лимитами (docker inspect);escape_attempts→ все попытки неуспешны; сломанный healthcheck → откат и CD ❌.Лог выполнения
2026-10-13
infra: tgit-runner — песочница и CD приложений пользователейto infra: tgit-runner — песочница и CD сервисовЗависимость от #7 снята: репозиторий загрузок и ключ бота работают на Gitea (ADR-015), CI — Gitea Actions (ADR-016). #7 остаётся открытой только под SourceCraft.
Смержено в
devчерез PR #49 — закрываю.