Мне нужно выполнить команду на целевом сервере, которая принимает данные только через стандартный ввод. Данные, которые я передаю, поступают из файла шаблона и содержат конфиденциальные данные, поэтому я бы предпочел, чтобы они не оставались в файловой системе даже на секунду.
Я пытаюсь найти способ получить выходные данные шаблона задачи, чтобы я мог передать его команде. Что-то вроде:
- name: generate data
template:
src: data.j2
dest: [I'd rather not have any files written]
register: myvar
- name: run command
shell: "command < {{ myvar }}"
Есть ли лучший способ сделать это, не включающий запись временного файла, подачу его в команду, а затем стирание?
Ответы:
Получил ответ от откровенных ребят:
источник
Правильный способ обработки команд, которые требуют ввода,
stdin
- это ожидаемый модуль.Правильный способ работы с конфиденциальными данными с Ansible - это хранилище данных . Так или иначе, данные будут храниться незашифрованными в файловой системе, поскольку Ansible создает скрипты Python для выполнения команд, определенных в задачах.
источник