طبقة دورة الحياة. API واحد.
api.hoody.com هو المكان الذي تُولَد فيه الحاويات. أنشئ، جمّد، التقط لقطة، انسخ عبر الخوادم، أدر الفواتير — كل ذلك من HTTP API واحد.
100+ نقطة نهاية. مواصفات OpenAPI لكل خدمة. رموز محدودة النطاق. توقف، لقطة، نسخ، مزامنة — كل شيء على نفس السطح.
# create a container
$ curl -X POST https://api.hoody.com/api/v1/projects/ID/containers \
-H "Authorization: Bearer hdy_..." \
-H "Content-Type: application/json" \
-d '{"name":"dev-box","container_image":"debian/13","cpu":2,"memory":4}'
<< 201 Created
{ "id": "67e89abc…", "status": "creating", "urls": ["terminal-1…", "files…", "display-1…", …] }
ست حالات. انتقالات صريحة.
تنتقل الحاويات عبر آلة حالة محددة. لكل انتقال نقطة نهاية، وكل انتقال يُسجَّل.
تجهيز نظام الملفات والموارد
نشط ويخدم روابطه
متوقف · التخزين يُحسَب
RAM مجمّد · استئناف فوري
خطأ أثناء عملية ما
نسخ غير متزامن قيد التقدم
POST/containers/ID/start
POST/containers/ID/stop
POST/containers/ID/force-stop
POST/containers/ID/restart
POST/containers/ID/pause
POST/containers/ID/resume
POST/containers/ID/network/start
POST/containers/ID/network/stop
جمّد العمل الجاري. التقط لقطة لأجهزة كاملة.
جمّد RAM مع تجميد/استئناف. التقط نظام الملفات والعمليات والذاكرة مع لقطات حالة. استعد إلى أي نقطة تفتيش.
نوم الحاوية، لا إغلاقها
- —حالة RAM مجمّدة في مكانها؛ الملفات المفتوحة واتصالات قواعد البيانات محفوظة
- —جمّد نموذج LLM في منتصف الاستدلال — استأنف دون إعادة تدفئة السياق
- —جمّد مهمة أتمتة ليلاً — استأنف في الصباح
- —POST /containers/ID/pause · POST /containers/ID/resume
Git للحواسيب
- —الإنشاء أثناء التشغيل = لقطة حالة (نظام ملفات + عمليات + ذاكرة)
- —الإنشاء أثناء التوقف = لقطة عديمة الحالة (نظام ملفات فقط)
- —اسم مستعار للقطة حتى 100 حرف، انتهاء صلاحية تلقائي اختياري بالأيام
- —POST /containers/ID/snapshots · PATCH /containers/ID/snapshots/NAME to restore
تفرّع من حاوية. حافظ عليها متزامنة.
انسخ الحالة الكاملة لحاوية — بما في ذلك تاريخ اللقطات — إلى خادم أو منطقة أخرى. المزامنة تُبقي النسخة محدّثة بشكل متزايد.
container-67e89abc…
server: node-us-east-1
container-abc1234d…
server: node-eu-west-1
target_project_id للنسخ عبر المشاريع
source_snapshot لنسخ حالة محددة
الوقت المعتاد: 3–5 دقائق نفس الخادم (50GB)، 10–15 دقيقة عبر الخوادم (50GB)
المزامنة تكتب فوق التغييرات المحلية على النسخة. إنها ليست ثنائية الاتجاه — تغييرات المصدر تتدفق إلى النسخة، والعكس غير صحيح.
العزل والفواتير أوليّات API
المجالات تحدد نطاق مضيف API نفسه. تقسيم المحفظة يمنع الاختراق من استنزاف ميزانية البنية التحتية.
تعدد مستأجرين على مستوى API
- —عملاء الذكاء الاصطناعي في المجال A حرفياً لا يمكنهم رؤية موارد المجال B
- —الرموز مقيّدة بمجالات محددة عبر realm_ids
- —عزل المجال يجلس فوق RBAC المشروع — يغيّر مضيف API
الرصيد العام ورصيد الذكاء الاصطناعي
- —حمل عمل الذكاء الاصطناعي المخترَق لا يمكنه استنزاف ميزانية البنية التحتية
- —Stripe (متوافق مع PCI)، أكثر من 100 عملة مشفرة (NOWPayments)، تحويل مصرفي
- —فواتير PDF مولّدة تلقائياً · تاريخ معاملات مع ترقيم الصفحات
كامل واجهة API
مجموعة حسب المورد. كل نقطة نهاية لها مواصفة OpenAPI.
المصادقة والرموز
أكثر من 25 نقطة نهاية
OAuth، تسجيل، تسجيل الدخول JWT/تجديد/خروج، 2FA مع رموز احتياطية، رموز hdy_ طويلة الأمد مع قائمة IP CIDR البيضاء
الحاويات ودورة الحياة
أكثر من 20 نقطة نهاية
CRUD، إحصاءات، بدء/إيقاف/تجميد/استئناف/إعادة تشغيل، قواعد جدار الحماية، بدء/إيقاف الشبكة
اللقطات والنسخ والمزامنة
أكثر من 10 نقاط نهاية
CRUD للقطات مع اسم مستعار وانتهاء صلاحية، نسخ غير متزامن عبر الخوادم، مزامنة تدريجية أحادية الاتجاه
المحفظة والفواتير
أكثر من 20 نقطة نهاية
الأرصدة، المعاملات، طرق الدفع (Stripe + عملات مشفرة + تحويل مصرفي)، المدفوعات، الفواتير بصيغة PDF، توليد الرمز
المجالات والمشاريع
أكثر من 5 نقاط نهاية
قائمة المجالات مع إحصاءات الاستخدام الاختيارية، CRUD المشروع، قائمة الحاويات المقيّدة بالمشروع
أسماء مستعارة للبروكسي · أذونات · سجلات
31 نقطة نهاية
يخدمها Control Plane لكن موثّقة في /platform/proxy — الأسماء المستعارة (6)، الأذونات (17)، السجلات (8)
تنشر كل خدمة مواصفات OpenAPI الخاصة بها (مثل Hoody SQLite و Hoody Terminal و Hoody Cron) — أنشئ عملاء مكتوبة في أي لغة.
ما يطلب منك التنسيق التقليدي تجميعه
Terraform وkubectl وAWS SDK وDocker daemon APIs تغطي كل منها جزءاً مما يغطيه Control Plane. لا أيٌّ منها يدمج الفواتير والمصادقة ودورة الحياة.
| الإمكانية | Control Plane | المجموعة التقليدية |
|---|---|---|
| CRUD الحاوية | POST /projects/ID/containers | مزود Terraform + وحدة + تطبيق |
| تجميد حالة RAM | POST /containers/ID/pause · /resume | لا مكافئ مباشر (VMware suspend) |
| لقطة حالة التشغيل + RAM | POST /containers/ID/snapshots | سكربتات مخصصة + لقطات VM |
| نسخ عبر الخوادم | POST /containers/ID/copy + /sync | rsync + تهيئة يدوية + إعادة التسجيل |
| عزل API متعدد المستأجرين | realm_ids[] · REALM.api.hoody.com | طبقات RBAC + انضباط مساحات الأسماء |
| فواتير موحدة + رصيد LLM | general → AI transfer (one-way) | Stripe + فاتورة مزود LLM منفصلة |
| ردود API موقّعة | X-Hoody-Signature (ED25519) | TLS فقط (المحتوى غير موقّع) |
| عميل مكتوب من المواصفة | GET /api/v1/openapi.json | اكتب SDK بنفسك |
عندما تحتاج نموذج plan/apply لـ Terraform أو جدولة kubectl أو الخدمات المُدارة لـ AWS، استخدمها. Control Plane هو لمن يريد إدارة دورة حياة الحاوية عبر HTTP API.
حاويتك الأولى تحتاج POST واحداً.
احصل على رمز API، اختر صورة، وحاوتيك لديها كل رابط خدمة Kit قبل الاستجابة HTTP 201.
راجع أيضاً — /platform/proxy لمعرفة كيف تُوجَّه تلك الروابط وتُصادق.