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

debux হল একটি ওপেন-সোর্স কন্টেইনার ডিবাগার যা Docker এবং Kubernetes পরিবেশের জন্য ডিজাইন করা হয়েছে। এটি একটি সাধারণ সমস্যার সমাধান করে: প্রোডাকশন-স্টাইলের কন্টেইনার ডিবাগ করা যেখানে শেল বা প্যাকেজ ম্যানেজার নেই, যেমন distroless, scratch এবং minimal ইমেজ। `docker exec`-এর বিপরীতে, যার জন্য টার্গেট ইমেজের ভিতরে টুল এবং শেল প্রয়োজন, debux একটি আলাদা ডিবাগ টুলবক্স কন্টেইনার শুরু করে যা টার্গেটের সাথে সংযুক্ত হয়, দরকারী নেমস্পেস (নেটওয়ার্ক, প্রসেস) শেয়ার করে এবং টার্গেট ফাইলসিস্টেমকে `$DEBUX_TARGET_ROOT` (সাধারণত `/proc/1/root`) এ উন্মুক্ত করে। মূল ক্ষমতাগুলির মধ্যে রয়েছে: - **যেকোনো কন্টেইনারের সাথে কাজ করে**: চলমান, বন্ধ, প্রস্থান বা ক্র্যাশ-লুপিং কন্টেইনার ডিবাগ করে, যার মধ্যে শেল বা প্যাকেজ ম্যানেজার নেই এমনগুলিও অন্তর্ভুক্ত। - **Docker এবং Kubernetes সমর্থন**: স্থানীয় Docker কন্টেইনার, Docker Compose সার্ভিস, Podman কন্টেইনার এবং Kubernetes পডের জন্য ইউনিফাইড ওয়ার্কফ্লো। হোস্ট-নেমস্পেস অ্যাক্সেস সহ Kubernetes নোড ডিবাগ করাও সমর্থন করে। - **রেডি-টু-ইউজ টুলবক্স**: প্রি-ইনস্টল করা টুলগুলির মধ্যে রয়েছে curl, wget, dig, nmap, tcpdump, strace, ltrace, gdb, htop, vim, jq, git, openssh, zsh, tmux এবং আরও অনেক কিছু। টুলবক্সটি Wolfi-এর উপর ভিত্তি করে তৈরি এবং প্যাকেজ ম্যানেজমেন্টের জন্য mise ব্যবহার করে। - **চাহিদা অনুযায়ী টুল ইনস্টলেশন**: `dctl` কমান্ড mise ব্যবহার করে ডিবাগ সেশনের সময় অতিরিক্ত টুল ইনস্টল করে। সেশন শুরুতে `--tools` দিয়ে টুল প্রিলোড করা যায়। - **টার্গেট-সচেতন শেল**: টার্গেট রুটে যান, টার্গেট প্রসেস পরিদর্শন করুন, টার্গেট নেটওয়ার্ক নেমস্পেস পুনরায় ব্যবহার করুন এবং টুলবক্সে না থাকলে chroot-এর মাধ্যমে টার্গেটের নিজস্ব বাইনারি চালান। - **পোর্ট ফরওয়ার্ডিং এবং ফাইল কপি**: যেকোনো টার্গেট থেকে ফাইল অ্যাক্সেস এবং টানুন, এমনকি `-p` ছাড়া শুরু করা কন্টেইনার এবং distroless পড যেখানে `kubectl cp` ব্যর্থ হয়। - **Kubernetes কপি মোড**: যখন RBAC বা অ্যাডমিশন পলিসি দ্বারা এফিমেরাল কন্টেইনার ব্লক করা হয়, `--copy` ডিবাগিংয়ের জন্য একটি অস্থায়ী ডুপ্লিকেট পড তৈরি করে। TTL, Karpenter সুরক্ষা এবং পুনরায় সংযুক্ত করার ক্ষমতা সহ দীর্ঘস্থায়ী কপি সেশন সমর্থন করে। - **নোড ডিবাগিং**: `debux node` একটি Kubernetes নোডে হোস্ট-নেমস্পেস টুলবক্স পড নির্ধারণ করে, নোড রুট ফাইলসিস্টেম মাউন্ট করে এবং PID, নেটওয়ার্ক এবং IPC নেমস্পেস শেয়ার করে। - **ইমেজ ডিবাগিং**: ইমেজটি শুরু না করেই ডিবাগ করুন, যা দরকারী যখন ইমেজটি নিজেই বুট করতে পারে না। - **TUI ইন্টারফেস**: Docker, Kubernetes কনটেক্সট/নেমস্পেস নেভিগেশন, সক্রিয় সেশন পুনরায় সংযুক্তি, সাম্প্রতিক সেশন এবং বিকল্প টগল সহ ফুল-স্ক্রিন টার্গেট ব্রাউজার। - **শেল কমপ্লিশন**: তৈরি কমপ্লিশনগুলিতে সাবস্ট্রিং ম্যাচিং সহ লাইভ Docker এবং Kubernetes টার্গেট অন্তর্ভুক্ত। টুলটি একটি একক বাইনারি হিসাবে বিতরণ করা হয় যার একটি ইনস্টলার স্ক্রিপ্ট রয়েছে যা amd64/arm64-এ Linux এবং macOS সমর্থন করে। রিলিজ অ্যাসেটগুলি চেকসাম-যাচাই করা হয় এবং ঐচ্ছিক cosign স্বাক্ষর যাচাইকরণ সমর্থিত। প্রকল্পটি MIT লাইসেন্সের অধীনে।