devopscodepro
Язык
Работает полностью в браузере — данные не покидают страницу.

YAML diff

Структурное сравнение YAML- и JSON-документов — сравниваются значения, а не форматирование и порядок ключей.

сравнение после парсинга — форматирование, комментарии и порядок ключей игнорируются

Структурное сравнение двух документов

Обе стороны сначала разбираются, затем сравниваются по ключам и индексам, поэтому переставленные ключи, другие отступы, изменения кавычек и комментарии никогда не выглядят как различия. Только реальные изменения значений.

Это то, что нужно при сравнении отрендеренного вывода Helm с тем, что развёрнуто, или двух оверлеев окружений, которые текстовый diff превращает в шум.

Чем это отличается от git diff?

Текстовый diff показывает любое переформатирование. Этот показывает только то, что по-другому увидит парсер. Файл, в котором переставили ключи и переформатировали список, здесь выглядит идентичным — и ведёт себя в кластере идентично, а именно это и был вопрос.

Что означают пути в выводе?

Это адрес изменения в разобранном документе: spec.template.spec.containers[0].image указывает на образ первого контейнера. Это тот адрес, который вы правите, — обычно быстрее, чем считать строки.

Обрабатываются ли anchors и aliases?

Они раскрываются при разборе, поэтому сравнение видит развёрнутые значения. Два документа, приходящие к одинаковому результату — один через anchor, другой выписанный целиком, — сравниваются как равные, и это правильно.

Смежные инструменты: YAML / JSON / TOML, Валидатор манифестов K8s и Regex-тестер.