YAML Batch Validator
Провалидировать сразу несколько YAML-документов, разделённых ---.
Как это работает
Applyable.yaml с десятком Kubernetes-манифестов через тройной дефис, и хочется убедиться, что каждый документ синтаксически чист, прежде чем гонять kubectl apply и получать невнятную ошибку где-то в середине списка. Yaml batch validator online разбирает файл по разделителям и проверяет каждый документ отдельно, независимо от остальных.
В отличие от простого валидатора одного YAML, здесь ошибка в третьем документе не мешает увидеть, что первые два и оставшиеся семь абсолютно в порядке — результат приходит по каждому документу отдельно, с номером и понятным сообщением, а не одним общим вердиктом на весь файл.
Полезно применять перед первым применением большого манифеста к продакшн кластеру, при код ревью изменений в файле с несколькими Kubernetes-объектами, или просто чтобы найти тот единственный документ с опечаткой в отступах среди дюжины остальных, не листая файл построчно в поисках проблемы глазами.
Частые вопросы
Как инструмент определяет границы между документами?
По стандартному разделителю YAML, строке из трёх дефисов на отдельной строке, ровно так же, как это делает сам kubectl при разборе многодокументных манифестов.
Разворачиваются ли якоря и алиасы при batch-проверке?
Да, каждый документ парсится полноценным YAML-парсером, который корректно разворачивает якоря и ссылки внутри своих границ, но не между разными документами файла.
Что если файл состоит из одного документа без единого разделителя?
Инструмент корректно обработает и такой случай, просто в результате будет один документ под номером один, разделители тремя дефисами не обязательны для одиночного файла.
Можно ли проверить сразу все манифесты большого Helm-релиза?
Если вывод helm template собран в один текст с разделителями между объектами, да, это ровно тот сценарий, для которого batch-проверка особенно удобна, не нужно бегать по отдельным файлам шаблонов.