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

AsterForge হলো Aster সেবাগুলোর (AsterDrive, AsterYggdrasil এবং ভবিষ্যতের প্রকল্প) জন্য একটি শেয়ার্ড Rust রানটাইম ভিত্তি ও ইনফ্রাস্ট্রাকচার কার্নেল। এটি প্রোডাক্ট-নিরপেক্ষ কম্পোনেন্ট, স্কিমা, স্টোর এবং লাইফসাইকল মেকানিক্স প্রদান করে, যাতে পৃথক Aster সেবাগুলো শেয়ার্ড হেল্পার পুনরায় বাস্তবায়নের পরিবর্তে একটি সাধারণ ইনফ্রাস্ট্রাকচারে প্লাগ ইন করতে পারে। ওয়ার্কস্পেসটি লাইফসাইকল ব্যবস্থাপনা, কম্পোনেন্ট রেজিস্ট্রেশন, হেলথ রিপোর্টিং, শাটডাউন অর্ডারিং, কনফিগারেশন রিলোড, ক্যাশ ব্যাকএন্ড, ডেটাবেস-মালিকানাধীন ইনফ্রাস্ট্রাকচার টেবিল, মেইল আউটবক্স ডিসপ্যাচ, অডিট লগ মেকানিক্স, শিডিউলড টাস্ক, রানটাইম লিজ, লগিং, মেট্রিক্স, প্যানিক হ্যান্ডলিং, API হেল্পার, Actix মিডলওয়্যার, এক্সটার্নাল-অথ কানেক্টর, স্টোরেজ কী হেল্পার এবং ভ্যালিডেশন কভার করে। প্রোডাক্ট-নির্দিষ্ট কোড (পারমিশন, ব্যবহারকারী-মুখী API সেমান্টিক্স, প্রোডাক্ট এনটিটি, টাস্ক পেলোড/ফলাফল, অডিট অ্যাকশন এনাম, প্রেজেন্টেশন রুল, বিজনেস রিপোজিটরি) মালিক অ্যাপ্লিকেশন রিপোজিটরিতেই থাকে; Forge শুধুমাত্র যা একাধিক Aster সেবার সাধারণভাবে প্রয়োজন তা মালিকানাধীন। ক্রেটগুলো কয়েকটি এলাকায় সংগঠিত: - রানটাইম কার্নেল: aster_forge_runtime, aster_forge_config, aster_forge_logging, aster_forge_metrics, aster_forge_panic, aster_forge_alloc - ওয়েব ও API: aster_forge_api, aster_forge_api_docs_macros, aster_forge_middleware, aster_forge_observability, aster_forge_external_auth, aster_forge_http, aster_forge_webdav - ডেটা, কোঅর্ডিনেশন ও ব্যাকগ্রাউন্ড কাজ: aster_forge_db, aster_forge_db_migration, aster_forge_cache, aster_forge_tasks, aster_forge_mail, aster_forge_audit - স্টোরেজ ও ডোমেইন-নিরপেক্ষ হেল্পার: aster_forge_cloud_files_core, aster_forge_cloud_files_linux, aster_forge_cloud_files_macos_bridge, aster_forge_cloud_files_windows, aster_forge_storage_core, aster_forge_file_classification - ইউটিলিটি: aster_forge_crypto, aster_forge_utils, aster_forge_validation, aster_forge_xml একটি বান্ডল করা cargo-generate টেমপ্লেট (templates/aster-service-actix) একটি নতুন Aster সেবা স্ক্যাফোল্ড করে, যেখানে Forge রানটাইম কম্পোনেন্টের সাথে সংযুক্ত একটি পাতলা এন্ট্রিপয়েন্ট, সার্ভার/ডেটাবেস/ক্যাশ/কনফিগ সিঙ্ক/লগিংয়ের জন্য রক্ষণশীল ডিফল্ট এবং Forge-মালিকানাধীন ইনফ্রাস্ট্রাকচার টেবিলের জন্য একটি মাইগ্রেশন ক্রেট থাকে। ওয়ার্কস্পেসটি Rust 1.94.0+ এবং edition 2024 টার্গেট করে এবং MIT OR Apache-2.0 এর অধীনে দ্বৈত-লাইসেন্সকৃত। ডকুমেন্টেশন একটি VitePress সাইটের মাধ্যমে চীনা ও ইংরেজি উভয় গাইডে প্রদান করা হয়; চীনা ক্রেট পেজগুলো বর্তমানে প্রামাণিক ইন্টিগ্রেশন রেফারেন্স। বিল্ড ও CI AsterDrive মডেল অনুসরণ করে, যার মধ্যে রয়েছে পিন করা টুলচেইন, বিভক্ত dev প্রোফাইল, OpenAPI/TypeScript আর্টিফ্যাক্ট ড্রিফট চেক, কভারেজ সারাংশ, ডিপেন্ডেন্সি-ট্রিগারড অডিট এবং PostgreSQL/MySQL মাইগ্রেশন স্মোক জব।