Ansible: вывести файл в locahost и зарегистрировать его как переменную - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь создать сборник пьес, в который необходимо добавить созданные сертификаты в качестве переменной для создания шаблонов из нее. Созданные сертификаты имеют формат * .pem и находятся в ansible localhost. Мне нужно отследить эти файлы и загрузить содержимое как переменную, такую ​​как x_cert, y_key и т. Д. Попробовал метод shell: cat и метод register, который работает нормально, но, поскольку количество сертификатов велико, этот метод не рекомендуется, и я ищу какой-либо модуль. основанный метод.

Пробовал поиск и slurp, slurp работает только на удаленном хосте, и я хочу, чтобы это работало в localhost. поиск, который я использую, не работает. Не уверен.

Может кто-нибудь пролить свет на это.

Код Slurp, который работает на удаленном хосте

#- slurp:
#    src: "{{ x_secrets_path }}/certs/test/x-cert.pem"
#  register: x_cert

код поиска, который пока не работает

- name: load cert
  delegate_to: localhost
    adminsrv_cert= "{{ lookup('file', '{{ x_secrets_path }}/certs/test/x-cert.pem') }}"

1 Ответ

0 голосов
/ 17 октября 2019

Ниже действие сработало для меня. но все же зарегистрированная переменная содержит все выходные данные, включая дополнительные символы и т. д. Мне нужно только содержимое файла.

- slurp:
    src: "{{ certs_path }}/certs/test/x-cert.pem"
  register: x_cert
  delegate_to: localhost
- slurp:
    src: "{{ certs_path }}/certs/test/x-key.pem"
  register: x_key
  delegate_to: localhost
...