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

Rancher Desktop একটি ওপেন-সোর্স ডেস্কটপ অ্যাপ্লিকেশন যা উইন্ডোজ, ম্যাকওএস এবং লিনাক্সে কুবারনেটস এবং কন্টেইনার ব্যবস্থাপনা প্রদান করে। প্রকল্পটি একটি ইলেকট্রন অ্যাপ্লিকেশন যা মূলত টাইপস্ক্রিপ্টে লেখা, এবং একাধিক প্রযুক্তিকে একটি সমন্বিত টুলে একত্রিত করে। এতে একটি কমান্ড-লাইন ইউটিলিটি, rdctl, অন্তর্ভুক্ত রয়েছে যা গো ভাষায় লেখা। READMEটি Rancher Desktop-এ কাজ করা ডেভেলপারদের জন্য তৈরি। ব্যবহারকারী-মুখী তথ্য rancherdesktop.io-তে এবং ব্যবহারকারী ডকুমেন্টেশন docs.rancherdesktop.io-তে রয়েছে। ডেভেলপমেন্ট ওয়ার্কফ্লো: - বেশিরভাগ কাজ (ডেভেলপমেন্ট বিল্ড, প্যাকেজিং, ইউনিট টেস্ট, এন্ড-টু-এন্ড টেস্ট) yarn স্ক্রিপ্টের মাধ্যমে চলে; কিছু ব্যতিক্রম যেমন BATS টেস্ট রয়েছে। - উইন্ডোজ সেটআপ দুটি রূপে দেওয়া হয়: একটি মাইক্রোসফট উইন্ডোজ 10 ডেভেলপমেন্ট ভার্চুয়াল মেশিন যার সাথে একটি স্বয়ংক্রিয় PowerShell সেটআপ স্ক্রিপ্ট, অথবা WSL, Scoop, nvm, ভিজ্যুয়াল স্টুডিও (ডেস্কটপ ডেভেলপমেন্ট with C++ ওয়ার্কলোড এবং উইন্ডোজ SDK সহ), এবং git লাইন-এন্ডিং কনফিগারেশন ব্যবহার করে একটি ম্যানুয়াল পরিবেশ। - ম্যাকওএস সেটআপে nvm ব্যবহার করে Node 22, yarn, এবং Homebrew-এর মাধ্যমে গো ইনস্টল করা হয়। Apple M1 মেশিনে, নির্ভরতা ইনস্টল এবং স্ক্রিপ্ট চালানোর আগে একটি M1 পরিবেশ পরিবর্তনশীল সেট করতে হবে। - লিনাক্স সেটআপে Node.js v22 ডেভেলপমেন্ট প্যাকেজ, yarn ক্লাসিক, গো 1.22 বা তার পরবর্তী সংস্করণ, এবং ffi-napi প্যাকেজ তৈরি করার জন্য node-gyp-এর জন্য একটি C/C++ টুলচেইন প্রয়োজন। চালানো এবং পরীক্ষা: - yarn dev একটি ডেভেলপমেন্ট সংস্করণ চালায়। - yarn test ইউনিট টেস্ট চালায়; yarn test:e2e ইন্টিগ্রেশন টেস্ট চালায়। - yarn build এবং yarn package dist/-তে বিল্ড আউটপুট তৈরি করে। ক্রস-কম্পাইলেশন সমর্থিত নয়। ডিবাগিং: - লিনাক্স, ম্যাকওএস এবং উইন্ডোজে --remote-debugging-port এবং --remote-allow-origins ফ্ল্যাগ দিয়ে Chrome রিমোট ডিবাগিং সক্ষম করা যায়, তারপর স্থানীয় পোর্টে Chrome-এর মাধ্যমে অ্যাক্সেস করা যায়। এক্সটেনশন লোড করার পরে একইভাবে রিমোট-ডিবাগ করা যেতে পারে। - GoLand (এবং অনুরূপ JetBrains IDE) Node.js প্লাগইন এবং scripts/ts-wrapper.js scripts/dev.ts-কে নির্দেশ করে একটি Node.js রান কনফিগারেশন ব্যবহার করে ডেভ পরিবেশ ডিবাগ করতে পারে। ডেভেলপমেন্ট বিল্ড: - উইন্ডোজ এবং ম্যাকওএসে, প্রতিটি কমিট GitHub Actions ট্রিগার করে যা .exe এবং .dmg আর্টিফ্যাক্ট আপলোড করে। - লিনাক্সে, GitHub Actions প্রক্রিয়ার অংশ সম্পাদন করে এবং Open Build Service এটি শেষ করে। ডেভ এবং স্টেবল চ্যানেল রয়েছে; ডেভ বিল্ড main শাখা এবং release-* শাখা থেকে আসে, সংস্করণ ফরম্যাট priority.branch.commit_time.commit। .deb এবং .rpm ডেভেলপমেন্ট রিপোজিটরি যোগ করার এবং ডেভেলপমেন্ট AppImage বিল্ড অ্যাক্সেস করার নির্দেশাবলী দেওয়া হয়েছে। API: - Rancher Desktop pkg/rancher-desktop/assets/specs/command-api.yaml-এ সংজ্ঞায়িত একটি সীমিত HTTP-ভিত্তিক API সমর্থন করে, যার ক্লায়েন্ট উদাহরণ go/src/rdctl-এ রয়েছে। API সংস্করণ 1-এ রয়েছে তবে এটি অভ্যন্তরীণ এবং পরীক্ষামূলক হিসাবে বিবেচিত, এবং নোটিশ ছাড়াই পরিবর্তন সাপেক্ষ। অবদান এবং আরও পড়া: - একটি CONTRIBUTING.md নথি এবং docs/development/ ডিরেক্টরি অতিরিক্ত ডেভেলপার ডকুমেন্টেশন সরবরাহ করে।