Pull to refresh

Comments 22

Неуместно пафосное начало\конец (I.M.H.O.).

Возможно, за это первые два минуса.

Да я знаю что площадка хабр цениться своими ценителями и оценщиками.

Ведь главное не содержимое статьи , а то что человек написал во вступление.

Сарказм?

За необоснованное употребление мягкого знака (-ться\тся) тоже могут минусануть. И за пробел перед запятой.

Ну странно имхо это все.

А так ну оценка не главное, главное чтобы люди кто и до этого пользовался проектом поняли его суть

Ничего странного, это Хабр.

По сути. Ansible обязательно? Для небольшого количества машин (домашняя локальная сеть) хватит и одного bash?

Мне интересно самому написать нужные сценарии, пусть даже это будет "изобретением велосипеда".

Ansible использовал чтобы админы не ходили ножками на 100500 компов.

А так все мои плейбуки можно переписать под баш и использовать чисто их.

То есть просто кладем баш на тачку заходим по ссш и запускаем и все

+.

Уточнил на всякий.

Первый проект помогатор, был полностью на bash.

Исходники у меня в гите также есть

  - name: Примонтировать файл
    command: mount "/opt/{{ path_to_iso | basename }}" /media/cdrom
  - name: Скопировать пакеты 
    shell: cp -a /media/cdrom/* /srv/repo/{{ name_dir_repo }}

Серьезно? :)

?

То, что я не использовать модуль ?

      - name: создание ссылки на папку
        command: ln -s /srv/repo /var/www/html/
        ignore_errors: yes
      - name: Проверить наличие строки в файле /etc/apache2/sites-enabled/000-default.conf
        command: grep -q "<Directory /var/www/html/repo>" /etc/apache2/sites-enabled/000-default.conf
        register: grep_result
        changed_when: false
        ignore_errors: true 
      - name: Дописать в /etc/apache2/sites-enabled/000-default.conf
        command: sed -i '/DocumentRoot \/var\/www\/html/a \ \ \ \ <Directory \/var\/www\/html\/repo>\n \ \ \ \ \ \ Options Indexes MultiViews FollowSymLinks\n \ \ \ \ \ \ AllowOverride None\n \ \ \ \ \ \ Order Deny,Allow\n \ \ \ \ \ \ Require all granted\n \ \ \ \ <\/Directory>' /etc/apache2/sites-enabled/000-default.conf
        when: grep_result.rc != 0    
      - name: Измнение AstraMode on
        command: sed -i 's/# AstraMode on/AstraMode off/g'  /etc/apache2/apache2.conf

Вы решили поставить рекорд по количеству антипаттернов в статье с примерами кода Ansible?

?

То что я не кладу готовый кофеин в правлю его на удаленной тачке ?

  1. Правка конфига вместо темплейта

  2. Башсибл на пустом месте вместо стандартных модулей

  3. ignore_errors без хендлинга исключений

Да согласен, что все можно было использовать.

Но тут и простая работа написана 2 года назад.

Я раньше не топил за красоту кода.

Щас я уже пишу нормальные роли:) просто нет времени переписать весь код. Об этом еще в 1 статье говорил. И про fqcn и так далее.

В планах конечно и переписать на питон.

И оформить в роли может быть некоторые таски.

Ну и добавить хендлеры, темплейты для конфигов.

Просто раньше писал, чтобы работало , так как хотел много функционала сразу реализовать.

Все замечания учитываю и поддерживаю , что best practices никто не отменял

Почитайте про разницу между императивным и декларативным подходами. Bash, типичный представитель первого. Ansible, второго.

спасибо я знаю в чем разница.

Проекту более 2-х лет. Использования bash не более чем мое удобство, и не желания плодить множество файлов с шаблонами.

Данный код не виден конечному пользователю, а красота для меня стоит на втором месте, после функционала полезного конечному пользователю.

Видимо, не до конца понимаете разницу, сравнивая теплое с мягким.
Если бы можно было бы сетапить сервера с помощью bash, не появились бы инструменты декларативного описания инфраструктуры.
Должен быть не просто чистый Ansible, а Ansible + тесты на Molecule. Тогда только появляется уверенность в том, что по исполнении произойдет именно то, чего ожидает разработчик.

Так я разработчик AstraWizard, я пишу то, что хочу.

Я делаю тесты и показываю их не видео.

Я не пишу что-то просто, чтобы делать тесты на молекуле.

Это не обычные роли или коллекции, которые легко проверить, учитывая всю мою обертку на баш и гуи.

Я не заявлял , что я пишу что-то на ansible , я сказал я его использую под капотом, чтобы удаленно выполнять то, что моя первая версия софта делала локально через баш.

Самое сомнительное в этом то, как передаются пароли на удаленную машину.
Например, ввод машины в виндовый домен предполагает ввод кредов, которые потом просто летят открытой строкой в вызов ансибла, откуда передаются на удаленную машину, где также открытой строкой попадают в вызов команды...

И вроде бы мы применяем ансибл, который со всем этим умеет достаточно безопасно обращаться, но ничего этого не применено.

Согласен, есть что доработать.
Но пароль не видно в открытом виде нигде.
History и логи не видно пароля, насколько я смотрел.

Можно оформить ПР. Я буду только рад развитию проекта с помощью сообщества

Sign up to leave a comment.

Articles