প্রকল্প সম্পর্কে
CFGMS হলো একটি ওপেন-সোর্স কনফিগারেশন, অটোমেশন এবং ইনফ্রাস্ট্রাকচার ম্যানেজমেন্ট প্ল্যাটফর্ম যা ম্যানেজড সার্ভিস প্রোভাইডার (MSP) এবং আইটি টিমের জন্য তৈরি করা হয়েছে। এটি একটি একক কন্ট্রোল প্লেন থেকে Windows, Linux এবং macOS মেশিনের বিশাল মাল্টি-টেন্যান্ট ফ্লিট পরিচালনা করার জন্য ডিজাইন করা হয়েছে। প্রজেক্টটির লক্ষ্য কেবল কোনো সমস্যা রিপোর্ট করা নয়, বরং ক্ষতিগ্রস্ত ডিভাইস বা অ্যাপ্লিকেশনকে তার ডিপেন্ডেন্সি এবং সাম্প্রতিক পরিবর্তনের সাথে সংযুক্ত করা, সম্ভাব্য কারণ চিহ্নিত করা এবং তা নিরাপদে সমাধান করা। README-তে উল্লেখ করা হয়েছে যে, এই রুট-কজ এবং Digital Employee Experience সক্ষমতাগুলো (experience signals, fleet baselines, predictive insight, remediation) বিদ্যমান ফাউন্ডেশনের ওপর পরিকল্পনা করা হয়েছে, তবে এগুলো এখনও সম্পন্ন হয়নি।
এর ডকুমেন্ট করা ফিচার সেটের মধ্যে রয়েছে desired-state configuration এবং policy-as-code; কনফিগারেশন drift detection এবং enforcement; workflow এবং event-driven automation; MSP এবং তাদের ক্লায়েন্টদের জন্য hierarchical multi-tenancy; লাইভ টেলমেট্রি এবং ঐতিহাসিক স্টেটসহ endpoint inventory; এবং সিস্টেম ও তাদের সম্পর্ক মডেলিং করার জন্য একটি entity graph। Microsoft 365, Active Directory, endpoints এবং infrastructure-এর জন্য ইন্টিগ্রেশন তালিকাভুক্ত করা হয়েছে।
এর আর্কিটেকচার তিনটি সহযোগী উপাদানের ওপর ভিত্তি করে তৈরি। Controller হলো কনফিগারেশন, অর্কেস্ট্রেশন, ওয়ার্কফ্লো, ফ্লিট স্টেট, API এবং মাল্টি-টেন্যান্ট প্রশাসনের জন্য কেন্দ্রীয় কন্ট্রোল প্লেন। Steward হলো সেই এজেন্ট যা Windows, Linux বা macOS এন্ডপয়েন্ট পর্যবেক্ষণ এবং পরিচালনা করে। Outpost হলো একটি পরিকল্পিত লোকাল প্রক্সি এবং ডিসকভারি কম্পোনেন্ট, যা সেই নেটওয়ার্ক এবং ডিভাইসের জন্য ব্যবহৃত হবে যেখানে Steward চালানো সম্ভব নয়। অভ্যন্তরীণ কন্ট্রোল এবং ডেটা-প্লেন কমিউনিকেশনে mutual TLS সহ QUIC-এর ওপর gRPC ব্যবহৃত হয়, আর বাহ্যিক ইন্টিগ্রেশনে HTTPS এবং REST API ব্যবহৃত হয়।
সিকিউরিটি ডিজাইনে ধরে নেওয়া হয়েছে যে এন্ডপয়েন্ট এবং মাঝে মাঝে অ্যাডমিনিস্ট্রেটর অ্যাকাউন্ট কম্প্রোমাইজ হতে পারে। অভ্যন্তরীণ যোগাযোগের জন্য mutual TLS প্রয়োজন, সিক্রেটগুলো এনক্রিপ্ট করা থাকে, এক্সিকিউটেবল মডিউলগুলো সাইন করা থাকে, অথরাইজেশন টেন্যান্ট-সচেতন এবং নিরাপত্তা-সংক্রান্ত কার্যক্রম অডিট করা হয়। ভালনারেবিলিটি রিপোর্টগুলো পাবলিক ইস্যুর পরিবর্তে ব্যক্তিগতভাবে হ্যান্ডেল করা হয়।
এর ইন্টারফেসগুলোর মধ্যে রয়েছে একটি cfg কমান্ড-লাইন টুল এবং একটি REST API, এবং কন্ট্রোলার-পরিচালিত একটি ওয়েব UI যা প্রাথমিক উন্নয়ন পর্যায়ে বলে বর্ণনা করা হয়েছে। সোর্স থেকে বিল্ড করার জন্য Go এবং Git প্রয়োজন; 'make build' কমান্ড বাইনারি ফাইলগুলোকে bin/ ফোল্ডারে রাখে। ডেপ্লয়মেন্টের জন্য --init --config এর মাধ্যমে কন্ট্রোলার CA এবং অ্যাডমিন ক্রেডেনশিয়াল বান্ডিল ইনিশিয়ালাইজ করা প্রয়োজন, এবং কন্ট্রোলারের ইস্যু করা রেজিস্ট্রেশন টোকেনের মাধ্যমে steward-রা যুক্ত হয়। ডকুমেন্টেশনে সিঙ্গেল-কন্ট্রোলার ওয়াকথ্রু, সমর্থিত আর্কিটেকচার এবং অন্যান্য ডেপ্লয়মেন্ট টপোলজি কভার করা হয়েছে।
প্রজেক্টটি নিজেকে প্রাথমিক উন্নয়ন পর্যায়ে হিসেবে বর্ণনা করেছে: কোর আর্কিটেকচার এবং ক্রমবর্ধমান কম্পোনেন্টগুলো বাস্তবায়িত হয়েছে, তবে এটিকে এখনও একটি সমাপ্ত প্রোডাকশন প্রোডাক্ট হিসেবে বিবেচনা করা উচিত নয়, এবং ইন্টারফেস ও ডেপ্লয়মেন্ট পদ্ধতি পরিবর্তিত হতে পারে। এর দিকনির্দেশনা একটি রোডম্যাপ এবং প্রজেক্ট বোর্ডের মাধ্যমে ট্র্যাক করা হয়।
এর লাইসেন্স হলো GNU Affero General Public License v3.0, তাই এটি সেলফ-হোস্ট করা সম্ভব এবং MSP-রা AGPL-এর অধীনে ক্লায়েন্ট এনভায়রনমেন্ট পরিচালনা করতে পারে; তবে প্রোপাইটারি প্রোডাক্টে এটি এমবেড করার জন্য আলাদা কমার্শিয়াল লাইসেন্স উপলব্ধ। কন্ট্রিবিউশনের জন্য একটি Contributor License Agreement স্বাক্ষর করা এবং কন্ট্রিবিউটর ফাইলে নাম যুক্ত করা প্রয়োজন।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.