[ADD] README fleet
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
# fleet
|
||||||
|
|
||||||
|
Идемпотентный провижнинг парка приёмников пеленгации (Raspberry Pi + HackRF).
|
||||||
|
Один прогон приводит новую или старую малинку в рабочее состояние: обновление
|
||||||
|
системы, зависимости сборки, общий deploy-ключ до Gitea, клон и сборка
|
||||||
|
`hackrf-scanner`.
|
||||||
|
|
||||||
|
Гоняется дома, пока узлы в сети с интернетом. После переноса в изолированную
|
||||||
|
сеть (коммутатор, статические IP) на карте уже есть всё; правки кода дальше
|
||||||
|
идут `rsync` + сборка на месте. Статические IP playbook не трогает.
|
||||||
|
|
||||||
|
## Требования
|
||||||
|
|
||||||
|
- на управляющей машине: `ansible` (Arch: `pacman -S ansible`), доступ по ssh
|
||||||
|
к узлам под `pi` по ключу;
|
||||||
|
- на узлах: Raspberry Pi OS (Debian 13), `pi` с sudo без пароля, интернет.
|
||||||
|
|
||||||
|
## Первый запуск
|
||||||
|
|
||||||
|
scripts/gen-key.sh # пара keys/gitea_deploy (в .gitignore)
|
||||||
|
# добавить keys/gitea_deploy.pub как deploy key (read-only)
|
||||||
|
# в Gitea: IU9/hackrf-scanner
|
||||||
|
ansible-playbook playbook.yml # весь парк
|
||||||
|
|
||||||
|
## Теги
|
||||||
|
|
||||||
|
base apt upgrade, зависимости, pi в plugdev
|
||||||
|
hostname имя узла из инвентаря
|
||||||
|
key deploy-ключ, ssh config, known_hosts
|
||||||
|
repo clone/pull ветки scanner_branch (stash локальных правок)
|
||||||
|
build cmake configure + build
|
||||||
|
|
||||||
|
ansible-playbook playbook.yml -l node106 --tags repo,build
|
||||||
|
|
||||||
|
## Инвентарь
|
||||||
|
|
||||||
|
`inventory/hosts.yml`: адреса узлов в домашней сети (транзитные), а также
|
||||||
|
справочно -- статический IP для поля, серийник HackRF и координаты x, y (м).
|
||||||
|
Ветка репозитория -- переменная `scanner_branch`.
|
||||||
|
|
||||||
|
## Приёмка
|
||||||
|
|
||||||
|
1. Прогон без `failed`.
|
||||||
|
2. Второй прогон подряд -- `changed=0` на всех узлах.
|
||||||
|
3. На узле: `hackrf_info` видит устройство, `~/hackrf-scanner/build/` собран,
|
||||||
|
`git rev-parse --abbrev-ref HEAD` = `scanner_branch`, `hostname` = имя узла.
|
||||||
|
4. `ssh -T git@monitor.yss.su` с узла отвечает Gitea.
|
||||||
Reference in New Issue
Block a user