server-monitor-manager/agents/_salvage-2026-08-18/smm-deliverables/smm-cleanup-and-install-2026-08-15.md
Ochenstarik 23eb3f5233 chore(agents): разбор рабочих папок с диска на 2026-08-18
Задания, отчёты и патчи, лежавшие в C:\Users\Ochenstarik\projects и в
домашней папке, перенесены в agents/. Разложено по агентам там, где имя
файла позволяло определить автора; остальное — в _salvage-2026-08-18/
и разбирается вручную.

Патчи в notes/salvage-2026-08-18/ — незакоммиченная работа из брошенных
рабочих копий: она существовала только на диске.

Тяжёлое (релизные архивы, инсталляторы, наборы данных) в репозиторий не
попало: оно лежит рядом, в Agent_projects/_archive и Agent_projects/_data.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 14:19:54 +07:00

9.8 KiB
Raw Permalink Blame History

Очистка и установка — готовые блоки

1. Очистка · выполнить на каждом сервере

Безопасно на машине, где SMM никогда не стояло: всё пропускается молча. Порядок важен — сначала остановка служб, потом удаление юнитов, иначе процесс осиротеет и продолжит держать порт.

sudo systemctl disable --now \
  ochenstarik-smm-control.service \
  ochenstarik-smm-agent.service \
  ochenstarik-smm-provisioning-helper.service \
  ochenstarik-smm-firewall.service \
  wg-quick@smm0.service 2>/dev/null || true
for u in ochenstarik-smm-control ochenstarik-smm-agent ochenstarik-monitor; do
  sudo pkill -u "$u" 2>/dev/null || true
done
sleep 2
for u in ochenstarik-smm-control ochenstarik-smm-agent ochenstarik-monitor; do
  sudo pkill -9 -u "$u" 2>/dev/null || true
done
sudo rm -f /etc/systemd/system/ochenstarik-smm-*.service
sudo rm -rf /usr/local/lib/ochenstarik-server-monitor-manager
sudo rm -f /usr/local/libexec/ochenstarik-smm-policy-apply /usr/local/libexec/ochenstarik-smm-metrics
sudo rm -f /usr/local/sbin/ochenstarik-smm-emergency /usr/local/sbin/ochenstarik-server-monitor-manager.sh
sudo rm -f /etc/sudoers.d/ochenstarik-smm-control
sudo rm -rf /var/lib/ochenstarik-server-monitor-manager \
            /var/lib/ochenstarik-server-monitor-manager-enrollment \
            /var/lib/ochenstarik-monitor \
            /etc/ochenstarik-server-monitor-manager \
            /opt/smm
sudo rm -f /etc/wireguard/smm0.conf /etc/sysctl.d/90-ochenstarik-smm-mesh.conf
sudo nft delete table inet ochenstarik_smm 2>/dev/null || true
for u in ochenstarik-smm-control ochenstarik-smm-agent ochenstarik-monitor; do
  sudo userdel "$u" 2>/dev/null || true
  sudo groupdel "$u" 2>/dev/null || true
done
sudo systemctl daemon-reload
sudo systemctl reset-failed 2>/dev/null || true
sudo sysctl --system >/dev/null

Проверка — все четыре строки должны сообщить, что пусто:

ss -lntu | grep -E ':7443|:51820' || echo "порты свободны"
ip -4 route | grep '10\.77\.0\.' || echo "подсеть свободна"
ls /etc/systemd/system/ochenstarik-smm-*.service 2>/dev/null || echo "юнитов нет"
getent passwd ochenstarik-smm-control >/dev/null && echo "пользователь остался" || echo "пользователей нет"

Если порт всё ещё занят — процесс осиротел, найдите и снимите:

sudo ss -lntup | grep -E ':7443|:51820'
sudo kill -9 <PID>

2. Зависимости · на каждом сервере

sudo apt-get update && sudo apt-get install -y --no-install-recommends \
  curl ca-certificates openssl coreutils tar netcat-openbsd

2b. cosign · на каждом сервере · временный шаг

Установщик проверяет подпись manifest через cosign, но alpha.14 его не поставляет, а в репозиториях Ubuntu его нет. Без этого шага установка обрывается на строке ERROR: Required command is missing: cosign.

Для arm64 замените amd64 на arm64 в обеих строках.

cd /tmp && \
COSIGN_VER=v3.1.3 && \
curl -fsSLO https://github.com/sigstore/cosign/releases/download/$COSIGN_VER/cosign-linux-amd64 && \
curl -fsSLO https://github.com/sigstore/cosign/releases/download/$COSIGN_VER/cosign_checksums.txt && \
grep ' cosign-linux-amd64$' cosign_checksums.txt | sha256sum -c - && \
sudo install -m 0755 cosign-linux-amd64 /usr/local/bin/cosign && \
cosign version

Ставится в /usr/local/bin, потому что этот каталог входит в secure_path sudo — иначе установщик всё равно не увидит бинарь.

Шаг исчезнет в v0.1.0-alpha.15: cosign будет обеспечивать сам установщик.


3. Установка Hub · только на сервере с публичным IP

