feat: add offline docker bundle for enterprise clean releases

This commit is contained in:
2026-03-11 12:35:01 +03:00
parent b887d4a509
commit de5f5735ce
5 changed files with 203 additions and 14 deletions

View File

@@ -250,19 +250,19 @@ cd /home/busya/dev/ss-tools
```bash
# 1. Собрать образы в подключённом контуре
docker compose -f docker-compose.yml build
./scripts/build_offline_docker_bundle.sh v1.0.0-rc2
# 2. Экспортировать их в tar-архивы
docker save ss-tools-backend:TAG -o dist/docker/backend.TAG.tar
docker save ss-tools-frontend:TAG -o dist/docker/frontend.TAG.tar
# 2. Передать dist/docker/* в изолированный контур
# 3. Импортировать образы локально
docker load -i dist/docker/backend.v1.0.0-rc2.tar
docker load -i dist/docker/frontend.v1.0.0-rc2.tar
docker load -i dist/docker/postgres.v1.0.0-rc2.tar
# 3. Передать bundle в изолированный контур
# 4. Импортировать образы локально
docker load -i dist/docker/backend.TAG.tar
docker load -i dist/docker/frontend.TAG.tar
# 4. Подготовить env из шаблона
cp dist/docker/.env.enterprise-clean.example .env.enterprise-clean
# 5. Запустить только локальные образы
docker compose -f docker-compose.enterprise-clean.yml up -d
docker compose --env-file .env.enterprise-clean -f dist/docker/docker-compose.enterprise-clean.yml up -d
```
Ограничения для production-grade offline release:
@@ -272,10 +272,10 @@ docker compose -f docker-compose.enterprise-clean.yml up -d
- clean/compliance manifest должен включать docker image digests как часть evidence package.
Практический план внедрения:
- добавить pinned Docker image tags и отдельный `enterprise-clean` compose profile;
- подготовить `make release-docker-bundle` или shell script для `build -> save -> checksum`;
- включить docker image digests в clean-release manifest;
- добавить smoke-check, что compose-файлы не содержат внешних registry references вне allowlist.
- pinned Docker image tags и отдельный `enterprise-clean` compose profile добавлены;
- shell script `scripts/build_offline_docker_bundle.sh` добавлен для `build -> save -> checksum`;
- следующим шагом стоит включить docker image digests в clean-release manifest;
- следующим шагом стоит добавить smoke-check, что compose-файлы не содержат внешних registry references вне allowlist.
## 📖 Документация
@@ -371,4 +371,3 @@ pip install -r requirements.txt --upgrade
cd frontend
npm install
```