Files
sless/doc/architecture/project-structure.md
T
“Naeel” b29b6c3d10 docs: initial project documentation
- architecture overview and stack
- project structure and development order
- API design (endpoints, models, runtimes)
- infrastructure overview (k8s cluster, S3, registry)
- decisions log with rationale
- progress tracker v1/v2
2026-03-06 09:51:01 +04:00

2.2 KiB

Структура проекта

Репозиторий

gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless

Директории

sless/
├── cmd/
│   └── api/
│       └── main.go          # точка входа API сервера
├── internal/
│   ├── api/
│   │   ├── handler/         # HTTP хендлеры (functions, versions, triggers)
│   │   ├── middleware/      # auth, logging, rate limit
│   │   └── router.go        # регистрация маршрутов
│   ├── model/               # доменные модели: Function, Version, Trigger, Invocation
│   ├── storage/
│   │   ├── postgres/        # CRUD функций, версий, логов вызовов
│   │   └── s3/              # загрузка/скачивание zip архивов кода
│   ├── builder/             # сборка Docker образа из кода пользователя
│   ├── runner/              # запуск функций в k8s (Jobs / Deployments)
│   └── config/              # конфиг из env переменных
├── migrations/              # SQL миграции (numbered: 001_, 002_, ...)
├── deployments/
│   └── k8s/                 # манифесты: Deployment, Service, Ingress, RBAC
├── api/
│   └── openapi.yaml         # OpenAPI 3.0 спецификация
├── doc/                     # документация проекта (эта папка)
└── docker-compose.yml       # локальная разработка: postgres, redis, minio

Go module

module gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless

Порядок разработки

  1. internal/config + internal/model — базовые структуры данных
  2. migrations/ + internal/storage/postgres — схема БД и CRUD
  3. internal/api — HTTP хендлеры, роутер, middleware
  4. internal/storage/s3 — загрузка кода функций
  5. internal/builder — сборка Docker образов
  6. internal/runner — запуск функций в k8s
  7. deployments/k8s — манифесты для деплоя