প্রকল্প সম্পর্কে

tailor হল Azure Linux Image Customizer (IC)-এর জন্য একটি উচ্চ-স্তরের, ডিক্লারATIVE ফ্রন্ট-এন্ড। এটি নিম্ন-স্তরের Docker কমান্ড হাত দিয়ে লেখার জটিলতা দূর করে, ডেভেলপারদের ছোট, লেয়ার্ড YAML ফাইলগুলিতে ইমেজ সেট বর্ণনা করতে দেয়। টুলটি বেস কনফিগারেশনগুলিকে প্রতি-অক্ষ ফ্র্যাগমেন্টের সাথে মার্জ করে, ম্যাট্রিক্সগুলিকে স্বতন্ত্র বিল্ড সেলে প্রসারিত করে এবং IC কনটেইনার কার্যকর করার আগে স্বয়ংক্রিয়ভাবে বেস ইমেজগুলি সমাধান করে। মূল ক্ষমতাগুলির মধ্যে রয়েছে: - **ডিক্লারATIVE কনফিগারেশন**: ভাগ করা সেটিংগুলির জন্য `image.yaml` এবং বৈচিত্রের জন্য `by-<axis>/<value>.yaml` ফ্র্যাগমেন্ট ব্যবহার করে (যেমন, আর্কিটেকচার, ভ্যারিয়েন্ট)। এটি একটি নির্ধারক মার্জ মডেল ব্যবহার করে যেখানে মানচিত্রগুলি গভীর-মার্জ হয় এবং তালিকাগুলি যোগ হয়, স্কেলার সংঘাতগুলির জন্য স্পষ্ট `$set` নির্দেশাবলী প্রয়োজন যাতে নীরব ওভাররাইট প্রতিরোধ করা যায়। - **স্বয়ংক্রিয় কার্যকরকরণ**: tailor IC দ্বারা প্রয়োজনীয় জটিল `docker run` ইনভোকেশন পরিচালনা করে, যার মধ্যে সঠিক প্ল্যাটফর্ম সেট করা, হোস্ট পাথগুলিকে `/host` নেমস্পেসে পুনর্লিখন, প্রিভিলেজড মাউন্টগুলি পরিচালনা এবং আউটপুট যাচাই করা অন্তর্ভুক্ত। এটি `tailor.lock` এবং `--locked` বিল্ডের মাধ্যমে পুনরুৎপাদনযোগ্যতা সমর্থন করে। - **নমনীয় বেস ইমেজ**: স্থানীয় ফাইল, OCI রেফারেন্স এবং Azure Linux MCR শর্টহ্যান্ড সমর্থন করে। এটি চেইনিং বিল্ডও সমর্থন করে যেখানে একটি ইমেজ `inputs:` এর মাধ্যমে অন্যটিকে বেস হিসাবে ব্যবহার করতে পারে। - **ওয়ার্কফ্লো টুলস**: স্ক্যাফোল্ডিংয়ের জন্য `tailor init`, কমান্ড প্রিভিউ করার জন্য `--dry-run`, এবং কনফিগ রেন্ডার করার জন্য `export` প্রদান করে। এতে sudo-free ক্লীনআপ এবং টুলস-ডির গার্ডের মতো নিরাপত্তা বৈশিষ্ট্য রয়েছে। টুলটি Linux x86_64 এবং aarch64-এর জন্য একটি স্ট্যাটিক বাইনারি হিসাবে বিতরণ করা হয়, যার জন্য রানটাইমে শুধুমাত্র Docker ডেমন অ্যাক্সেস প্রয়োজন।