ফ্লাইতে টেমপ্লেট আউটপুট ক্যাপচার করুন


8

আমার লক্ষ্য সার্ভারে একটি কমান্ড চালানো দরকার যা কেবল স্টিডিনের মাধ্যমে ডেটা গ্রহণ করে। আমি যে ডেটাটি খাচ্ছি তা একটি টেম্পলেট ফাইল থেকে আসে এবং এতে সংবেদনশীল ডেটা থাকে, তাই আমি বরং এটি এক সেকেন্ডের জন্যও ফাইল সিস্টেমে না বসে থাকি।

আমি কোনও টেম্পলেট টাস্কের আউটপুট দখল করার জন্য একটি উপায় খুঁজতে চেষ্টা করছি যাতে আমি এটি কমান্ডে পাস করতে পারি। কিছুটা এইরকম:

- name: generate data
  template:
    src: data.j2
    dest: [I'd rather not have any files written]
  register: myvar

- name: run command
  shell: "command < {{ myvar }}"

এটির আরও ভাল উপায় কী যাতে কোনও অস্থায়ী ফাইল লেখা, কমান্ডের কাছে তা খাওয়ানো এবং তারপরে এটি মুছে ফেলা জড়িত না?


অস্থায়ী ফাইল সহ আপনি একবার বর্ণিত হিসাবে এটি করেছিলেন। উত্তরযোগ্য ছেলেদের জন্য বৈশিষ্ট্যটির অনুরোধ তৈরি করা হয়েছে: github.com/ansible/ansible/issues/22134
পাভেল

উত্তর:


6

উত্তরযোগ্য ছেলেদের কাছ থেকে উত্তর পেয়েছেন:

some_var: "{{ lookup('template', 'tmpl.j2') }}"

1
গ্রেট! যদি আপনি আপনার টাস্কের সাথে "উইটাইটেলাইটস" ব্যবহার করেন তবে আপনি টেমপ্লেটে "আইটেম" ভেরিয়েবল ব্যবহার করতে পারেন।
ইকরাম

2

কমান্ডগুলি পরিচালনা করার সঠিক উপায় যা থেকে ইনপুট দরকার তা stdinহ'ল প্রত্যাশা মডিউল।

জবাবদিহির সাথে সংবেদনশীল ডেটা ব্যবহারের সঠিক উপায় হ'ল উত্তরযোগ্য ভল্ট । কোনও পদ্ধতিতে বা অন্য ডেটা ফাইল সিস্টেমে এনক্রিপ্ট করা থাকবে কারণ উত্তরীয় কার্যের অধীনে নির্ধারিত কমান্ডগুলি কার্যকর করতে পাইথন স্ক্রিপ্ট তৈরি করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.