Server Inventory, продакшн-хаб для системы агентов golauncher: централизованный репозиторий для сбора телеметрии, управления релизами и трёхуровневого контроля доступа. Система использует GitHub как инфраструктурный бэкенд: GitHub Actions обрабатывает события телеметрии, Fine-Grained PAT обеспечивают уровни доступа, бинарные релизы доставляются через GitHub Releases.
- Архитектура: GitHub как инфраструктура
- Трёхуровневый контроль доступа
- Данные телеметрии
- Управление релизами
- Исходный код
- FAQ
- Зачем GitHub Issues для телеметрии вместо базы данных?
- Как работает ротация токенов?
- Какие платформы поддерживает golauncher?
- Могут ли бесплатные клиенты получить доступ к платным репо?
Архитектура: GitHub как инфраструктура
Server inventory телеметрия работает по нестандартному, но эффективному принципу: GitHub становится полным бэкендом. Агенты отправляют телеметрию как GitHub Issues с лейблом «telemetry». GitHub Actions извлекает JSON, сохраняет в telemetry/, генерирует дашборд, коммитит данные и закрывает issue, всё автоматически.
Подход исключает необходимость отдельного телеметрического сервера, базы данных или API. Сам репозиторий становится базой данных, Git-история, аудиторским следом, инфраструктура GitHub обеспечивает доступность и масштабирование.
Трёхуровневый контроль доступа
- Level 1 (Admin) — полный доступ ко всем репозиториям включая платные, для внутренних серверов и отладки
- Level 2 (Free) — доступ только к бесплатным репозиториям типа linux-network-manager
- Level 3 (Paid) — полный доступ включая платные инструменты вроде rocketchat-deploy-toolkit
Ссылки на токены используют индирекцию (ref:tokens/level-2-v1) — ротация токена требует обновления только файла токена, не каждого клиентского конфига. Повышение клиента с free до paid, одно изменение в YAML.
Данные телеметрии
Каждый golauncher-агент отправляет: hostname, ОС и архитектуру, внешний IP, использование диска, установленные приложения с Git-commit версиями, временные метки. Сейчас отслеживаются 8 активных серверов на Linux и Windows, мониторинг инфраструктурных инструментов и коммуникационных платформ.
Управление релизами
releases/version.json содержит метаданные golauncher v1.4.3 для 5 комбинаций платформа/архитектура (Linux amd64/arm64, Windows amd64, macOS amd64/arm64). Каждый бинарник с SHA256 чексуммой. Агенты проверяют этот файл и автообновляются при появлении новой версии.
Исходный код
Репозиторий доступен по запросу. Свяжитесь со мной для доступа. Исходный код агента доступен по запросу. Как внештатный CTO, я строю лёгкую инфраструктуру, которая использует существующие платформы вместо их реизобретения.
Для консультаций по серверному управлению и DevOps — 15 лет управления инфраструктурой в 38 странах.
FAQ
Зачем GitHub Issues для телеметрии вместо базы данных?
Ноль инфраструктурных затрат. GitHub даёт API, хранилище, обработку (Actions) и доступность. Git-история становится аудиторским следом. Для парка 10-50 серверов это проще и надёжнее отдельного телеметрического стека.
Как работает ротация токенов?
Создать новый токен, сохранить как новую версию файла, обновить ссылки клиентов, пометить старый как expired. Клиенты резолвят ссылки при старте, изменение распространяется автоматически.
Какие платформы поддерживает golauncher?
Linux (amd64, arm64), Windows (amd64), macOS (amd64, arm64). Бинарники кросс-компилируются с SHA256 чексуммами.
Могут ли бесплатные клиенты получить доступ к платным репо?
Нет. Fine-Grained PAT ограничивает Level 2 токены репозиториями без топика «paid». Агент также проверяет allowed_repos перед клонированием, двойная защита.
