Skip to content

feat: add integration overlay for Docker INT-1084#6

Open
smintank wants to merge 4 commits into
mainfrom
feature/INT-1084-docker-repack-overlay
Open

feat: add integration overlay for Docker INT-1084#6
smintank wants to merge 4 commits into
mainfrom
feature/INT-1084-docker-repack-overlay

Conversation

@smintank
Copy link
Copy Markdown
Collaborator


Что происходит; кому и зачем нужно:

INT-1084

Добавлены скрипты в переупаковку docker-ce

Зависит от этого пиара


Что поменялось для пользователей:

Пользователь устанавливает самый свежий докер одной командой apt install docker-ce


Как проверял/а:

Сбилдил и проверил на нескольких контроллерах разной архитектуры wb7 и wb8
Проверил сценарий после обновления фитом
Проверил сценарий миграции с установки текущим скриптом

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the docker-ce repack flow by bundling a Wiren Board integration overlay into the repacked docker-ce package, so controllers can install a fresh upstream Docker via apt install docker-ce while automatically applying WB-specific persistent storage and service startup setup.

Changes:

  • Enhanced repack/repack-docker-ce.sh to inject an overlay into docker-ce only, regenerate DEBIAN/md5sums for added files, and add a hard dependency on docker-compose-plugin.
  • Added an overlay tree containing wb-docker-setup boot-time script, a daemon.json template, and systemd units/drop-ins to ensure /mnt/data and setup run before Docker/containerd.
  • Updated README.md to describe the new “single-command install” behavior and the overlay contents.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
repack/repack-docker-ce.sh Injects WB overlay into docker-ce during repack and appends compose-plugin dependency.
repack/overlay/usr/share/wb-docker/daemon.json Adds default daemon.json template pointing Docker data-root to /mnt/data.
repack/overlay/usr/lib/wb-docker/wb-docker-setup.sh Adds idempotent boot-time setup script for persistent dirs/symlinks, daemon.json seeding, and iptables backend pinning.
repack/overlay/lib/systemd/system/wb-docker-setup.service Adds oneshot unit to run WB Docker setup before docker/containerd.
repack/overlay/lib/systemd/system/docker.service.d/10-wb-mountdata.conf Adds docker.service drop-in to require /mnt/data and wb-docker-setup.service.
repack/overlay/lib/systemd/system/containerd.service.d/10-wb-mountdata.conf Adds containerd.service drop-in to require /mnt/data and wb-docker-setup.service.
README.md Updates documentation for the new packaging/install behavior and repo structure.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread repack/repack-docker-ce.sh Outdated
Comment on lines +182 to +186
release_needs_legacy_iptables || {
log "iptables: release does not need legacy backend — skipping"
: > "$IPTABLES_MARKER" # still write marker, so we don't re-check repeatedly
return 0
}
Comment thread README.md Outdated
@smintank smintank changed the title overlay: add WB integration overlay for Docker feat: add integration overlay for Docker INT-1084 May 26, 2026
@smintank smintank force-pushed the feature/INT-1084-docker-repack-skeleton branch from 74c33cc to cb0543a Compare May 26, 2026 11:49
@smintank smintank force-pushed the feature/INT-1084-docker-repack-overlay branch 2 times, most recently from 137b20d to ce84889 Compare May 26, 2026 13:02
@smintank smintank force-pushed the feature/INT-1084-docker-repack-overlay branch from ce84889 to 6171dfc Compare May 26, 2026 15:03
smintank added 2 commits May 26, 2026 20:10
The repo-root artifacts/ folder is used for local upgrade-test runners
and other transient test material that should not ship with the package.
Mirrors the existing doc/ ignore for the same reason.
Align the overlay branch with the new repack model: docker-ce is the
only package the build script touches — it gets the WB overlay tree,
the WB postinst snippet, the docker-compose-plugin Depends, and the
+wb100 Version suffix, then is repacked with dpkg-deb. The three
sibling packages (docker-ce-cli, containerd.io, docker-compose-plugin)
are now copied as-is from src/ into artifacts/ under their upstream
filenames and versions. They keep byte-identical upstream contents
and live next to docker-ce in the WB apt repo only so apt can resolve
docker-ce's strict Depends from a single source.

Tying the version-bump and the integration overlay to the same single
package removes the previously bogus WB suffix on the other three,
where we never modified contents and would have to re-run the repack
on every upstream bump for no gain.
Copy link
Copy Markdown

@vitalii-wb vitalii-wb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Посмотрел - лайк
Глянь коменты - поправь и можно вливать

Comment thread .gitignore
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В текущей версии как будто два файла gitignore лежит - так точно нужно?

Image

esac
}

if release_needs_legacy_iptables; then
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

на сколько понял - тут есть настройки для корректной работы в постинст - но нет никаких откатов состояния в postrm или что то вроде этого

Если это сделано сознательно - то желательно отметить в ридми и/или в коде тут где-то рядом

Вроде этот момент описан в гугл доке
https://docs.google.com/document/d/1SS1GXR9tSsovYjIU3ILNvEqS7ZJKOOznjiLtqoGcz34/edit?tab=t.0

но он по идее тут рядом с кодом где то должен быть описан

Comment thread README.md
Расширенный документ по архитектуре, всем edge-cases и плану работ лежит
в Google Drive:

[Перепаковка Docker для Wiren Board](https://docs.google.com/document/d/1SS1GXR9tSsovYjIU3ILNvEqS7ZJKOOznjiLtqoGcz34/edit?tab=t.0)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Этот файл в гугл доке - по идее должен содержать пункты перепаковки, условно быть краткой инструкцией по перепаковке. Отвечать на вопрос - как нам новую версию закинуть в аптли перепаковав ее. (на 1, максимум на 2 страницы). Потом ее надо будет утвердить.

https://docs.google.com/document/d/1SS1GXR9tSsovYjIU3ILNvEqS7ZJKOOznjiLtqoGcz34/edit?tab=t.0

  • Часть про код желательно в этот репо переместить
  • Описания про причины принятия решений (полезный текст) - перенести в файл проекта

Comment thread README.md
(например, `5:29.5.2-1~debian.11~bullseye+wb100`). Остальные три пакета
кладутся в WB-репо как есть с download.docker.com — побайтово upstream,
тот же `Version`, то же имя файла. Они нужны рядом с `docker-ce` только
чтобы apt разрешал его строгие `Depends:` из одного источника.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

для версионирования можно отдельный заголовок добавить - важная часть

Comment thread README.md
чтобы apt разрешал его строгие `Depends:` из одного источника.

## Структура репозитория

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут бы одно предложение про то что за папка такая repack и что внутри лежит. А ниже уже пофайлово хорошо описано.

Мол вот в корне лежит папка репак, она содержит ....
Сейчас не совсем понятно для чего в корне папка которая содержит другие папки - но может я не понял ее цель просто

Base automatically changed from feature/INT-1084-docker-repack-skeleton to main May 29, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants