Форматтер YAML

Мгновенно форматируйте и валидируйте YAML-файлы — поддержка сложного вложения, якорей и псевдонимов

Поделиться:

Форматтер YAML

Зачем форматировать YAML-файлы?

YAML чрезвычайно чувствителен к отступам — один лишний пробел может вызывать ошибки разбора или незаметное повреждение данных. Такие инструменты, как Kubernetes, Docker Compose, GitHub Actions и Ansible используют конфигурационные файлы YAML, где ошибки форматирования могут блокировать целые деплои. Наш форматтер валидирует синтаксис, нормализует отступы и гарантирует, что ваш YAML всегда корректен.

📐

Нормализация отступов

Нормализует смешанные отступы до последовательного формата в 2 пробела по всему документу

Валидация синтаксиса

Обнаруживает ошибки отступов, смешанные табуляции/пробелы и структурные проблемы до продакшн-ошибок

Якоря и псевдонимы

Полная поддержка якорей YAML (&) и псевдонимов (*) для повторного использования документов

Как форматировать YAML за 3 шага

1

Вставьте YAML

Вставьте манифест Kubernetes, рабочий процесс GitHub Actions или любой конфигурационный файл YAML

2

Форматирование и валидация

Инструмент валидирует синтаксис и автоматически переформатирует с последовательными отступами

3

Скопируйте и разверните

Скопируйте отформатированный YAML в файл, CI-конвейер или инструмент деплоя

Случаи использования форматирования YAML

☸️

Манифесты Kubernetes

Форматируйте YAML-файлы Deployment, Service и ConfigMap перед применением на кластере

🔄

CI/CD-конвейеры

Валидируйте рабочие процессы GitHub Actions, GitLab CI и CircleCI, чтобы избегать ошибок конвейера

📋

Ansible Playbooks

Форматируйте и валидируйте задачи, переменные и инвентари Ansible для чистого кода инфраструктуры

🐳

Docker Compose

Убедитесь, что файлы docker-compose.yml правильно отформатированы перед запуском docker compose up

Лучшие практики YAML

✓ Используйте пробелы, никогда табуляции

YAML строго запрещает символ табуляции для отступов. Всегда настраивайте редактор на вставку пробелов при нажатии Tab в YAML-файлах.

✓ Используйте кавычки для специальных символов

Строки, содержащие : # [ ] { } или начинающиеся со специальных символов, должны быть в кавычках, чтобы YAML не интерпретировал их неправильно.

✓ Используйте якоря для сокращения дублирования

Якоря YAML (&имя) и псевдонимы (*имя) позволяют повторно использовать значения в документе, сокращая повторения в сложных конфигурациях.

✓ Проверяйте перед коммитом

Запускайте yamllint или используйте этот форматтер в хуке pre-commit для обнаружения проблем форматирования до попадания в репозиторий.

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

Почему YAML не работает с табуляциями вместо пробелов?

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

Что делают якоря (&) и псевдонимы (*) в YAML?

Якоря определяют повторно используемый блок с &имя-якоря:, а псевдонимы ссылаются на него с *имя-якоря. Это позволяет определять значения один раз и использовать многократно, поддерживая конфигурации DRY.

В чём разница между YAML и JSON?

YAML является надмножеством JSON — любой допустимый JSON также является допустимым YAML. YAML добавляет поддержку комментариев, якорей, многострочных строк и более читаемый синтаксис. JSON лучше для обмена данными между машинами; YAML больше подходит для конфигураций, редактируемых людьми.

Почему выбирать YAML вместо TOML для конфигурации?

YAML имеет более широкую поддержку инструментов (Kubernetes, Ansible, большинство CI-систем) и может лаконично представлять сложные вложенные структуры. TOML проще и менее подвержен ошибкам для базовых конфигураций. Для конфигурации DevOps YAML является стандартом.