Kubernetes

Helm Values DiffПроверьте результат переопределений

Общие значения по умолчанию и две независимые версии переопределений.

Helm Values Diff

Старые переопределения

Изменения

Все три поля обрабатываются в этом браузере без отправки содержимого.

Вывод изначально маскируется. Ключи и пути видны; ввод и предпросмотр сохраняют оригинал. YAML с масками предназначен для ревью.

Helm 3.19.0, один chart: база → каждое переопределение отдельно. Отображения объединяются, списки заменяются и сравниваются по индексу.

На поле: 200 000 символов, 20 000 узлов, глубина 60. Отчёт: 5 000 изменений / 4 млн символов. Расчёт: 5 секунд.

Введите конфигурации или запустите сравнение.

Helm Values Diff помогает проверить файлы values, когда удаление строки возвращает значение по умолчанию вместо удаления настройки. Сравните итоговые значения, а затем исходные переопределения: это позволяет отделить изменение декларации от изменения конфигурации.

Зачем использовать Helm Values Diff

Увидеть возвращённое значение

Helm Values Diff отдельно объединяет каждую версию с общей базой. Если в новой версии нет replicas, используется исходное количество из chart. Старая версия не становится дополнительным слоем для новой.

Общее дерево настроек разветвляется на две независимые версии; удаление переопределения открывает унаследованное значение.

Скрыть содержимое, сохранив изменение

Сначала сравниваются реальные значения, затем применяется маскировка. Разные пароли остаются отмечены как изменённые, даже если показанные маркеры одинаковы. Вложенные значения в новых объектах и массивах также скрываются.

Два разных значения закрыты масками, но отметка об их изменении остаётся видимой.

Выберите смысл сравнения

01

Разделите три источника

Переключатель слева хранит три независимых текста: базу chart и полное переопределение для каждой версии. Пустое поле означает пустое отображение. Если пусты все поля, ручной запуск попросит ввод. Новая версия не накладывается поверх старой.

02

Сравните декларацию и результат

По умолчанию сравниваются итоговые значения. Режим исходных переопределений показывает изменения деклараций, даже если итог одинаков. Два представления после слияния всегда показывают итоговые значения независимо от режима сравнения.

03

Сохраните актуальное представление

Автоматический расчёт ждёт 350 мс после последней правки. Отключите его для кнопки сравнения или Ctrl/Cmd+Enter. Изменение ввода или параметров сразу блокирует старый экспорт. Замена сначала показывает предпросмотр и число символов; её можно отменить один раз.

Пути, типы и полный результат

Отображения объединяются, списки заменяются

Вложенные отображения сохраняют дочерние значения базы, которых нет в переопределении. Пустое отображение их не удаляет, а пустой список заменяет исходный целиком. false, ноль и пустая строка остаются настоящими значениями.

Отсутствие отличается от null

Добавления, удаления и изменения имеют пути JSON Pointer и типы до и после. Число не равно строке с цифрами. В пути ~1 обозначает косую черту, а ~0 — тильду; пустой ключ также имеет отдельный путь.

Структура без шума форматирования

Комментарии, пробелы и порядок ключей не влияют на сравнение. Порядок списка важен: после слияния элементы сопоставляются по индексу. Вставка в начало может изменить несколько следующих позиций; поиск перемещений или совпадений по имени не выполняется.

Файлы для полного ревью

JSON включает модель, режим, флаг маскировки, все изменения и оба итоговых YAML-документа. Представление слияния выгружает только выбранную версию. Сначала видны 50 изменений, затем можно открыть следующие; экспорт всегда содержит весь результат.

Границы модели и формата

Один chart и фиксированная семантика
Используется модель Helm 3.19.0 для chart без зависимостей. Подчарты, распространение global, import-values и условия зависимостей не моделируются. Шаблоны Go, tpl и lookup не исполняются; состояние release, кластера и схема не проверяются.
Явно ограниченный YAML
Каждое поле принимает один документ YAML 1.2 core с отображением в корне и строковыми ключами. Дубликаты, сложные ключи, директивы, явные теги, якоря, алиасы и << отклоняются. Неоднозначные yes и on заключайте в кавычки. Числа должны иметь десятичную запись JSON, быть конечными, а целые — безопасными; потеря числа из-за слишком малого порядка отклоняется. Дробные числа используют binary64.
Удаление через null зависит от базы
null в переопределении удаляет соответствующий ключ базы при рекурсивном слиянии. null в новом ключе, новом отображении или внутри заменяющего списка сохраняется. Пропущенный ключ наследует исходное значение: это не универсальная очистка всех пустых значений.
Маскировка не означает анонимность
Каждый скаляр кроме null заменяется маркером с типом, включая числа и логические значения. Ключи, пути, структура и null остаются открытыми. Редакторы и предпросмотр замены сохраняют оригинал. YAML с маскировкой предназначен для ревью, а не для развёртывания.
Никаких частичных отчётов
На поле допускается 200 000 символов, 20 000 узлов, глубина 60 и миллион символов суммарной длины путей. Предел отчёта — 5 000 изменений, четыре миллиона символов и пять секунд расчёта. Превышение блокирует весь экспорт. Нет порядка нескольких -f, разбора --set, эмуляции reuse/reset-values, импорта URL и сохранения исходного оформления.

Вопросы о Helm Values Diff

Как увидеть изменения перед helm upgrade?

Проверьте здесь слой values, затем сравните отрендеренные манифесты через helm diff или свой процесс выпуска. Одинаковые значения не исключают различий из-за шаблонов, версии chart или возможностей кластера.

Что имеет приоритет над значениями по умолчанию?

Переопределения окружения имеют приоритет. Во вложенных отображениях из базы добавляются только отсутствующие дочерние ключи. Для каждой версии есть одно поле переопределений; несколько файлов сначала подготовьте в реальном порядке применения.

Почему списки не объединяются поэлементно?

Helm заменяет весь список по этому ключу, не дописывая элементы и не сопоставляя объекты по имени. Последующее сравнение по индексам лишь показывает различия результатов и не меняет правило слияния.

Как убрать ключ из значений chart по умолчанию?

Укажите null для этого ключа в переопределении. Простое отсутствие ключа вернёт исходное значение. Если ключа нет в базовом отображении, null сохранится; новое пустое значение и удалённый ключ — разные результаты.

Можно ли увидеть изменение секрета, не раскрывая его?

Да, оставьте маскировку включённой. Изменение, вычисленное по исходным данным, и тип сохраняются. Обычные значения тоже скрываются. Перед передачей отчёта проверьте имена ключей и пути: они остаются видимыми.

Хотите сообщить о случае сравнения?

Проверьте обе конфигурации

Helm Values Diff отделяет изменение декларации от его эффекта и позволяет сохранить нужное для ревью представление.