Add Infra Automation Pack v1: docs infrastructure, logging stack, sync scripts

This commit is contained in:
Apple
2025-11-27 09:29:42 -08:00
parent 6bd769ef40
commit 2a6112fc42
22 changed files with 595 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
# Infra Automation Pack v1
Infra Automation Pack v1 стандартизує документацію, логування та синхронізацію репозиторію на всіх нодах DAARION.
## 1. Docs
- Структура `/docs/public` + `/docs/internal` + `mkdocs.yml`.
- GitHub Actions `.github/workflows/docs.yml` збирає MkDocs і публікує сайт у гілку `gh-pages` (GitHub Pages увімкнути вручну).
- Dev залежності: `requirements-dev.txt` (`mkdocs`, `mkdocs-material`).
### Як запускається локально
```bash
pip install -r requirements-dev.txt
mkdocs serve
```
## 2. Logging Stack
- Конфігурації в `infra/logging/`:
- `docker-compose.logging.yml`
- `loki-config.yml`
- `promtail-config.yml`
- `grafana-provisioning/...`
- Запуск на NODE1 / NODE2:
```bash
cd /opt/microdao-daarion
sudo docker compose -f infra/logging/docker-compose.logging.yml up -d
```
- Доступ:
- Loki: `http://<node>:3100`
- Grafana: `http://<node>:3000` (логін admin / пароль налаштувати після першого запуску).
## 3. Daily Log Summary
- Скрипти `scripts/logs/generate_daily_summary.py` + `scripts/logs/daily_log_summary.sh`.
- Параметри через env (`LOKI_URL`, `LAB_NOTES_DIR`).
- Вихідні файли: `lab-notes/log_summary_YYYY-MM-DD.md`.
### Приклад cron-запису
```
0 6 * * * /opt/microdao-daarion/scripts/logs/daily_log_summary.sh >> /var/log/daarion_daily_log_summary.log 2>&1
```
### GitHub Actions (опціонально)
- `.github/workflows/log-notes.yml` — ручний запуск для пушу `lab-notes/` у `main`.
## 4. Docs Sync on Nodes
- Скрипт `scripts/docs/docs_sync.sh` виконує `git fetch` / `git pull` для `origin/main`.
### systemd unit (шаблон)
```
[Unit]
Description=Sync DAARION repo (docs + code)
After=network-online.target
[Service]
Type=oneshot
ExecStart=/opt/microdao-daarion/scripts/docs/docs_sync.sh
User=daarion
Group=daarion
[Install]
WantedBy=multi-user.target
```
### Cron-варіант
```
*/15 * * * * /opt/microdao-daarion/scripts/docs/docs_sync.sh >> /var/log/daarion_docs_sync.log 2>&1
```
## 5. Подальші кроки
- Додати Jupyter-звіти (`lab-notes/*.ipynb`).
- Розширити Grafana dashboard (`infra/logging/grafana-provisioning/dashboards`).
- Інтегрувати Node Registry + DAIS метадані (agents vs nodes).