Files
memo/scripts/make_e2e_corpus.sh

142 lines
5.6 KiB
Bash
Executable File
Raw Permalink 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.
#!/bin/bash
# Создаёт эталонный корпус для приёмки memo (TESTING.md §0).
# 12-15 заметок в 3 коллекциях, кириллица + латиница + точные значения в каждой папке.
set -euo pipefail
ROOT="${1:-/root/WORK/memo-e2e}"
rm -rf "$ROOT"
mkdir -p "$ROOT/infra" "$ROOT/work/jira" "$ROOT/life/books"
# ---------- infra ----------
cat > "$ROOT/infra/servers.md" <<'EOF'
# Серверы
## Server4 (76.160)
Основной Proxmox-хост. Диск sdd — SSD, sda/b/c — HDD, причём sda на SMR-пластинах.
Утилиты parted нет: разметку делать через sgdisk или sfdisk.
## Server5 (88.130)
Две видеокарты: 3090 занята под Qwen VL и аудио, её не трогать. Эксперименты — только на 5090.
## Server6 (76.109)
Здесь живёт powerdns, он же LXC102. Отвечает за внутренние зоны.
EOF
cat > "$ROOT/infra/hosts.md" <<'EOF'
# Адреса внутренних сервисов
## Реестр образов
zot слушает на 192.168.88.35:8080, репозиторий приватный.
## Прокси
Корпоративные домены ходят через Caddy на 76.132. Отдельный Traefik на 76.195 заворачивает
домены вида .xx, а DNS под ним — 76.109.
## Nexus
Нексус доступен на 76.117, релизы публикует CI/CD, руками артефакты не заливать.
EOF
cat > "$ROOT/infra/domains.md" <<'EOF'
# Домены и DNS
## Внутренние зоны
Основой для DNS и mDNS служит kdns, он же pw.binom.dns.
## LLM-роутер
llm.binom.pw работает через Bifrost, виртуальные ключи раздаёт сам роутер.
## Реестр
Домашний реестр библиотек — nexus.xx, репозиторий caffeine.
EOF
cat > "$ROOT/infra/backup.md" <<'EOF'
# Резервное копирование
## Postgres
Дампы снимаются в custom-формате. При восстановлении pg_restore может выйти мгновенно
с кодом ноль и ничего не сделать — проверять, что объекты реально появились.
## Медиа
Джоб копирования зеркал для очков идёт через NATS и складывает результат в S3 SeaweedFS.
EOF
# ---------- work/jira ----------
cat > "$ROOT/work/jira/access.md" <<'EOF'
# Доступы
## OTP-прокси
Корпоративные ресурсы ходят через OTP, файлы лежат в /root/OTP/. Jira отвечает на jira.mcp.xx.
## TeamCity
Сборки живут в teamcity.isb, статусы и логи — только через тот же OTP-прокси.
## Git
Клонирование корпоративных репозиториев с bitbucket возможно лишь по HTTPS, git@ не работает.
EOF
cat > "$ROOT/work/jira/flow.md" <<'EOF'
# Рабочий поток
## Задачи от агентов
Задача от агента оформляется спекой в отдельном файле, итог работы — комментарий в Vikunja.
## Тикеты
Тикет TEST-4173 закрыт после того, как сборка перестала падать на шаге тестов.
EOF
cat > "$ROOT/work/jira/pitfalls.md" <<'EOF'
# Грабли
## Хелм
Helm upgrade в k3s теряет values, если передавать их через --set. Восстанавливать из истории релиза.
## TeamCity
Если прогон висит больше часа, смотреть лог агента, а не перезапускать сборку слепо.
EOF
cat > "$ROOT/work/jira/ci.md" <<'EOF'
# CI
## Gitea Actions
Раннер живёт в LXC105 на 76.112. Сироты процессов podman и unity съедают диск и валят сборку.
EOF
# ---------- life/books ----------
cat > "$ROOT/life/books/iphuck.md" <<'EOF'
# iPhuck 10
## Про роман
Роман Пелевина, 2017 года. Рассказчик — алгоритмический следователь Порфирий Петрович,
он же литературный негр, он же полицейская машина.
## Канон
Канон Порфирия Петровича лежит в /root/BOOKS/iphuck10/. Тон — высокий штиль, смешанный
с сухим канцеляритом.
EOF
cat > "$ROOT/life/books/audiobooks.md" <<'EOF'
# Аудиокниги
## Библиотека
Книги хранятся в Audiobookshelf. Карточку чинят вручную, если метаданные подтянулись от другого издания.
## Плеер
Для очков RayNeo X2 книги транскодируются в зеркала, аудио идёт отдельными дорожками.
EOF
cat > "$ROOT/life/books/history.md" <<'EOF'
# История
## Античность
Первый том заканчивается на правлении Траяна, 117 год нашей эры.
EOF
cat > "$ROOT/life/books/notes.md" <<'EOF'
# Заметки о чтении
## Привычка
Читаю по вечерам, отмечаю цитаты в markdown, потом ищу их семантическим поиском.
EOF
ls -R "$ROOT"
echo "OK: $(find "$ROOT" -name '*.md' | wc -l) заметок"