142 lines
5.6 KiB
Bash
Executable File
142 lines
5.6 KiB
Bash
Executable File
#!/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) заметок"
|