Files
sless/migrations/001_initial.sql
T
“Naeel” 43e7d0ea48 feat: REST API (gorilla/mux + slog) + trigger controller + main.go wiring
- controllers/trigger_controller.go: полная реализация, HTTP->Ingress+Service, Cron->CronJob
- internal/config: добавлены IngressHost, APIToken
- internal/api/router.go: gorilla/mux роутер /v1/namespaces/{ns}/...
- internal/api/handler/: functions, triggers, invocations, base handler с slog
- internal/api/middleware/: auth (Bearer token) + logging (slog)
- main.go: запуск operator + HTTP сервера параллельно
- go.sum: добавлен gorilla/mux v1.8.1
2026-03-07 08:46:10 +04:00

27 lines
1.4 KiB
SQL

-- Миграция: 001 — начальная схема
-- Создано: 2026-03-07
-- Таблица invocations хранит логи вызовов функций.
-- Состояние самих функций хранится в k8s CRD (etcd), не здесь.
CREATE TABLE IF NOT EXISTS invocations (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
-- function_name и namespace — ссылка на CRD Function в k8s
function_name VARCHAR(255) NOT NULL,
namespace VARCHAR(255) NOT NULL,
-- статус выполнения: success, error, timeout
status VARCHAR(50) NOT NULL,
-- время выполнения в миллисекундах
duration_ms INTEGER NOT NULL DEFAULT 0,
-- HTTP статус ответа функции (для HTTP триггеров)
http_status INTEGER,
-- вывод функции (stdout/stderr), ограничен 64KB
logs TEXT,
-- тип триггера: http, cron
trigger_type VARCHAR(50) NOT NULL DEFAULT 'http',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- Индексы для быстрой выборки логов по функции
CREATE INDEX IF NOT EXISTS idx_invocations_function ON invocations (function_name, namespace);
CREATE INDEX IF NOT EXISTS idx_invocations_created_at ON invocations (created_at DESC);