yamlfmt
— это расширяемый инструмент или библиотека командной строки для форматирования файлов yaml.
Этот инструмент еще официально не поддерживается Google. В настоящее время его поддерживает исключительно @braydonk, и, если что-то не изменится, в основном в свободное время.
Я собираюсь использовать эти ссылки на обсуждения GitHub как своего рода блог, пока не смогу настроить что-то более подходящее:
Чтобы загрузить команду yamlfmt
, вы можете скачать нужный бинарный файл из релизов или установить модуль напрямую:
go install github.com/google/yamlfmt/cmd/yamlfmt@latest
В настоящее время для этого требуется Go версии 1.18 или выше.
ПРИМЕЧАНИЕ. Рекомендуемая настройка, если вы устанавливаете Go впервые, будет описана в этом сообщении блога DigitalOcean.
Вы также можете загрузить нужный двоичный файл из выпусков. Бинарный файл самодостаточен и не имеет зависимостей, его можно просто поместить куда-нибудь в PATH и запустить с помощью команды yamlfmt
. Подробнее о проверке подлинности выпущенных артефактов читайте здесь.
Вы также можете установить команду как перехватчик перед фиксацией. Инструкции см. в документации по хуку предварительной фиксации.
Подробную информацию и доступные флаги см. в разделе «Использование команд».
Чтобы запустить инструмент со всеми настройками по умолчанию, запустите команду с аргументом пути:
yamlfmt x.yaml y.yaml < ... >
Вы можете указать столько путей, сколько захотите. Вы также можете указать каталог, в котором будет выполняться рекурсивный поиск любых файлов с расширением .yaml
или .yml
.
yamlfmt .
Вы также можете использовать альтернативный режим, который будет искать пути с помощью двойных звездочек, указав флаг -dstar
.
yamlfmt -dstar ** / * .{yaml,yml}
Дополнительную информацию об этом формате см. в пакете Doublestar.
Команду yamlfmt
можно настроить с помощью файла yaml с именем .yamlfmt
. Этот файл может находиться в вашем рабочем каталоге, по пути, указанному с помощью флага CLI, или в стандартном глобальном пути конфигурации в вашей системе (подробности см. в документации). Подробную документацию по настройке см. в разделе Config.
ПРИМЕЧАНИЕ. Поддержка проверки с помощью cosign присутствует, начиная с версии 0.14.0.
Если вы получаете двоичный файл yamlfmt
непосредственно из релиза, вы можете проверить его подлинность. Контрольные суммы применяются ко всем выпущенным артефактам, а полученный файл контрольных сумм подписывается с помощью cosign.
Действия для проверки (замените ABC
в командах, перечисленных ниже, на нужную вам версию):
Загрузите следующие файлы из релиза:
curl -sfLO https://github.com/google/yamlfmt/releases/download/vA.B.C/checksums.txt
curl -sfLO https://github.com/google/yamlfmt/releases/download/vA.B.C/checksums.txt.pem
curl -sfLO https://github.com/google/yamlfmt/releases/download/vA.B.C/checksums.txt.sig
Проверьте подпись:
cosign verify-blob checksums.txt
--certificate checksums.txt.pem
--signature checksums.txt.sig
--certificate-identity-regexp ' https://github.com/google/yamlfmt/.github/workflows/.+ '
--certificate-oidc-issuer " https://token.actions.githubusercontent.com "
Загрузите нужный сжатый архив и проверьте его контрольную сумму:
curl -sfLO https://github.com/google/yamlfmt/releases/download/vA.B.C/yamlfmt_A.B.C_Linux_x86_64.tar.gz
sha256sum --ignore-missing -c checksums.txt
Если проверка контрольной суммы прошла, распакуйте архив:
tar -xzf yamlfmt_A.B.C_Linux_x86_64.tar.gz
./yamlfmt