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

Inspektor Gadget হলো eBPF ব্যবহার করে Kubernetes ক্লাস্টার ও Linux হোস্টে ডেটা সংগ্রহ ও সিস্টেম পরিদর্শনের জন্য একগুচ্ছ টুল ও ফ্রেমওয়ার্ক। এটি Gadgets-এর প্যাকেজিং, ডিপ্লয়মেন্ট ও এক্সিকিউশন পরিচালনা করে, যেগুলো OCI ইমেজে এনক্যাপসুলেট করা eBPF প্রোগ্রাম, এবং তাদের কার্যকারিতা কাস্টমাইজ ও সম্প্রসারণের ব্যবস্থা প্রদান করে। প্রধান বৈশিষ্ট্যগুলোর মধ্যে রয়েছে eBPF প্রোগ্রামকে OCI ইমেজে বিল্ড ও প্যাকেজ করা, Kubernetes ক্লাস্টার ও Linux হোস্ট উভয়কে লক্ষ্য করা, সাধারণ কমান্ড বা ডিক্লারেটিভ কনফিগারেশনের মাধ্যমে অবজার্ভেবিলিটি টুলে ডেটা সংগ্রহ ও রপ্তানি করা, এবং কোন Gadgets চালানো যাবে তা সীমাবদ্ধ করার নিরাপত্তা ব্যবস্থা। ফ্রেমওয়ার্কটি স্বয়ংক্রিয়ভাবে কার্নেল ডেটাকে Kubernetes পড ও কন্টেইনার নামের মতো উচ্চ-স্তরের রিসোর্স দিয়ে সমৃদ্ধ করে, এবং ডেটা পোস্ট-প্রসেসিং ও অপারেটর কাস্টমাইজেশনের জন্য WebAssembly মডিউল সমর্থন করে। এটি একাধিক অপারেশন মোড প্রদান করে: CLI, ক্লায়েন্ট-সার্ভার, API, এবং এমবেডযোগ্য Golang লাইব্রেরি। Gadgets OCI ইমেজ হিসেবে বিতরণ করা হয় এবং কন্টেইনার রেজিস্ট্রিতে সংরক্ষণ করা যায়। Artifact Hub-এ একটি ক্রমবর্ধমান সংগ্রহ পাওয়া যায়, যার মধ্যে in-tree ও তৃতীয়-পক্ষের Gadgets রয়েছে। প্রকল্পটির নিজস্ব Gadgets-এর জন্য BTF সক্রিয়সহ কমপক্ষে Linux 5.10 প্রয়োজন, যদিও নির্দিষ্ট প্রয়োজনীয়তা Gadget অনুযায়ী ভিন্ন হয়। ইনস্টলেশন অপশনগুলোর মধ্যে রয়েছে Kubernetes-এর জন্য krew-এর মাধ্যমে kubectl-gadget, Linux-এ সরাসরি ig চালানো, kubectl node debug ব্যবহার, কন্টেইনারে চালানো, অথবা macOS বা Windows থেকে gadgetctl দিয়ে একটি রিমোট Linux ig ডেমন নিয়ন্ত্রণ করা। প্রকল্পটি ইউজার-স্পেস কম্পোনেন্টের জন্য Apache 2.0 এবং BPF কোড টেমপ্লেটের জন্য GPL v2 লাইসেন্সের অধীনে।