Рубрики
Без рубрики

Создание приложения Windows Python для управления Linux Ansible

Введение Цель Цель этого проекта – контролировать Ansible Linux … Tagged с Python, Windows, Ansible, Linux.

Цель

Цель этого проекта – управление Ansible Controller Linux через Windows.

Идея основания

Первоначальная идея возникла из этой попытки автоматизировать решение IDAM, называемое BeyondTrust. BeyondTrust не предназначен для автоматизации, поэтому это была довольно сложная задача через Ansible.

Предложенное решение

Я хотел создать решение для тупых пользователей, которые не знакомы с средой Linux, и для тех, кто не знаком с Ansible. Я хотел создать решение Windows, так как большинство людей знакомы с Windows и знают, как дважды щелкнуть исполняемого файла.

Библиотеки

Одна из основных причин, по которой я люблю использовать Python, – это обширный выбор библиотеки. Я знаю, что если я подумал о чем -то, что хочу, кто -то, скорее всего, уже нашел решение.

Библиотеки, которые я использую, расположены ниже:

Импорт Tkinter Импорт ConfigParser Импорт Sys Импорт журнала Импорт Paramiko Импорт ОС

Предыдущие знания (знакомство)

Я часто думаю, что важно использовать то, с чем вы знакомы. Там может быть лучший инструмент, который делает больше и имеет больше колокольчиков. Тем не менее, важно придерживаться того, что вы знаете, особенно в чувствительной к времени. Я мог бы легко выучить лучший язык для разработки приложений. Я уверен, что существуют лучшие системы, которые более эффективны, требуют меньше кода, потребляют меньше ресурсов и т. Д. Для меня было важно придерживаться моего оружия, питонов. Одним из требований, которые я предложил, был 3-недельный крайний срок. Я чувствовал, что 2 недели было слишком быстрым, и 4 недели продлевают его и способствуют прокрастинации. Я хотел избежать обеих ситуаций; Я чувствовал, что 3 недели были хорошей средой. Возможность прибегать к Python, зная, что то, что я встречаю, имеет ответ.

Python также имеет чрезвычайно большое сообщество. Из того, что я видел на Reddit и Stackoverflow, гораздо более полезно;)

Инструменты хостинга и сотрудничества

Я буду использовать облачные сервисы AWS, чтобы помочь выполнить этот проект.

  • AWS EC2
  • AWS Cloud9

Для управления кодом и управления версиями я настроил частный репозиторий GitHub.

Получать помощь

Поэтому я знал, что не могу выполнить этот проект самостоятельно в те временные рамки, которые я установил. Так что я краудсорсин получил помощь. Двое других людей работают над этим проектом со мной. Я не знаю их, но я должен отдать им должное, потому что без их помощи этот проект никогда бы не завершился.

Python IDE (KISS)

IDE, с которой я решил работать, это Python IDE. Мне нравится следовать простой философии – Держите это просто глупо (поцелуй). Сохранение моей рабочей среды максимально мощной кости позволяет мне узнать и понимать, что я делаю больше, потому что я за рулем. Это как водить руководство по сравнению с автоматическим. Оба великолепны и имеют свои преимущества, выбирайте, что вам подходит.

Я помню, как мои профессора колледжа высмеивали, что меня высказали в классе Java 101 за использование JGrasp, шутки на них – я получил B.

Первый дизайн был основан на стеке BeyondTrust. Он был предназначен просто назвать Ansible Playbook на основе выборов.

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

Следующая концепция дизайна берет все эти вещи за пределами обращения и выбивает его из окна. Вместо того, чтобы сосредоточиться на одном продукте, почему бы не позволить пользователю выполнить какую -либо воспроизведение, как он хотел использовать синтаксис Linux?

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

Создание файла Ansible Hosts на основе типа системы и службы. Примечание: это не окончательно, но дает общее понимание того, как создать более динамичный инвентарь, основанный на услуге, который вы хотите для целевых хостов.

Я хочу напомнить всем, что этот проект все еще находится в процессе. Я ищу помощь, если кто -нибудь захочет внести свой вклад.

Оригинал: “https://dev.to/schnipdip/making-a-windows-python-application-to-manage-linux-ansible-1502”