// Создано: 2026-04-06 // admin_embed.go — встраивает HTML страницы администратора IoT в бинарник через go:embed. // // Страница /iot-admin доступна без JWT — данные не содержит. // Все данные загружаются через /iot-admin/stats (защищён ADMIN_STATS_TOKEN). // Почему go:embed: единый деплой, нет отдельных pod-ов, нет nginx drift. package api import ( _ "embed" "net/http" ) // iotAdminHTML — бинарное содержимое страницы администратора IoT, встроенное при сборке. // //go:embed ui/iot-admin.html var iotAdminHTML []byte // ServeIoTAdmin обрабатывает GET /iot-admin — отдаёт HTML страницу администратора. // Auth не нужен для HTML — сама страница ничего не содержит, только UI оболочка. func ServeIoTAdmin(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/html; charset=utf-8") w.Header().Set("Cache-Control", "no-cache, must-revalidate") w.WriteHeader(http.StatusOK) _, _ = w.Write(iotAdminHTML) }