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

doctl হলো DigitalOcean API-এর অফিসিয়াল কমান্ড-লাইন ইন্টারফেস। এটি সাবকমান্ডের মাধ্যমে DigitalOcean ক্লাউড রিসোর্স প্রকাশ করে, যাতে কন্ট্রোল প্যানেলের পরিবর্তে টার্মিনাল থেকে ইনফ্রাস্ট্রাকচার তালিকাভুক্ত, তৈরি এবং পরিচালনা করা যায়। কমান্ড গ্রুপগুলো 1-click অ্যাপ্লিকেশন, অ্যাকাউন্টের বিবরণ, অ্যাপ, প্রমাণীকরণ, ব্যালেন্স, বিলিং ইতিহাস, কম্পিউট (Droplets, ডোমেইন, ফ্লোটিং IP, ফায়ারওয়াল, লোড ব্যালেন্সার এবং ব্লক স্টোরেজের মতো ইনফ্রাস্ট্রাকচার), ডেটাবেস, ইনভয়েস, Kubernetes ক্লাস্টার ও কনফিগারেশন, মনিটরিং (বিটা হিসেবে চিহ্নিত), প্রজেক্ট, কন্টেইনার রেজিস্ট্রি এবং VPC কভার করে। একটি completion কমান্ড শেল অটোকমপ্লিশন স্ক্রিপ্ট তৈরি করে, এবং একটি version কমান্ড ইনস্টল করা বিল্ড রিপোর্ট করে। গ্লোবাল ফ্ল্যাগের মধ্যে রয়েছে একটি অ্যাক্সেস টোকেন, একটি API URL ওভাররাইড, একটি কাস্টম কনফিগ ফাইল, একটি প্রমাণীকরণ কনটেক্সট নাম, text এবং json-এর মধ্যে আউটপুট ফরম্যাট নির্বাচন, একটি নেটওয়ার্ক অ্যাক্টিভিটি ট্রেস, এবং verbose আউটপুট। ইনস্টলেশন অপশনের মধ্যে রয়েছে macOS-এ Homebrew, Snap, Arch Linux এবং Fedora রিপোজিটরি, এবং Nixpkgs-এর মতো প্যাকেজ ম্যানেজার, সাথে Docker Hub ইমেজ, GitHub থেকে প্রিবিল্ট রিলিজ আর্কাইভ, এবং Go এনভায়রনমেন্ট দিয়ে সোর্স থেকে বিল্ড। বিটা রিলিজ আলাদাভাবে ট্যাগ করা হয় এবং go install দিয়ে ইনস্টল, সোর্স থেকে বিল্ড, বা প্রিবিল্ট আর্কাইভ হিসেবে ডাউনলোড করা যায়; প্যাকেজ ম্যানেজার শুধুমাত্র সাধারণ উপলব্ধতা রিলিজ ইনস্টল করে। প্রমাণীকরণে কন্ট্রোল প্যানেলে তৈরি একটি DigitalOcean অ্যাক্সেস টোকেন ব্যবহার করা হয়। auth init কমান্ড ক্রেডেনশিয়াল সংরক্ষণ করে এবং কনফিগারেশন ফাইল তৈরি করে। নামযুক্ত প্রমাণীকরণ কনটেক্সটের মাধ্যমে একাধিক অ্যাকাউন্ট সমর্থিত, একটি ডিফল্ট কনটেক্সট এবং প্রতি কমান্ডে কনটেক্সট পরিবর্তন বা ওভাররাইড করার ক্ষমতা সহ। অ্যাক্সেস টোকেন ফ্ল্যাগ এবং এনভায়রনমেন্ট ভেরিয়েবল শুধুমাত্র ডিফল্ট কনটেক্সটে প্রযোজ্য। কনফিগারেশন একটি প্ল্যাটফর্ম-নির্দিষ্ট config.yaml ফাইলে সংরক্ষণ করা হয়, এবং সেখানে category.command.sub-command.flag ফরম্যাট ব্যবহার করে ডিফল্ট ফ্ল্যাগ মান সেট করা যায়, উদাহরণস্বরূপ ডিফল্ট SSH ব্যবহারকারী পরিবর্তন করতে। DIGITALOCEAN_CONTEXT এবং DIGITALOCEAN_ACCESS_TOKEN-এর মতো এনভায়রনমেন্ট ভেরিয়েবল একটি সেশনের জন্য সেটিংস ওভাররাইড করতে পারে। শেল অটোকমপ্লিশন Bash, ZSH এবং fish-এর জন্য উপলব্ধ, যদিও Windows-এ নয়। Homebrew-এর জন্য আনইনস্টল নির্দেশনা প্রদান করা হয়েছে, যার মধ্যে কনফিগারেশন ডিরেক্টরি অপসারণ অন্তর্ভুক্ত। README-তে থাকা উদাহরণগুলো Droplets তালিকাভুক্ত ও তৈরি, একটি ফ্লোটিং IP অ্যাসাইন, একটি DNS A রেকর্ড তৈরি, এবং ঐচ্ছিক ব্যবহারকারীসহ Droplet নাম দিয়ে SSH-এর মাধ্যমে সংযোগ দেখায়। README-তে লোড ব্যালেন্সার, ক্লাউড ফায়ারওয়াল এবং ব্লক স্টোরেজ কভার করা সম্পূর্ণ রেফারেন্স ডকুমেন্টেশন এবং কমিউনিটি টিউটোরিয়ালের লিঙ্কও রয়েছে।