YAML Multi-Document Splitter
Разделить YAML-файл с несколькими документами (---) на части.
Как это работает
Kubernetes манифесты любят складывать несколько объектов в один файл через разделитель из трех дефисов, deployment, service и configmap подряд в одном applyable.yaml. Удобно для kubectl apply, но неудобно, если нужно вытащить один конкретный объект отдельно для правки или ревью. Yaml split documents online разбирает такой файл на отдельные документы.
Инструмент ищет разделители из трех дефисов на отдельной строке, парсит каждый кусок текста между ними как самостоятельный YAML документ и выводит результат пронумерованным списком, где под каждым документом видно его содержимое уже в разобранном виде.
Полезно применять при разборе больших манифестов Kubernetes, конфигов Ansible playbook с несколькими play подряд, или любых других YAML файлов, где принято хранить несколько логических документов в одном физическом файле ради удобства деплоя.
Частые вопросы
Что если в файле только один документ без разделителей вообще?
Инструмент корректно обработает и такой случай, просто в результате будет один документ с номером один, разделители тремя дефисами не обязательны для одиночного YAML документа.
Сохраняется ли порядок документов таким же, как в исходном файле?
Да, документы нумеруются и выводятся строго в том порядке, в котором они встречаются в исходном тексте сверху вниз.
Что происходит с комментариями между документами при разделении?
Комментарии внутри конкретного документа сохраняются как часть его содержимого при парсинге, но сам разделитель из трех дефисов и то, что могло быть на той же строке, в результат не попадает.
Можно ли использовать этот инструмент для файлов docker compose с extends?
Docker compose обычно не использует множественные YAML документы через тройной дефис в одном файле, этот инструмент больше актуален для Kubernetes манифестов и Ansible, где такой стиль хранения распространен шире.