Я пытаюсь использовать ansible -pull метод для запуска playbooks с дополнительными переменными во время выполнения playbooks.
Вот как мне нужно было запустить мою playbook с переменными.
ansible-playbook decode.yml --extra-vars "host_name=xxxxxxx bind_password=xxxxxxxxx swap_disk=xxxxx"
В bind_password будет закодировано значение пароля администратора. и я попытался написать ниже playbook для него.
Я могу отладить каждое значение и получить его правильно, но после расшифровки пароля не получается точное значение или я не уверен, правильно ли я делаю это или нет?
---
- name: Install and configure AD authentication
hosts: test
become: yes
become_user: root
vars:
hostname: "{{ host_name }}"
diskname: "{{ swap_disk }}"
password: "{{ bind_password }}"
tasks:
- name: Ansible prompt example.
debug:
msg: "{{ bind_password }}"
- name: Ansible prompt example.
debug:
msg: "{{ host_name }}"
- name: Ansible prompt example.
debug:
msg: "{{ swap_disk }}"
- name: Setup the hostname
command: hostnamectl set-hostname --static "{{ host_name }}"
- name: decode passwd
command: export passwd=$(echo "{{ bind_password }}" | base64 --decode)
- name: print decoded password
shell: echo "$passwd"
register: mypasswd
- name: debug decode value
debug:
msg: "{{ mypasswd }}"
но в то время как мы можем декодировать значение base64 с помощью команды:
echo "encodedvalue" | base64 --decode
Как я могу запустить этот playbook с ansible -pull.
позже я хочу преобразуйте эту пьесу в роли (role1) и затем запустите ее, как показано ниже:
Как мы можем запустить ролевую пьесу, используя ansible -pull?