Пример файла playbook
install-client.yml
, содержащего инструкции по развертыванию клиента FreeIPA:
---
- name: Playbook to configure IPA clients with username/password
hosts: ipaclients
become: true
roles:
- role: ipaclient
state: present
Здесь:
Метод проверки пользователя:
строка hosts: ipaclients
указывает раздел файла inventory/hosts
, где скрипт ansible ищет полные доменные имена узлов, на которых должен быть запущен скрипт ipa-client-install
;
строка become: true
указывает, что скрипт ipa-client-install
будет вызываться с правами суперпользователя (root);
строка role: ipaclient
указывает роль, которая будет установлена на узле (в данном случае это роль клиента FreeIPA);
строка state: present
указывает, что клиент должен быть установлен, а не удален (absent).
Возможность автоматической установки:
Роль ipaclient принимает параметр
state
, позволяющий настроить или отменить настройку клиента FreeIPA. Если роль вызывается с параметром
state: present
(или параметр
state
не определен) выполняется настройка клиента FreeIPA, а именно:
установка клиентских пакетов freeipa-client (имя пакета зависит от ОС, установленной на управляемом узле);
настройка клиента FreeIPA.
Пример файла playbook
uninstall-client.yml
, содержащего инструкции по удалению клиента FreeIPA:
---
- name: Playbook to unconfigure IPA clients
hosts: ipaclients
become: true
roles:
- role: ipaclient
state: absent