Files
sless/doc/progress.md
T
“Naeel” 33ee17729f docs: обновить progress.md по фактическому состоянию
- отражён реальный статус всех компонентов кода
- отражено состояние кластера (CRD, RBAC, postgres)
- добавлен список что ещё не сделано
- добавлены deployments/k8s/rbac.yaml, postgres.yaml
2026-03-07 08:57:54 +04:00

3.5 KiB

Прогресс разработки

Последнее обновление: 2026-03-07

Статусы: готово | 🔄 в процессе | не начато


v1 — Базовый сервис

Код

# Компонент Статус Заметки
1 Структура проекта, operator-sdk init module: gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless
2 CRD types: Function, Trigger api/v1alpha1/, zz_generated.deepcopy.go
3 internal/config config.go, Load() из env vars, добавлены IngressHost + APIToken
4 Миграции PostgreSQL migrations/001_initial.sql — таблица invocations
5 internal/storage/postgres store.go: SaveInvocation, ListInvocations, RunMigrations
6 internal/storage/s3 client.go: Upload, Download, Delete, EnsureBucket (Ceph S3)
7 internal/builder builder.go: kaniko Jobs для сборки образов функций
8 controllers/function_controller.go Pending→Building(kaniko)→Ready/Failed, Deployment, finalizer
9 controllers/trigger_controller.go HTTP→Service+Ingress, Cron→CronJob, finalizer
10 internal/api/router.go gorilla/mux, /v1/namespaces/{ns}/...
11 internal/api/handler/ functions.go, triggers.go, invocations.go, handler.go (slog)
12 internal/api/middleware/ auth.go (Bearer token), logging.go (slog)
13 main.go operator manager + HTTP сервер параллельно, wire всех зависимостей

Кластер (namespace: sless)

# Ресурс Статус Заметки
1 namespace sless создан
2 CRD functions.sless.kube5s.ru установлен из config/crd/bases/
3 CRD triggers.sless.kube5s.ru установлен из config/crd/bases/
4 ServiceAccount sless-operator deployments/k8s/rbac.yaml
5 ClusterRole + ClusterRoleBinding deployments/k8s/rbac.yaml
6 PostgreSQL Deployment + Service deployments/k8s/postgres.yaml, Running
7 Secret postgres-secret в namespace sless

Что ещё не сделано

# Компонент Статус Заметки
1 Запуск оператора локально source hack/local.env && go run main.go
2 Проверка подключения к Ceph S3 из кластера endpoint: s3.msk-1.ngcloud.ru
3 Endpoint загрузки кода функции (upload zip) POST /v1/…/upload
4 deployments/k8s/operator.yaml Deployment оператора в кластере
5 hack/test.sh — curl smoke-тесты
6 Terraform provider — ресурс serverless_function отдельная репа

v2 — Расширения

# Компонент Статус Заметки
1 RabbitMQ event triggers
2 Облачный auth (nubes.ru token validation) v1 — статический токен
3 Метрики → Victoria Metrics
4 Managed PostgreSQL от провайдера сейчас postgres в k8s
5 Pre-warm для cron триггеров TriggerSpec.PreWarmSeconds — поле есть, логика не реализована