Selenite: атомарный сервер для тех, кому не нужен KubernetesВ экосистеме ALT Atomic появился ещё один проект —
Selenite. Это специализированная иммутабельная серверная ОС для запуска приложений в виде
Compose-стеков. Здесь нет привычной интерактивной сессии по SSH: каждое подключение выполняет одну команду из ограниченного набора, а состояние машины описывается декларативно.
Его можно сравнить с дистрибутивом «Альт Оркестрация», который за счёт Kubernetes управляет контейнерам. Но в свою очередь Selenite делает это проще и через Podman Compose.
❓ Зачем нужен Selenite? Классический дистрибутив плохо подходит на роль хоста для контейнеров: система несёт пакеты, которые контейнерному хосту не нужны, конфигурация размазана по десяткам файлов, а поддерживать её приходится вручную или через Ansible. Состояние серверов со временем расползается: где-то забыли обновить пакет, где-то осталась чья-то правка. В итоге нельзя с уверенностью сказать, какие версии пакетов реально стоят на хосте и какие уязвимости там ещё не закрыты.
Узкоспециализированная серверная ОС решает одну чётко поставленную задачу: убирается всё лишнее, а управление сводится к узкому API. Под Kubernetes такие платформы и дистрибутивы существуют давно и хорошо себя зарекомендовали. Но Kubernetes нужен не всем — это дорого и по инфраструктуре, и по обслуживанию. Selenite приносит то же удобство, но оставляет привычные compose-стеки вместо оркестратора.
🛡 Безопасность как один из ключевых аспектовЕдинственная точка входа в систему — SSH, но без привычного доступа к shell: каждое подключение выполняет одну команду из ограниченного набора. Интерактивной сессии нет, поэтому даже скомпрометированный ключ не даст атакующему полного доступа к системе — только то, что разрешено ролью его владельца. Аутентификация исключительно по ключам, а встроенный аналог fail2ban блокирует адреса, с которых пытаются перебирать ключи. Права разграничиваются через RBAC: CI-боту можно выдать только деплой стеков, а коллеге — только чтение логов.
Контейнеры запускаются rootless через Podman — даже компрометация приложения не даёт root на хосте. А сами образы ОС поставляются с SBOM-аттестацией: состав системы можно просканировать на уязвимости, например, через trivy.
⚙️ Вся конфигурация — один файлСостояние машины — пользователи, роли, сеть, параметры ядра, мониторинг — описывается единым YAML:
access:
users:
- name: alice
roles:
- root
keys:
- "ssh-ed25519 AAAAC3... alice@laptop"
sysctl:
params:
net.ipv4.ip_unprivileged_port_start: 80
Применяется одной командой:
ssh server machine config apply < config.yml. Файл можно хранить в git — конфигурация сервера становится версионируемой и воспроизводимой. Здесь же включается интеграция с
NetBird и отправка метрик и логов в Prometheus и Loki.
👀 Кому может подойти Selenite?Всем, кто разворачивает контейнеры на одном или нескольких серверах и хочет удобства не только в управлении стеками, но и в управлении всей ОС. Хоумлаберам-энтузиастам, небольшим командам со стабильной нагрузкой — словом, тем, кто устал сопровождать классические серверы, но не готов ради этого поднимать Kubernetes.
Проект ещё в начальной стадии разработки — будем рады отзывам и предложениям.
🔗
Сайт проекта🔗
Репозиторий проекта😆
ALT Atomic Chat💬
ALT Atomic Chat💬
ALT Atomic |
ALT Atomic Chat#ALTAtomic #Разработка #Selenite