پلتفرمها باید تکرارپذیر باشند
Blueprint، Template و Policy جای ساخت دستی و تنظیمات وابسته به افراد را میگیرند.

PLATFORM ENGINEERING / PRIVATE CLOUD
Platform Factory سرورهای خام یا محیطهای Kubernetes موجود را به پلتفرمهای استاندارد و قابلاداره تبدیل میکند؛ Catalog، Fleet، Release، Policy، Delivery و بازیابی زیر یک Product Control Plane قرار میگیرند.
اجزای 4SO Platform Factory: از زیرساخت خام تا پلتفرمهای هدف
مسئلهی محصول
Kubernetes، Registry، Identity، Monitoring، Backup، Policy، Upgrade و بازیابی اگر جداگانه اداره شوند، پیچیدگی از Developer به تیم Platform منتقل میشود. Factory این اجزا را پشت یک مدل محصولی واحد قرار میدهد.
Blueprint، Template و Policy جای ساخت دستی و تنظیمات وابسته به افراد را میگیرند.
RKE2، OKD و Existing Kubernetes پشت یک مدل Target قرار میگیرند، بدون پاککردن تفاوتهای واقعی.
Health، Drift، Maintenance، Upgrade، چرخهی عمر نود و بازیابی از همان مدل محصول اداره میشوند.
Catalog، Artifact، Registry و وضعیت مطلوب با Identity و Provenance مشخص وارد محیط اجرا میشوند.
نمای قابلیتها
Factory فقط یک نصبکننده نیست؛ چرخهی کامل Platform Engineering را از ایجاد Target تا تحویل Workload و Day-2 Operations پوشش میدهد.
راهاندازی Target مدیریتشده یا اتصال Kubernetes موجود به مرجع محصول.
تعریف Platform Capability، Template و نسخهی قابلاستفاده برای تیمها.
Health، Drift، Maintenance و چرخهی عمر برای مجموعهای از Targetها.
Forgejo تاریخچهی وضعیت مطلوب را نگه میدارد و Argo CD آن را Reconcile میکند؛ هر دو زیر مرجع واحد محصول.
Artifact، Image و Provenance در مرزهای مشخص؛ Acquisition و Delivery برای محیطهای متصل و مستقل از اینترنت.
Application Release و Environment Binding روی قابلیتهای مشاهدهشدهی Platform.
Policy، Backup Run، Restore و Drill برای Targetهای مدیریتشده.
Drain، Replace، Maintenance و Upgrade آگاه از Distribution.
مدل Target
Management Plane ثابت میماند؛ تفاوت Distribution در Target boundary حل میشود تا هر محیط فقط Stack لازم خودش را دریافت کند.
| Target | روش ورود | Ownership | کاربرد |
|---|---|---|---|
| Managed RKE2 | ساخت توسط Factory | چرخهی عمر پلتفرم زیر Product Control Plane | Private Cloud استاندارد و self-contained |
| Existing Kubernetes | Import و Discovery | محیط اجرا موجود + مرز چرخهی عمر محصول | آوردن کلاسترهای موجود زیر مدیریت |
| Managed OKD | ساخت آگاه از Distribution | OKD مالک قابلیتهای Native خودش | OpenShift-compatible platform روی زیرساخت مدیریتشده |
| Existing OKD | Import و Capability Discovery | Native OKD + فرایندهای محصول 4SO | مدیریت بدون تکرار پشتههای داخلی OKD |
معماری
Factory مرزها را ادغام نمیکند: مرجع محصول تصمیم و چرخهی عمر را نگه میدارد، تاریخچهی وضعیت مطلوب ثبت میشود، Reconciler آن را اعمال میکند و محیط اجرای Target نتیجه را نشان میدهد.
| لایه | Component / Authority | مسئولیت | مرز |
|---|---|---|---|
| Product Authority | PostgreSQL + Platform API | Org/Project، Catalog، Blueprint، Fleet، Release، Durable Operations و Audit | مرجع محصول و lifecycle؛ نه runtime target |
| Desired State | Forgejo | Desired configuration و release inputs نسخهدار | Desired state است؛ runtime truth نیست |
| Reconciliation | Argo CD | اعمال Desired State و تشخیص Drift | Reconciler است؛ Source of Truth مستقل نمیسازد |
| Artifact Plane | zot OCI Registry | Image/Artifact delivery، mirror و disconnected inventory | Artifact identity و provenance باید حفظ شود |
| Management Plane | Self-contained RKE2 | Control services، Identity، PostgreSQL، Git/Registry و Operator APIs | با Target distribution یکی نمیشود |
| Targets | RKE2 · OKD · Existing Kubernetes | Capability Discovery، workload runtime و day-2 lifecycle | Distribution-native capabilities حفظ میشوند؛ stack تکراری تحمیل نمیشود |
Target & Delivery Contract. Factory یک abstraction مبهم روی Kubernetes نمیسازد؛ authority محصول، desired state، reconciliation، artifact plane و distribution-native runtime مرزهای مستقل دارند.
| حوزه | Component / Mechanism | رفتار |
|---|---|---|
| Managed OKD | openshift-install / oc + Redfish Boot Media | Provisioning bare metal و Cluster lifecycle از Distribution contract خود OKD عبور میکند. |
| Disconnected OKD | oc-mirror v2 → zot | Acquisition، inventory و mirror قبل از install بسته و قابلبررسی میشوند. |
| Application runtime trait | Optional Dapr sidecar capability | Dapr میتواند برای service invocation/pubsub/bindings/resiliency استفاده شود، اما Product state/workflow/secret authority را تصاحب نمیکند. |
چرخهی عمر
Target فقط ساخته نمیشود؛ کشف، برنامهریزی، ساخت یا Import، بررسی قابلیتها، تحویل، بهرهبرداری، ارتقا و بازیابی همه بخشی از چرخهی عمر آن هستند.
پروفایل پلتفرم
هر Profile ترکیبی از Distribution Identity، Capability Discovery، Policy، Supply Chain و چرخهی عمر است؛ OKD و RKE2 عمداً به یک implementation مصنوعی تبدیل نمیشوند.
پلتفرم Kubernetes سبک و self-contained.
استفاده از قابلیتهای Native خود OKD.
Cluster موجود بدون بازسازی بیدلیل.
لایهی تحویل Application روی Target.
Acquire، Mirror و Install بدون وابستگی محیط اجرا به اینترنت.
مدیریت مجموعهی Targetها پس از ساخت.
فلو و Operation State
Operation Class، risk، sealed request payload، approval، retry policy و observed verification بخشی از مدل محصولاند؛ تغییر پرریسک از مسیر کوتاه و پنهان اجرا نمیشود.
Action پرریسک تا Approval مستقل به Execution نمیرسد.
Forgejo Intent و Argo Reconcile بدون ساخت Authority دوم.
Artifact identity قبل از نصب sealed میشود.
از زیرساخت خام تا Target ثبتشده و مشاهدهشده.
Import بهمعنی بازسازی Cluster نیست.
Release به EnvironmentBinding و observed runtime متصل است.
Supply chain قبل از نصب بسته و قابلردیابی میشود.
Day-2 روی Distribution semantics واقعی اجرا میشود.
Drift و Data Protection نیز باید مانند Provision مسیر قابلمشاهده داشته باشند.
تفاوت Desired و Observed بدون overwrite کردن مالکیت Native هر Distribution اصلاح میشود.
Data Protection تا Restore ایزوله و Workload verification ادامه پیدا میکند.
| Action / Flow | Admission / Preconditions | Execution / Lock | Success Criterion | Failure / Recovery |
|---|---|---|---|---|
| Create Platform | Distribution/Profile، provider/target inputs و Blueprint resolution باید قابل برنامهریزی باشند | Request payload sealed؛ عملیات mutating/destructive با exact-target fence اجرا میشود | Target به desired profile همگرا و observed health از runtime خوانده شود | PLAN_FAILED قبل از اجرا؛ failure بعد از side effect وارد retry/rollback/operator path میشود |
| Import Existing Cluster | Identity discovery، access و capability inventory معتبر | Cluster بازسازی نمیشود؛ discovery/classification به Product authority متصل میشود | Target registered و capabilities مشاهدهشده و lifecycle eligibility روشن | Import ناقص enrolled/ready تلقی نمیشود؛ conflict نیازمند operator resolution است |
| Application Deploy | Immutable ApplicationRelease + EnvironmentBinding + exact artifact admissible | approval-gated deploy با target RBAC و bounded executor | Deployment/Service observed evidence با binding/release مورد انتظار match کند | Unknown outcome خودکار redispatch نمیشود؛ recovery read-only ابتدا نتیجه واقعی را پیدا میکند |
| Node Replace | Target/node identity، failure-domain و safety admission | Lease/fence از اجرای همزمان یا stale worker جلوگیری میکند | عضو جدید observed-ready و عضو قدیمی safely removed/drained | Lease loss یا conflict میتواند RETRY_WAIT یا NEEDS_OPERATOR ایجاد کند |
| Platform Upgrade | Compatibility/admission، backup/evidence و health اولیه | مرحلهای و distribution-aware؛ RKE2 و OKD semantics یکی فرض نمیشوند | Observed version/health و capability state پس از هر مرحله | Rollback فقط وقتی workflow underlying آن را پشتیبانی کند؛ در غیر این صورت recovery صریح |
| Disconnected Delivery | Source lock، inventory، digest و mirror inputs قبل از target mutation | acquire → verify → transfer/mirror → target admission | Artifact identity در zot/target mirror با inventory sealed برابر باشد | Mismatch/absence fail-closed؛ دانلود یا artifact جایگزین بیصدا مجاز نیست |
Stateهای شکست شامل PLAN_FAILED / FAILED / ROLLBACK_FAILED / NEEDS_OPERATOR / CANCELLED هستند. Retry فقط برای failure classهای مجاز انجام میشود؛ rollback یک ادعای عمومی نیست و باید توسط همان workflow پشتیبانی شود.
کاتالوگ عملیات
اپراتور با Target، Blueprint، Release و چرخهی عمر کار میکند؛ جزئیات ابزار زیرین پشت فرایند محصول باقی میمانند.
4SO Platform Factory برای ساخت پلتفرمهایی است که بعد از تحویل هم استاندارد، قابلمشاهده و قابلاداره میمانند.