No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-10 14:01:21 +03:00
.forgejo/workflows feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
auth feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
bus feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
conf feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
eventbus feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
fqueue feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
fsm feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
lex feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
mail feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
objstore feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
observability feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
repo feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
smap feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
ssehub feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
std feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
testenv feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
vt100 feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00
.gitignore feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
.golangci.yml feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
go.mod feat: монорепозиторий общих библиотек (auth, bus, mail, objstore, ssehub, testenv) 2026-10-10 05:58:23 +03:00
README.md feat: миграция библиотек в монорепо — conf, eventbus, fqueue, fsm, lex, observability, repo, smap, std, vt100 2026-10-10 14:01:21 +03:00

pkg — монорепозиторий общих библиотек

Каждая библиотека — отдельный Go-модуль со своим go.mod и независимым версионированием (теги вида auth/v1.2.3), но живёт в одном репозитории.

Модуль Назначение Источник
auth OAuth-вход (Яндекс) + JWT-сессии + middleware MarkPad internal/auth + oktable internal/auth
bus типизированная шина событий со сменным транспортом (memory / NATS / Kafka) EventBus + новый дизайн
conf чтение конфигурационных файлов .conf go.neonxp.ru/conf
eventbus типизированная асинхронная шина событий (in-process, at-most-once) go.neonxp.ru/eventbus (с починкой потерь)
fqueue файловая очередь go.neonxp.ru/fqueue
fsm конечный автомат go.neonxp.ru/fsm
lex простой универсальный лексер go.neonxp.ru/lex
mail отправка писем через SMTP oktable internal/mail
observability OTel-трейсинг (OTLP) + Prometheus RED-метрики scratch internal/observability
objstore объектное хранилище S3/MinIO MarkPad internal/s3 + oktable internal/files
repo универсальный CRUD-репозиторий на дженериках (bun) scratch internal/repo
smap упорядоченная потокобезопасная map go.neonxp.ru/smap
ssehub pub/sub для SSE-обновлений oktable internal/sync/hub
std набор небольших хелперов (container: stack, smap) go.neonxp.ru/std
testenv testcontainers (Postgres, MinIO) для интеграционных тестов MarkPad internal/testenv
vt100 терминал VT100: sequences, input, styles go.neonxp.ru/vt100

Импорт: go.neonxp.ru/pkg/auth, go.neonxp.ru/pkg/bus, …

Старые пути (go.neonxp.ru/conf и т.д.) продолжают работать на замороженных версиях — новые версии развиваются здесь.

Разработка

make test   # build + vet + test по каждому модулю (изоляция: GOWORK=off)

Версионирование — тегами на каталог: git tag auth/v0.1.0 && git push origin auth/v0.1.0.