v0.1.59: IoT telemetry pipeline — Postgres storage + REST API + UI table

This commit is contained in:
Naeel
2026-04-05 08:46:17 +03:00
parent d51e33d876
commit 2bdd753f4e
11 changed files with 630 additions and 21 deletions
+14 -1
View File
@@ -1,4 +1,4 @@
// Изменено: 2026-03-20 (function-service-split: добавлена регистрация ServiceReconciler)
// Изменено: 2026-04-05 (добавлена инициализация IoT Postgres для телеметрии)
// main.go — точка входа. Запускает operator manager и REST API сервер параллельно.
// Operator manager управляет Function/Trigger CRD через reconcile loop.
// REST API (gorilla/mux) принимает запросы от Terraform provider.
@@ -32,6 +32,7 @@ import (
"gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless/internal/builder"
"gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless/internal/config"
"gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless/internal/harbor"
"gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless/internal/storage/iotpg"
"gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless/internal/storage/postgres"
"gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless/internal/storage/s3"
iotv1alpha1 "gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless/iot/api/v1alpha1"
@@ -213,12 +214,24 @@ func main() {
os.Exit(1)
}
// IoT Postgres — подключение к per-tenant storage для телеметрии
// Опционально: если IOT_PG_DSN не задан — телеметрия недоступна (503), остальное работает
iotPGStore, err := iotpg.NewFromEnv(log)
if err != nil {
log.Error("connect IoT Postgres", "err", err)
os.Exit(1)
}
if iotPGStore != nil {
defer iotPGStore.Close()
}
// REST API сервер — запускается параллельно с operator manager
apiHandler := slessapi.NewRouter(&handler.Handler{
K8s: mgr.GetClient(),
Scheme: mgr.GetScheme(),
S3: s3Client,
PG: pg,
IoTPG: iotPGStore,
Log: log,
}, log)