- 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
2.2 KiB
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
Порядок разработки
internal/config+internal/model— базовые структуры данныхmigrations/+internal/storage/postgres— схема БД и CRUDinternal/api— HTTP хендлеры, роутер, middlewareinternal/storage/s3— загрузка кода функцийinternal/builder— сборка Docker образовinternal/runner— запуск функций в k8sdeployments/k8s— манифесты для деплоя