Nelm CLI

Альтернатива Helm для деплоя чартов в Kubernetes с планом изменений, трекингом ресурсов и шифрованными секретами

  • 1 114 ★ репозитория
  • Последний коммит
CLI

Широкий доступ

Почему такой уровень

  • Применяет и удаляет ресурсы в Kubernetes
  • Работает с ключами шифрования секретов
Все причины и проверки

werf/nelm

Установка

Работает в

Ручная установка

Текст для агента

Установи Nelm по инструкции на странице GitHub Releases репозитория werf/nelm. Перед каждым nelm release install запускай nelm release plan install и показывай мне diff.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Применяет и удаляет ресурсы в Kubernetes
  • Работает с ключами шифрования секретов

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Nelm берет обычный Helm-чарт и выкатывает его в кластер своей командой nelm release install, а релиз записывает в том же формате, что и Helm. Перед выкаткой nelm release plan install показывает diff между текущим и будущим состоянием через пробный Server-Side Apply, а флаг --save-plan сохраняет план в файл, который потом применяется через --use-plan. Во время деплоя утилита строит граф операций, выкатывает независимые ресурсы параллельно, ждет готовности и раз в несколько секунд печатает таблицу статусов. Порядок задают аннотации werf.io/weight и werf.io/deploy-dependency, а политику удаления и пересоздания ресурсов задают werf.io/delete-policy и werf.io/resource-policy. Команды chart secret шифруют values-файлы и произвольные файлы из папки secret ключом из переменной NELM_SECRET_KEY, расшифровка идет в памяти при рендере.

Для кого. DevOps-инженерам, которые деплоят Helm-чарты и хотят предсказуемых релизов.

Подходит, если

  • В CI стоит helm upgrade --install --atomic --wait, а при падении релиза не видно, какой ресурс не стал готовым и почему
  • Перед выкаткой в прод нужно показать ревьюеру точный diff и применить тот же проверенный план без пересчета
  • Чарт ставит ресурсы в строгом порядке, например оператор, затем его CRD, затем кастомный ресурс, и хуки Helm стали неудобными
  • Пароли лежат в репозитории открытым текстом, и нужно хранить их зашифрованными рядом с чартом
  • Вы обновляете CRD из папки crds/ при каждом апгрейде, а Helm трогает их только при первой установке

Не подходит, если

  • Ваш процесс держится на плагинах Helm: их поддержку авторы не планируют, часть функций (план, секреты) встроена в Nelm, остальное придется заменять
  • Кластер на Kubernetes 1.13 и старше: без Server-Side Apply Nelm не работает, на 1.14 и 1.15 его нужно включить вручную
  • Вы хотите, чтобы новый релиз брал значения из предыдущего, как это делает Helm: Nelm так не делает, берутся только значения из явных --values и --set
  • Вам нужен конвейер со сборкой образов и деплоем в одном инструменте: посмотрите werf, для которого Nelm служит движком деплоя

Пример запроса к агенту

В файле .gitlab-ci.yml замени helm upgrade --install --atomic --wait для релиза billing в пространстве имен prod на nelm release install с --auto-rollback и добавь перед ним job с nelm release plan install --save-plan

Ограничения

Доступ: расширенный. Утилита обращается к кластеру через ваш kubeconfig и может создавать, менять и удалять ресурсы в выбранных пространствах имен, так что права определяются учетной записью кластера. Ключ шифрования секретов передается через NELM_SECRET_KEY и нужен любой команде, которая шифрует или расшифровывает, включая nelm chart render. Нужен включенный Server-Side Apply (по умолчанию с Kubernetes 1.16). Плагины Helm не поддерживаются, CLI, флаги и переменные окружения отличаются от Helm. Часть функций включается переменными вида NELM_FEAT_*. Установка: бинарные файлы на странице релизов GitHub, платных частей нет.

Как отключить. Верните команды helm в CI: релизы совместимы, миграция обратно не нужна.

Частые вопросы

Можно ли деплоить один релиз и Helm, и Nelm?

Да, Nelm хранит информацию в формате Helm Releases, и по README их можно использовать попеременно. Миграция в обе стороны не нужна.

Как заменить helm template?

По таблице соответствий в README это nelm chart render ./chart. Для helm dependency build команда nelm chart dependency download, для helm uninstall nelm release uninstall.

Как установить Nelm?

README отсылает к странице релизов на GitHub: скачайте бинарный файл под вашу систему. Отдельной команды установки через менеджер пакетов в README нет.

Как проверить, что Nelm видит кластер и чарт?

Выполните nelm chart lint и nelm chart render для чарта, затем nelm release plan install с теми же -n и -r. Если план показывает ожидаемые изменения, связка работает; при пустом чарте diff будет пустым.

Чем Nelm отличается от Helm при ошибке деплоя?

Он отслеживает готовность каждого ресурса, печатает логи подов и таблицу статусов, поэтому ошибка привязана к конкретному ресурсу. README называет это более продвинутым трекингом, чем в Helm.

Что делать, если команда ругается на Server-Side Apply?

Проверьте версию Kubernetes: с 1.16 функция включена, на 1.14 и 1.15 ее нужно включить на стороне кластера, на 1.13 и старше Nelm использовать нельзя.

Обсуждение

Вопросов и отзывов пока нет.

CLI для полного цикла CI/CD в Kubernetes: сборка образов, деплой через Helm и очистка container registry

CLIШирокий доступ4,7 тыс.Звезды репозитория

Kubernetes MCP

MCP Server Kubernetes

Выбор редакции

MCP-сервер для управления кластером Kubernetes через kubectl и Helm, с режимом без разрушающих операций

MCP-серверШирокий доступ1,6 тыс.Звезды репозитория

Скилл KubeShark: агент сначала ищет режим отказа, потом пишет манифесты, Helm и Kustomize по официальным практикам и возвращает план проверки и отката

СкиллМинимальный доступ468Звезды репозитория
Официальный

Открытый интерфейс Kubernetes с встроенным MCP-сервером: агент осматривает кластер, разбирает поломки и выполняет операции с учетом RBAC

MCP-серверШирокий доступ3,9 тыс.Звезды репозитория
Выбор редакции

MCP-сервер на Go для Kubernetes и OpenShift: ресурсы, поды, логи, Helm и Tekton напрямую через API кластера

MCP-серверШирокий доступ2,2 тыс.Звезды репозитория

Deckhouse CLI (d8)

D8 - Deckhouse CLI

Консольный клиент d8 для Deckhouse Kubernetes Platform: статус кластера, модули, бэкапы, зеркалирование и диагностика

CLIШирокий доступ21Звезды репозитория

Коротко о README

Nelm позиционируется как альтернатива Helm 4 и служит движком деплоя werf. Он переписывает подсистему деплоя Helm на основе графа операций и добавляет аннотации для порядка и жизненного цикла ресурсов. Есть двухэтапный деплой через сохраненный план, трекинг состояний, вывод логов и управление зашифрованными секретами. README содержит quickstart, таблицу соответствия команд Helm и полный справочник аннотаций.

Бейдж для README

Сообщить о проблеме

Foxx AINelm
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.