No description
- Go 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
ci / test (push) Successful in 1m6s
|
||
| .forgejo/workflows | ||
| auth | ||
| bus | ||
| conf | ||
| eventbus | ||
| fqueue | ||
| fsm | ||
| lex | ||
| objstore | ||
| observability | ||
| repo | ||
| smap | ||
| ssehub | ||
| std | ||
| testenv | ||
| vt100 | ||
| .gitignore | ||
| .golangci.yml | ||
| go.mod | ||
| README.md | ||
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.