Я хочу использовать Hashicorp Vault с Ansible, чтобы получить имя пользователя/пароль, который я буду использовать в Ansible playbook.Использование Hashicorp Vault с Ansible - установка плагина
Убежище настроено - я создал секрет. Каковы шаги по интеграции обоих? документация вокруг плагинов не так уж велика. Я пробовал поиск файлов с помощью ansible, и это работает, но как использовать сторонние плагины? Может ли кто-нибудь помочь мне с шагами, чтобы следовать?
- Установите плагин,
pip install ansible-modules-hashivault
- Какая разница с https://github.com/jhaals/ansible-vault
2.a Переменные среды (VAULT ADDR & VAULT ЗНАК) я ставлю где? - Изменение
ansible.cfg
, чтобы указать наvault.py
, который находится в «плагин» папку моего анзибль проекта Чтобы проверить базовую интеграцию, можно использовать следующий сборник пьес? https://pypi.python.org/pypi/ansible-modules-hashivault
- hosts: localhost -tasks: - hashivault_status: register: 'vault_status'
попытался это, но я получаю:
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 119, in run
res = self._execute()
File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 431, in _execute
self._task.post_validate(templar=templar)
File "/usr/lib/python2.7/site-packages/ansible/playbook/task.py", line 248, in post_validate
super(Task, self).post_validate(templar)
File "/usr/lib/python2.7/site-packages/ansible/playbook/base.py", line 371, in post_validate
value = templar.template(getattr(self, name))
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 359, in template
d[k] = self.template(variable[k], preserve_trailing_newlines=preserve_trailing_newlines, fail_on_undefined=fail_on_undefined, overrides=overrides)
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 331, in template
result = self._do_template(variable, preserve_trailing_newlines=preserve_trailing_newlines, escape_backslashes=escape_backslashes, fail_on_undefined=fail_on_undefined, overrides=overrides)
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 507, in _do_template
res = j2_concat(rf)
File "<template>", line 8, in root
File "/usr/lib/python2.7/site-packages/jinja2/runtime.py", line 193, in call
return __obj(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 420, in _lookup
instance = self._lookup_loader.get(name.lower(), loader=self._loader, templar=self)
File "/usr/lib/python2.7/site-packages/ansible/plugins/__init__.py", line 339, in get
self._module_cache[path] = self._load_module_source('.'.join([self.package, name]), path)
File "/usr/lib/python2.7/site-packages/ansible/plugins/__init__.py", line 324, in _load_module_source
module = imp.load_source(name, path, module_file)
File "/etc/ansible/ProjectA/lookup_plugins/vault.py", line 5
<!DOCTYPE html>
^
SyntaxError: invalid syntax
fatal: [win01]: FAILED! => {
"failed": true,
"msg": "Unexpected failure during module execution.",
"stdout": ""
Не могли бы вы сначала подгонять синтаксис вашей пьесы? Отступ сломан, а 'tasks' - это ключ, а не другой элемент. – techraf
Vault предлагает простой API REST - вы даже можете использовать модуль [uri] (https://docs.ansible.com/ansible/uri_module.html). На удивление много удивительных плагинов для Ansible, и хотя это должно быть просто, найти один из них, который работает среди всех из них, на удивление сложно - [тот, который вы уже нашли] (https://github.com/jhaals/ansible-vault) работает. – techraf
И я не совсем понимаю, о чем вы здесь спрашиваете. README для плагина является сверхчистым и дает хорошие примеры.Вы спрашиваете, что [переменные среды] (https://en.wikipedia.org/wiki/Environment_variablehttps://en.wikipedia.org/wiki/Environment_variable)? – techraf