Saya perlu menjalankan perintah pada server target yang hanya menerima data melalui stdin. Data yang saya makan itu berasal dari file template dan berisi data sensitif, jadi saya lebih suka tidak duduk di sistem file bahkan untuk sedetik.
Saya mencoba menemukan cara untuk mengambil output dari tugas template sehingga saya bisa meneruskannya ke perintah. Sesuatu seperti:
- name: generate data
template:
src: data.j2
dest: [I'd rather not have any files written]
register: myvar
- name: run command
shell: "command < {{ myvar }}"
Apakah cara yang lebih baik untuk melakukan ini yang tidak melibatkan menulis file sementara, mengumpankannya ke perintah dan kemudian menghapusnya?
Jawaban:
Mendapat jawaban dari orang yang mungkin:
sumber
Cara yang tepat untuk menangani perintah yang membutuhkan input dari
stdin
adalah modul harapkan .Cara yang tepat untuk menangani data sensitif dengan Ansible adalah anault vault . Salah satu cara atau yang lain data akan duduk tidak terenkripsi pada sistem file sebagai Ansible membuat skrip Python untuk mengeksekusi perintah yang didefinisikan di bawah tugas.
sumber