Repository navigation
Releases: rucorp/mock-services
Release list
mock-services 0.9.1
mock-services 0.9.1 — 2026-10-17
Патч без изменений протокольного поведения адаптеров: политика CI для
тегов-релизов и промо-превью репозитория.
Что нового
- Промо-превью (og:image):
assets/social-preview-ru.png— русскоязычная
hero-картинка 1280×640 (< 1 МБ) с воспроизводимым typeset-источником
assets/hero.html(бренд indigo, шрифт Inter). Баннер добавлен вREADME.md.
Превью загружается вручную в Settings → Social preview репозитория.
Изменения
- CI: push тега
v*теперь прогоняет джобыtestиdockerна GitHub-hosted
ubuntu-24.04вместо self-hostedCI_RUNNER. Релизный гейт и публикация образа
больше не зависят от доступности self-hosted раннера. На PR и push вmain
поведение прежнее.
Состав релиза
10 сервисов: tbank-mock, kassa-mock (Ferma), yookassa-mock, atol-mock,
alfa-mock, sber-mock, vtb-mock, first-ofd-mock, kontur-ofd-mock,
taxcom-mock; общее ядро, три compose-файла, Dockerfile, документация и OpenAPI.
Артефакты
- Архив:
mock-services-0.9.1.zip— слепок репозитория на теге (+.sha256),
вложения релиза; внутренние документы и служебные скрипты в слепок не попадают
(.gitattributesexport-ignore). - Образ:
ghcr.io/rucorp/mock-services:0.9.1— диджест на странице GHCR. - Документация: https://axiiom.ru/mock-services/
Полный список изменений — в CHANGELOG.md, раздел [0.9.1].
mock-services 0.9.0
mock-services 0.9.0 — 2026-10-17
Релиз после наведения порядка в публичном репозитории: внутренние документы
выведены из продукта, добавлены community-файлы, исправлена подсказка в
tbank-mock. Протокольное поведение адаптеров не менялось.
Что нового
- Community-файлы:
.github/pull_request_template.md(единая схема отчёта PR),
CODE_OF_CONDUCT.md(Contributor Covenant 2.1) иSUPPORT.md— куда обращаться
по вопросам, безопасности и документации. Community health GitHub: 62% → 87%. - Метаданные репозитория: расширено описание, добавлены 20 topics, домашняя
страница — https://axiiom.ru/mock-services/, включено авто-удаление смерженных
веток.
Исправления
tbank-mock: подсказка HTTP 401 управляющей поверхности больше не ссылается
на удалённыйdocs/rfc/RFC-001-multi-tenant-sandboxes.md, а ведёт наSECURITY.md,
раздел «Изоляция песочниц». Закрыто регресс-тестом.
Состав релиза
10 сервисов: tbank-mock, kassa-mock (Ferma), yookassa-mock, atol-mock,
alfa-mock, sber-mock, vtb-mock, first-ofd-mock, kontur-ofd-mock,
taxcom-mock; общее ядро, три compose-файла, Dockerfile, документация и OpenAPI.
Артефакты
- Архив:
mock-services-0.9.0.zip— слепок репозитория на теге (+.sha256),
вложения релиза; внутренние документы и служебные скрипты в слепок не попадают
(.gitattributesexport-ignore). - Образ:
ghcr.io/rucorp/mock-services:0.9.0— диджест на странице GHCR. - Документация: https://axiiom.ru/mock-services/
Полный список изменений — в CHANGELOG.md, раздел [0.9.0].
mock-services 0.8.0
mock-services 0.8.0 — 2026-10-16
Первый релиз после большой предрелизной волны: десятый сервис (Такском), финальные волны безопасности, публичная документация на домене компании и чистовые лицензионные шапки.
Что нового
- Такском — десятый мок-сервис (
taxcom-mock, :3109): read-only кабинет/ОФД по API v2 —Login+Integrator-ID→Session-Token, договоры/личные кабинеты, документы за 10 суток с курсором; честные коды ошибок и DX-подсказки. - Безопасность: управляющие токены вне URL (заголовки/cookie), hosted-режим fail-closed по умолчанию, graceful shutdown всех сервисов, контейнерный харденинг всех compose-контуров.
- Документация: публичный сайт — https://axiiom.ru/mock-services/ (источник — этот репозиторий); гайды «интеграция за 10 минут» по всем 10 провайдерам, OpenAPI 3.1.
- Лицензия: шапки документов приведены к Apache-2.0, добавлен CI-страж; NOTICE и SPDX — без изменений.
- CI/релиз: полный гейт — для PR с кодом и тегов; релиз по тегу собирает образ (GHCR), архив-слепок и ноты.
Состав релиза
10 сервисов: tbank-mock, kassa-mock (Ferma), yookassa-mock, atol-mock, alfa-mock, sber-mock, vtb-mock, first-ofd-mock, kontur-ofd-mock, taxcom-mock; общее ядро, три compose-файла, Dockerfile, документация и OpenAPI.
Артефакты
- Архив:
mock-services-0.8.0.zip— слепок репозитория на теге (+.sha256), вложения релиза. - Образ:
ghcr.io/rucorp/mock-services:0.8.0— диджест на странице GHCR. - Документация: https://axiiom.ru/mock-services/
Полный список изменений — в CHANGELOG.md, раздел [0.8.0].
v0.7.0 — стейджинг-стенд одной командой, runtime-образ без dev-скриптов
mock-services — тестовые моки банков и касс РФ по официальным протоколам
Публичный тестовый контур для интеграторов: имитирует банк-эквайринг и облачные кассы/ОФД
по официальным протоколам, чтобы тестировать платёжную и фискальную интеграцию до договора
с провайдером — с честными схемами, кодами ошибок, сценариями отказов, виртуальными часами
и изоляцией песочниц. Ноль зависимостей (Node ≥ 18), образ на Node 22, Apache-2.0.
Что внутри (9 адаптеров)
| Сервис | Порт | Что имитирует |
|---|---|---|
tbank-mock |
3100 | Т-Банк эквайринг: Init/Confirm/Cancel, СБП QR, рекурренты, Мультирасчеты (acqapi), чарджбэки e2e |
kassa-mock |
3101 | Облачная касса Ferma: полная матрица 54-ФЗ (продажи/возвраты/коррекции, авансы, маркировка, очередь ОФД, смены ККТ, Z-отчёты) |
yookassa-mock |
3102 | ЮKassa REST /v3: Basic Auth + Idempotence-Key, two-stage платежи, возвраты, confirmation-страница, вебхуки |
atol-mock |
3103 | АТОЛ Онлайн direct API v4: ФФД 1.05, шесть операций фискализации, идемпотентность, callback |
alfa-mock |
3104 | Альфа-Банк интернет-эквайринг REST: register/deposit/reverse/refund, ACS 3DS1/3DS2, GET-callback с HMAC-SHA256 |
sber-mock |
3105 | Сбербанк Ecom REST: JSON-шлюз, карта/ACS, callback POST без подписи |
vtb-mock |
3106 | ВТБ SMB E-commerce: OAuth 2.0, orders/refunds, десятичные рубли, callback {type, object} |
first-ofd-mock |
3107 | Первый ОФД (облачная касса OKassa): getToken → Bearer, асинхронная очередь чеков |
kontur-ofd-mock |
3108 | Контур.ОФД: чтение фискальных документов (Sid + API key), пагинация, копейки |
В каждом адаптере: сценарии отказов (X-Mock-Scenario), виртуальные часы (/mock/time),
мульти-песочницы (RFC-001), журнал «как мок понял ваш запрос» (/admin/journal),
OpenAPI 3.1 (/openapi.json), DX-ошибки «код + поле + подсказка».
Как запустить
Требуется Docker (или Node ≥ 18 без Docker — npm run start:<сервис> из репозитория).
# 1. Скачать образ (тег; для воспроизводимости — digest)
docker pull ghcr.io/rucorp/mock-services:0.7.0
docker pull ghcr.io/rucorp/mock-services@sha256:f877d3d9ebae35e36cda98573046aca5f85c0103b737856b94a04b5e45ab2484
# 2а. Полный стенд из образа — все 9 сервисов (файл из тега релиза)
curl -fsSLO https://raw.githubusercontent.com/rucorp/mock-services/v0.7.0/docker-compose.include.yml
docker compose -f docker-compose.include.yml --profile mock up -d
# 2б. Один сервис одной командой
docker run -p 3100:3100 ghcr.io/rucorp/mock-services:0.7.0 node services/tbank-mock/server.js
# 2в. Лёгкий стенд «банк + касса» для стейджинга (tbank :3100 + Ferma :3101)
curl -fsSLO https://raw.githubusercontent.com/rucorp/mock-services/v0.7.0/docker-compose.staging.yml
docker compose -f docker-compose.staging.yml up -d
# 3. Проверить: http://localhost:3100/health (банк), http://localhost:3101/healthz (касса)По умолчанию порты слушают только 127.0.0.1. Перед размещением на общем хосте обязательно
задайте MOCK_OPERATOR_TOKEN/MOCK_ADMIN_TOKEN и прочитайте SECURITY.md — все креды в
дефолтах синтетические и только для тестов.
Где документация
- Интеграция «за 10 минут» по каждому провайдеру:
docs/integration/(tbank-eacq, ferma-ofd, yookassa, atol, alfa, sber, vtb, first-ofd, kontur-ofd) - README сервисов (маршруты, env-переменные, границы мока):
services/<имя>-mock/ - Общий README (быстрый старт, матрица возможностей, дорожная карта): README.md
- OpenAPI 3.1 — в образе по
/openapi.jsonкаждого сервиса и вdocs/openapi/ - Безопасность: SECURITY.md
Что нового в 0.7.0 (относительно 0.6.0)
- Added:
docker-compose.staging.yml(#107) — самодостаточный стенд «банк + касса» из pinned-образа одной командой, без клонирования репозитория. - Added: девятый адаптер
kontur-ofd-mock:3108 (#97) — Контур.ОФД, чтение фискальных документов. - Changed: runtime-образ без dev-скриптов (#106) — из
scripts/в образе только healthcheck; selftest'ы, протоколы, integration-гайды и OpenAPI в образе остались. - Fixed: приоритет
X-Sandbox-Token/X-Owner-TokenнадAuthorization: Bearerв owned-режиме (#98) — исправлены 401 у адаптеров, чей контракт сам использует Bearer. - Changed: CI — docker-джоб на self-hosted раннере с порт-ремапом 3910–3917, закрыт MS-22:
MOCK_*_PUBLIC_BASE_URLследует за хост-портом (#103).
Полный список — CHANGELOG.md.
Участие и правила для ИИ-агентов
- Как внести вклад: CONTRIBUTING.md — баг-репорт, расхождение с протоколом провайдера, новый адаптер.
- Правила для ИИ-агентов (Arena, Claude Code и др.): AGENTS.md — обязательные прогоны, стили, что нельзя ломать.
- Баги и расхождения с протоколом — через шаблоны issues.
Версионирование
SemVer, Keep a Changelog. Тег 0.7.0 мутабельный —
для прод-пинов используйте digest (см. «Обновление релиза» в CONTRIBUTING.md).
Протоколы воспроизводятся по публичной документации провайдеров; товарные знаки принадлежат их владельцам.