Путь проверен живой установкой 2026-08-15 на Ubuntu 24.04 x86_64. Команду smm-setup.sh install-hub не используем: она качает 24 МБ молча, а разбор аргументов делает уже после скачивания. Ниже — по шагам, с видимым прогрессом; заодно окно SSH не засыпает.

Для arm64 замените linux-x64 на linux-arm64 во всех строках.

3.1. Установщик

mkdir -p ~/smm && cd ~/smm && B=https://github.com/ochenstarik-ui/server-monitor-manager/releases/download/v0.1.0-alpha.14 && curl -fsSL -O "$B/smm-setup.sh" -O "$B/smm-setup.sh.sha256" && sha256sum -c smm-setup.sh.sha256

3.2. Пять релизных файлов. Manifest, подпись и сертификат обязаны лежать рядом с архивом — установщик ищет их в каталоге архива

cd ~/smm && B=https://github.com/ochenstarik-ui/server-monitor-manager/releases/download/v0.1.0-alpha.14 && for f in server-monitor-manager-linux-x64.tar.gz server-monitor-manager-linux-x64.tar.gz.sha256 server-monitor-manager-manifest.json server-monitor-manager-manifest.sig server-monitor-manager-manifest.pem; do printf '>>> %s\n' "$f"; curl -fL --progress-bar -o "$f" "$B/$f"; done && sha256sum -c server-monitor-manager-linux-x64.tar.gz.sha256

3.3. Проверка подписи отдельным шагом — быстрая, и сразу видно, работает ли cosign

cd ~/smm && bash smm-setup.sh verify-manifest server-monitor-manager-manifest.json server-monitor-manager-manifest.sig server-monitor-manager-manifest.pem

Ожидается Manifest signature is valid. Если нет — дальше не идти.

3.4. Control. Вместо ВАШ-ХОСТ — публичный IP или DNS-имя

cd ~/smm && bash smm-setup.sh install-control server-monitor-manager-linux-x64.tar.gz ВАШ-ХОСТ 7443

3.5. Mesh

cd ~/smm && bash smm-setup.sh mesh-init ВАШ-ХОСТ 51820

Шаг 3.4 выведет отпечаток CA — запишите, он понадобится при регистрации каждого Node. Повторно его можно получить так:

bash ~/smm/smm-setup.sh control-ca-fingerprint

Установленный Hub

  • 178.212.13.102 (host1885995-3.hostland.pro), Ubuntu 24.04 x86_64, поставлен 2026-08-15 из v0.1.0-alpha.14;
  • отпечаток CA: EB:05:E5:16:42:EE:97:28:C2:E9:EA:6F:3E:48:3C:0C:1C:1E:02:E0:ED:9B:AF:7B:BF:24:2C:19:D4:4B:11:C4;
  • публичный ключ WireGuard: AjN8XwPB11bRQa0fO5ljPlAWc0FxU+fxbeUT8AZczHk=;
  • mesh: 10.77.0.1/24 на smm0.

Откройте у хостера TCP 7443 и UDP 51820, и если включён ufw:

sudo ufw allow 7443/tcp comment 'SMM Control' && sudo ufw allow 51820/udp comment 'SMM WireGuard'

Проверка:

sudo curl -sf --cacert /etc/ochenstarik-server-monitor-manager/control-ca.crt \
  https://ВАШ-ХОСТ:7443/healthz && echo " — Control отвечает"

4. Установка Node · на каждом из трёх остальных серверов

Сначала на Hub выпустите код — он живёт 10 минут, поэтому делайте это непосредственно перед установкой:

sudo bash ~/smm/smm-setup.sh node-code ai-agent

Имена по одному на сервер: ai-agent, home, second. Скопируйте строку SMMNODE2.....

Затем на Node — шаги 1, 2b и 3.13.3 из этого документа, затем:

cd ~/smm && sudo bash smm-setup.sh -- install-node server-monitor-manager-linux-x64.tar.gz

Разделитель -- обязателен. У обёртки smm-setup.sh есть собственная команда install-node без аргументов, которая качает всё заново молча; -- заставляет передать вызов дальше, в bootstrap, где install-node принимает путь к уже скачанному архиву. Без -- получите install-node takes no arguments.

Установщик запросит код — вставьте SMMNODE2...., ввод скрытый. Сверьте показанный отпечаток CA с тем, что выдал Hub, введите yes.

На выходе появится SMMPEER1.... — скопируйте и активируйте на Hub:

sudo bash ~/smm/smm-setup.sh peer-add 'SMMPEER1....'

После всех трёх, на Hub:

sudo bash ~/smm/smm-setup.sh mesh-status

Три строки со статусом active и свежими handshake — mesh собран.


Порядок целиком

  1. Очистка на всех четырёх машинах.
  2. Зависимости на всех четырёх.
  3. Hub на сервере с публичным IP, открыть порты.
  4. Node на трёх остальных, по одному: код на Hub → установка на Node → peer-add на Hub.
  5. mesh-status — три active.
  6. Приёмка с вашей машины.

Установка не начнётся, пока не выпущен v0.1.0-alpha.14. Проверка:

curl -fsSI https://github.com/ochenstarik-ui/server-monitor-manager/releases/download/v0.1.0-alpha.14/smm-setup.sh | head -1