В настоящее время я предоставляю s sh пользователя и пароль на уровне инвентаря.
И укажите значения из файла переменных и файла хранилища.
playbook_sample
- hosts: localhost
vars_files:
- ./vars/obdp-ml-password.yml
- ./vars/vars.yml
gather_facts: no
no_log: true
tasks:
- .....some tasks......
Это заставляет меня хранить файл хранилища в GitHub репо. что уродливо. Теперь у меня есть система, в которой я могу получить пароль из REST API. Это пример вывода json для моего вызова отдыха.
{
"request_id": "xxxx-xxxx",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"data": {
"user": "user_name",
"password": "some_secret_password"
},
"metadata": {
"created_time": "2020-06-17T11:01:58.496877095Z",
"deletion_time": "",
"destroyed": false,
"version": 1
}
},
"wrap_info": null,
"warnings": null,
"auth": null
}.
Как я теперь могу переопределить значения ansible_ssh_user и ansible_ssh_password, чтобы ansible входил на все хосты, используя учетные данные, полученные из вывода json. Как это правильно?