feat(server): скелет Go-сервера с healthz, readyz и api/v1/meta
- internal/config: конфигурация из env с валидацией и дефолтами (§5.1, §9.1) - internal/httpx: middleware (request id, slog-логи, recover, security-заголовки), единый формат ошибок §8.5 и лимит тела запроса - internal/database: SQLite WAL + busy_timeout + foreign_keys, один writer и пул чтения, goose-миграции embedded, PRAGMA optimize по расписанию - internal/meta: полезная нагрузка /api/v1/meta (версия, фичи, лимиты) - internal/server: маршруты, SPA-раздача собранного клиента, OpenAPI 3.1 - cmd/glchat: точка входа с graceful shutdown и JSON-логами - тесты: конфиг, миграции и идемпотентность, HTTP-эндпоинты, статика, 404/405
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
-- +goose Up
|
||||
-- Baseline migration: instance-level key/value settings (AGENT.md 6.1, 6.5).
|
||||
CREATE TABLE instance_settings (
|
||||
key TEXT PRIMARY KEY,
|
||||
value TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))
|
||||
);
|
||||
|
||||
INSERT INTO instance_settings (key, value) VALUES
|
||||
('schema_baseline', '1'),
|
||||
('registration_enabled', 'true'),
|
||||
('anti_bot_enabled', 'false'),
|
||||
('allow_guild_creation', 'true');
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE instance_settings;
|
||||
Reference in New Issue
Block a user