Lamobot
Maksim
Добрый день. Началась рабочая неделя и начались мои тупые вопросы. Роль, которая состоит только из meta, и таким образом подтягивает комплекс ПО, это нормально или нет?
Maksim
да и вообще, будет работать?
Maksim
И мир на мне остановился...
Viktor
ну тут скорее встречный вопрос (у меня который возник), почему не попробовать и не проверить, будет ли вообще работать... а нормальность тоже субъективщина, вопрос в целесообразности)
Timur
Timur
Но безумству храбрых поем мы песню
k
Lev
Konstantin
Доброго времени. Есть таска:
- copy:
content: "{{ item.conf | to_json }}"
dest: /etc/consul.d/{{ item.dest_file }}.json
when: inventory_hostname in groups["{{ item.group_hostname }}"]
loop: "{{ consul.services }}"
notify: check configs and reload
Но выскакивает варнинг:
[WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: inventory_hostname
in groups["{{ item.group_hostname }}"]
Как не крутил when не получилось исправить. Как правильно записать указать?
Lamobot
Konstantin
Konstantin
Andor
а есть тут счастливые пользователи hashi_vault модуля? я вот делаю так:
- copy:
dest: /var/mysecret.json
content: |
{{ lookup('hashi_vault', 'secret=secret/mysecret ca_cert=' ~ vault_cacert).content }}и оно почему-то из этого content вырезает переводы строк
Andor
в сикрете лежит json и если я вывожу без .content, то выводит нормальное поле с переводами строк
Andor
{"content": "{\n \"type\": \"service_account\",\n \"project_....вот так выглядит сикрет, а если я вывожу этот .content в файл, то переводов строк нету
Andor
ansible 2.9.2 если что
Sergey
Andor
спасибо, кэп
Andor
но сикрет уже лежит с ними, а ансибль почему-то в файл пишет без них
Andor
если я сикрет читаю через vault kv get то переводы строк на месте
Sergey
Sergey
ты зачем палку вертикальную вставил после content?
Andor
о том же, то что сикрет лежит в формате жсон - это без разницы
Sergey
^^^
Andor
Andor
- copy:
dest: /mydest
content: |
{{ mycontent }}
vars:
mycontent: |
adin
dva
triвот так (тоже с палкой) переводы строк на месте
Andor
| это тебе не >
Sergey
Это типа чтобы вот так не писать?
```
"{{ lookup('hashi_vault', 'secret=secret/mysecret ca_cert=' ~ vault_cacert)['content'] }}"
```
Andor
в первую очередь - чтобы про кавычки не думать
Sergey
Andor
ты правда думаешь что проблема в этом?
Andor
проверил, разумеется никакой разницы
Sergey
Я вот пытаюсь вообще найти, откуда ты взял content, и тупо не вижу его в доках вообще. Это откуда?
Sergey
Уже и исходники поглядел....
Sergey
https://docs.ansible.com/ansible/latest/plugins/lookup/hashi_vault.html#return-values - никакого content нет, только _raw
Andor
конечно, .content это поле секрета
Andor
vault read -field=content secret/mysecret
Andor
типа того
Andor
возможно это то что возвращает либа hvac
Andor
потому что для kv2 оно в другом виде возвращает
Sergey
то, что возвращает либа, можно проверить через _raw.
Andor
прям ._raw?
Andor
никогда такое не юзал, ща попробую
Sergey
Sergey
ты прикалываешься? там нет такого метода!
Andor
да кто эти ваши ансиболи разберёт
Andor
я не "прикалываюсь", я спрашиваю
Sergey
Andor
ты себя ассоциируешь с тем что справа или с тем что слева?
Sergey
сверху, торт бросаю.
Andor
Andor
в строке есть переводы строк
Andor
в результирующем файле - нет
Andor
потому я и здесь и спрашиваю, с чем может быть связано такое поведение
Sergey
а попробуй по-нормальному, через template
Sergey
потмоу что вот исходник:
Sergey
https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/lookup/hashi_vault.py
Sergey
и там _нет_ content
Andor
Владислав
Ты по сути вставку json делаешь в yaml
Andor
я делаю вставку строки
Sergey
здесь согласен
Владислав
Andor
кстати, debug нормально выводит. с переводами строк
Andor
Нет
в смысле? я читаю строку из волта и пытаюсь её вывести
Владислав
чей парсер?
Я не помню что yaml парсит в a ansible
Andor
то что в строке находится жсон - другой вопрос
Sergey
Andor
ты хочешь сказать что если в строке жсон, то ансибль его сам распарсит а потом закодирует обратно в строку?
Владислав
Andor
oh shi~
Andor
можно как-нибудь отключить?
Andor
и почему для debug нормально выводит
Andor
а хотя не уверен