Как правильно выполнить ansible-playbook с веб-интерфейсом?

#php #ansible

Вопрос:

Я пишу сборник пьес с большим количеством var внутри :

пример : ansible-playbook testplaybook.yaml --extra-vars 'city=london username=john'

Я хотел бы иметь возможность динамически запускать свой сборник пьес с помощью формы в веб-интерфейсе (PHP), как я могу выполнить сборник пьес с помощью var из веб-интерфейса?

Спасибо

Ответ №1:

Я могу порекомендовать AWX, это веб-интерфейс и REST API, основанный на Ansible, который поддерживается и поддерживается Red hat.

Комментарии:

1. Я уже протестировал AWX, продукт слишком велик для моих нужд, я ищу, чтобы создать что-то более легкое, будет достаточно простой веб-страницы. Я просто хочу найти безопасный способ безопасного использования двоичного файла ansible-playbook

2. @PrintSernoal вы всегда можете просто вызвать ansible непосредственно из PHP-скрипта. Основная проблема заключается в том, как обеспечить его безопасность и избежать ввода команд на ваш сервер, тем более что это будет сервер с учетными данными для всех других серверов. Специально для этого случая вы можете создать файл JSON во временном каталоге со всеми переданными пользователем vars, а затем передать их в ansible ansible-playbook release.yml --extra-vars "@some_file.json" таким образом, вам никогда не придется вводить данные пользователя непосредственно в командной строке