# 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://:3100` - Grafana: `http://: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).