Валидатор и линтер YAML

Вставьте файл Docker Compose, манифест Kubernetes, workflow GitHub Actions или любой YAML, чтобы найти ошибку, поймать типичные ловушки и получить аккуратно отформатированную версию.

Обновлено
Открыть файл

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Конвертер YAML в JSON онлайн бесплатноЯкоря, merge-ключи, файлы с несколькими документами.YAML в JSON →

Как пользоваться: Валидатор YAML

  1. Вставьте YAML или откройте файл .yml / .yaml.
  2. Ошибки показывают строку, столбец и указатель на точное место.
  3. Просмотрите предупреждения линтера о табах, пробелах в конце строк и ловушках YAML 1.1.
  4. Скопируйте отформатированный YAML или его эквивалент в JSON.

Почему YAML так легко ломается

YAML использует отступы для структуры, поэтому один лишний или пропущенный пробел меняет смысл или делает файл невалидным. Самые частые ошибки:

ОшибкаПричина
bad indentation of a mapping entryКлюч имеет другой отступ, чем его соседи на том же уровне
found a tab characterYAML запрещает табуляцию для отступов — используйте пробелы
duplicated mapping keyОдин и тот же ключ встречается дважды в одном объекте; большинство парсеров молча сохраняют последнее значение
incomplete explicit mapping pair / unexpected endНезакрытая кавычка, скобка или двоеточие внутри строки без кавычек
end of the stream or a document separator is expectedСодержимое с неверным отступом после списка или блока

Ловушки YAML 1.1 и 1.2

Многие инструменты (PyYAML, более старые библиотеки для Ruby и Go) по-прежнему следуют YAML 1.1, где yes, no, on, off являются булевыми значениями, а 012 — восьмеричным числом. Это известная «проблема Норвегии»: код страны NO превращается в false. YAML 1.2 воспринимает такие значения как строки. Линтер отмечает подобные значения, чтобы вы могли взять их в кавычки и получить одинаковый результат везде.

Многодокументные файлы

Манифесты Kubernetes часто объединяют несколько ресурсов, разделённых ---. Каждый документ проверяется и выводится в JSON-результате в виде массива.

Проверка смысла, а не только синтаксиса

Корректный YAML может описывать неверную конфигурацию. Для проверки структуры по схеме преобразуйте файл в JSON и используйте валидатор JSON Schema; для спецификаций API подойдёт валидатор OpenAPI. Создавать новые файлы помогут генератор Docker Compose и генератор GitHub Actions, а конвертировать форматы можно с помощью YAML в JSON.

Также ищут как: yamllint онлайн, валидатор yaml для kubernetes.

Инструменты, которые хорошо сочетаются с Валидатор YAML

  • JSON в YAML — Вставьте JSON и получите аккуратный YAML для манифестов Kubernetes, Docker Compose, GitHub Actions или любого конфигурационного файла.
  • Генератор YAML для Kubernetes — Укажите имя приложения, образ и порт, и вы получите готовый к продакшену YAML для Kubernetes: Deployment с пробами, лимитами ресурсов и защищённым security context, а также выбранные вами Service, Ingress с TLS, ConfigMap, Secret и HorizontalPodAutoscaler — всё в одном файле, готовом для kubectl apply.
  • Генератор systemd service — Запускайте приложение как полноценный сервис Linux, который стартует при загрузке и перезапускается после сбоя.
  • GitLab CI генератор — Выберите стек и получите рабочий .gitlab-ci.yml: установка с кешированием, джобы линтинга и тестов, сборка с артефактами, Docker-образ, который отправляется в реестр GitLab, или деплой в GitLab Pages.

Часто задаваемые вопросы

Почему мой YAML пишет «bad indentation»?
Ключ или элемент списка имеет другое количество пробелов в отступе, чем его соседи. Выровняйте его с остальными элементами того же уровня; указатель покажет столбец.
Можно ли использовать табуляцию в YAML?
Нет. Спецификация YAML запрещает табы для отступов. Замените их пробелами (обычно используют 2 пробела).
Проверяются ли правила Kubernetes или Docker Compose?
Инструмент проверяет синтаксис YAML и типичные ошибки, но не смысл каждого поля. Для структурной проверки используйте JSON-результат инструмента со схемой JSON Schema.
Загружается ли мой YAML на сервер?
Нет. Всё работает в вашем браузере.
Можно ли установить Валидатор YAML как веб-приложение и пользоваться им офлайн?
Да. Валидатор YAML — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localYAML в JSONВставьте YAML — файл Compose, манифест Kubernetes или конфиг CI — и получите отформатированный JSON.…localJSON в YAMLВставьте JSON и получите аккуратный YAML для манифестов Kubernetes, Docker Compose, GitHub Actions или…localГенератор Docker ComposeОтметьте нужные сервисы — приложение, базу данных, кеш, панель администратора, перехватчик почты — и…localГенератор GitHub ActionsВыберите стек, триггеры и шаги, и вы получите закомментированный файл .github/workflows/ci.yml —…localВалидатор OpenAPI / SwaggerВставьте спецификацию API, чтобы проверить её по официальной схеме OpenAPI, найти битые ссылки и…localГенератор YAML для KubernetesУкажите имя приложения, образ и порт, и вы получите готовый к продакшену YAML для Kubernetes: Deployment с…