Files
microdao-daarion/docs/internal/infra/INFRA_AUTOMATION_PACK_V1.md

73 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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).