Переосмысление установщика по фидбеку: установщик должен делать чистую
установку «с нуля», а не миграцию. От пользователя требуется одна
команда и больше ничего:
curl -sSL https://.../install.sh | sudo bash
deploy/astra/install.sh переписан:
- 9 чётких этапов с прогресс-индикатором (секунды от старта)
- Авто-определение ОС: Astra SE → официально, Astra CE/Debian → warn,
Ubuntu → ask, остальные → fail
- Авто-скачивание дистрибутива ИШ (~120 МБ) с old.nsd.ru
- Авто-установка ИШ через dpkg (но если упадёт — это OK, продолжаем)
- НЕинтерактивный режим (--yes) для CI/автоматизации
- Финальная сводка с URL'ами + список ручных шагов
- Дефолтный setup.json создаётся сразу, чтоб bj-server понимал DSN
- ProtectSystem=strict, ReadWritePaths только нужные, PrivateTmp в
systemd unit'е
deploy/astra/migrate-from-redos.sh → переименован в import-data.sh
и стал ОПЦИОНАЛЬНЫМ (для тех кто переезжает с действующего стенда).
Главный путь — чистая установка через install.sh.
deploy/astra/README.md перетряхнут:
- TL;DR с одной командой в самом верху
- Объяснение Astra SE vs Astra CE vs Debian (платное/бесплатное)
- 5 скриптов вместо 6
- Раздел «что произойдёт после установки» — режим эмуляции, что
осталось руками
- 10-этапный путь от чистой ВМ до прохождения теста с роботом MOEX МОСТ
REPORT.md обновлён: установщик описан как «одна команда» вместо
«миграция», % готовности не изменился (но качество улучшилось).
Bridge-and-Join-s — установка одной командой
TL;DR — на свежей Astra Linux / Debian / Ubuntu ВМ
curl -sSL https://git.zetit.ru/zuevav/Bridge-and-Join-s/raw/main/deploy/astra/install.sh | sudo bash
Через 5-10 минут будет работать веб-админка на http://<ip>:8080/admin/.
Установщик сам:
- Определит ОС (Astra SE/CE, Debian, Ubuntu)
- Поставит зависимости (apt: podman, postgresql-client, git)
- Скачает и установит Go 1.24+
- Создаст системного пользователя
bjи каталоги - Склонирует репозиторий в
/opt/bj/src - Соберёт
bj-serverиз исходников - Поднимет PostgreSQL 16 в podman-контейнере и накатит миграции
- Поставит systemd unit и запустит сервис
- Скачает дистрибутив ИШ НРД (~120 МБ) и попытается установить через
dpkg
После завершения скрипта тебе печатается понятная сводка с URL'ами и списком того, что осталось сделать руками.
Какая нужна ВМ
| Параметр | Минимум | Рекомендуется |
|---|---|---|
| ОС | Debian 11+ / Astra CE 1.8 / Astra SE 1.6+ / Ubuntu 22.04+ | Astra Linux SE 1.7 (для прод) |
| CPU | 2 ядра | 4 ядра |
| RAM | 2 ГБ | 4 ГБ |
| Диск | 20 ГБ | 50 ГБ SSD |
| Сеть | прямой выход в интернет | + статический IP |
Что я понимаю про лицензии Astra Linux:
- Astra SE — платная (~2-5 тыс. ₽/лицензия), сертифицирована ФСТЭК/ФСБ → нужна для прода с гос-требованиями
- Astra CE — бесплатная, без сертификации, тот же базовый дистрибутив → можно использовать для дева и тестов, а для прода докупить SE
- Debian 12 — полностью бесплатный, технически на 95% совместим с Astra (один и тот же базовый дистрибутив), ИШ скорее всего тоже взлетит, но НРД официально не поддерживает
Скрипты в этом каталоге
| Файл | Когда запускать | Что делает |
|---|---|---|
install.sh |
сразу после поднятия ВМ | Главный скрипт. Делает всё одной командой |
install-validata.sh |
когда придёт Валидата от НРД | Установка СКЗИ Валидата CSP |
install-ish.sh |
если install.sh не установил ИШ автоматически |
Ручная установка ИШ из локального .deb |
healthcheck.sh |
для проверки состояния | Цветной отчёт о работоспособности всех компонентов |
import-data.sh |
(опционально) если переносишь с другой ВМ | Экспорт БД и настроек со старой ВМ для импорта на новую |
Что произойдёт ПОСЛЕ автоматической установки
install.sh дойдёт до точки, где bj-server работает, но в режиме эмуляции — потому что Валидата и сертификат УЦ МБ автоматически получить нельзя. В админке сверху будет жёлтая плашка «РЕЖИМ ЭМУЛЯЦИИ». Это ожидаемо.
Что нужно сделать пользователю руками
1. Запросить Валидата CSP в НРД (1 письмо)
Email: soed@nsd.ru или pki@moex.com. Текст подскажет сам скрипт install-validata.sh — есть шаблон. Срок ответа НРД — 1-3 дня.
Когда придёт .deb пакет:
sudo bash /opt/bj/src/deploy/astra/install-validata.sh /path/to/validata.deb
2. Получить сертификат УЦ Московской Биржи
https://ca.moex.com/ — оформить заявку от организации. Срок — зависит от УЦ.
3. Подать заявку на тестирование в TEST3 НРД
https://www.nsd.ru/workflow/zayavka-na-testirovanie/ — получить код депонента-тестера.
4. Когда всё пришло — настроить ИШ через его GUI
По DOC/ruk_install_ish_2025_11_10.pdf (раздел 10):
- Указать БД PostgreSQL (DSN уже в
/var/lib/bj/.bj/setup.json) - Создать канал WSL с URL
https://gost.nsd.ru/onyxt3/WslService(TEST3) - Импортировать сертификат УЦ МБ из системного хранилища
- Запустить ИШ как сервис:
sudo systemctl enable --now igate
5. Привязать bj-server к ИШ
http://<ip>:8080/admin/setup → раздел «ИШ НРД»:
- URL ИШ:
http://localhost:8090(порт REST API ИШ) - Имя канала: то что задал в ИШ на шаге 4
После этого жёлтая плашка «РЕЖИМ ЭМУЛЯЦИИ» исчезнет — сообщения пойдут в реальный НРД.
Параметры установки
install.sh принимает флаги:
sudo bash install.sh --bind=:8080 --skip-ish --yes
| Флаг | По умолчанию | Что делает |
|---|---|---|
--bind=:8080 |
:8080 |
На каком адресе/порту слушать |
--branch=main |
main |
Из какой ветки репо собирать |
--skip-ish |
(выкл) | Не скачивать дистрибутив ИШ (если стоят жёсткие ограничения по интернету) |
--yes / -y |
(выкл) | Не задавать вопросов, отвечать «да» автоматически |
Также через переменные окружения: REPO_URL, BRANCH, BIND_ADDR, ISH_DEB_URL, NON_INTERACTIVE.
Если что-то сломалось
| Симптом | Решение |
|---|---|
bj-server.service не active |
journalctl -u bj-server -n 50 |
| HTTP 200 не отвечает | проверь что :8080 открыт; ss -tlnp | grep 8080 |
| Миграции не накатились | podman exec bj-postgres psql -U bj -l и \dt fansy.* |
| ИШ не скачался | положи igate_100.0-765_amd64.deb в /opt/bj/src/dist/ish/ и перезапусти install.sh |
| Валидата не установлена | это нормально на старте — заказывай у НРД, потом install-validata.sh |
| Не определилась ОС | поддерживаются: Astra, Debian, Ubuntu. Для других — открой issue |
Health-check всё сразу:
sudo bash /opt/bj/src/deploy/astra/healthcheck.sh
Полный путь от чистой ВМ до прохождения теста с роботом MOEX МОСТ
| Этап | Что делается | Срок |
|---|---|---|
| 1. Поднять Astra Linux ВМ | у инфра-команды | 1 день |
2. Запустить install.sh |
автоматически | 5-10 мин |
| 3. Запросить Валидату в НРД | письмо в soed@nsd.ru |
1-3 дня ожидания |
| 4. Получить сертификат УЦ МБ | заявка в ca.moex.com |
1-2 недели ожидания |
| 5. Подать заявку на TEST3 | форма на сайте НРД | 2-5 дней |
| 6. Установить Валидату | install-validata.sh |
5 мин |
| 7. Импортировать сертификат | GUI Валидаты, экспорт в системное хранилище | 15 мин |
| 8. Настроить ИШ | GUI ИШ, создать канал WSL | 30 мин |
| 9. Привязать bj-server к ИШ | /admin/setup через UI |
5 мин |
| 10. Прогнать тест с роботом | /admin/setup → кнопка |
1 мин |
Итог: 2-3 недели от старта до зелёного теста с роботом MOEX МОСТ. На нашей стороне всё уже готово — задержки только во внешних запросах.