سطر الأوامر
مرجع cdnctl
مرجع كامل لـcdnctl (الإصدار v0.12.x). تُخرج جميع الأوامر بصيغة JSON. يُخزَّن رمز المصادقة في ~/.cdnctl/config.json أو يُقرأ من متغيرات البيئة CDNCTL_TOKEN وCDNCTL_ENDPOINT.
delete أو revoke يتطلب علامة صريحة --yes. دون ذلك، يخرج الأمر بخطأ ولا يجري أي تغييرات.
التثبيت والتحديث
يتوفر cdnctl كملف تنفيذي (binary) ثابت لأنظمة Linux وmacOS وWindows (amd64/arm64). لا يتطلب PHP أو Python أو Node.js أو kubectl.
install
curl -fsSL https://cdn.com.tr/downloads/cdnctl/install.sh | sh
# pin a specific version
CDNCTL_VERSION=0.12.0 curl -fsSL https://cdn.com.tr/downloads/cdnctl/install.sh | sh
يقوم بتنزيل أحدث إصدار لنظام تشغيلك، والتحقق منه مقابل الـ checksums المنشورة، ثم تثبيت الملف التنفيذي.
update
cdnctl update --check
cdnctl update --yes
cdnctl update --version <version> --yes
يحدّث الملف التنفيذي المثبَّت ذاتياً من قناة الإصدارات العامة. يتم التحقق من الأرشيف المُنزَّل مقابل ملف الـ checksum المنشور قبل استبدال الملف التنفيذي.
| الراية | الوصف | |
|---|---|---|
| --check | اختياري | الإبلاغ فقط عن وجود إصدار أحدث دون تغيير أي شيء |
| --yes | اختياري | تطبيق التحديث دون طلب تأكيد |
| --version | اختياري | التحديث (أو التراجع) إلى إصدار محدد بدلاً من الأحدث |
| --bin-dir | اختياري | دليل التثبيت عندما يكون مسار الملف التنفيذي الحالي غير قابل للكتابة. الافتراضي: $HOME/.local/bin. متغير البيئة: CDNCTL_BIN_DIR |
المصادقة والإعداد
login
cdnctl login --email <email> --password <password> [--endpoint <url>]
يقوم بالمصادقة وحفظ رمز (token) في ~/.cdnctl/config.json. استخدمه مرة واحدة لكل جهاز؛ يُعاد استخدام الرمز في الأوامر اللاحقة.
| الراية | الوصف | |
|---|---|---|
| مطلوب | عنوان البريد الإلكتروني للحساب | |
| --password | مطلوب | كلمة مرور الحساب |
| --endpoint | اختياري | عنوان URL الأساسي لواجهة API. الافتراضي https://cdn.com.tr |
configure
cdnctl configure [--endpoint <url>] [--token <token>]
يضبط نقطة النهاية (endpoint) أو الرمز يدوياً دون تسجيل الدخول. مفيد لبيئات CI أو الأتمتة المعتمدة على الرموز.
| الراية | الوصف | |
|---|---|---|
| --endpoint | اختياري | عنوان URL الأساسي لواجهة API |
| --token | اختياري | رمز الحامل (Bearer token). بدلاً من ذلك يمكن تعيين متغير البيئة CDNCTL_TOKEN |
CDNCTL_TOKEN وCDNCTL_ENDPOINT تتجاوزان ملف الإعداد، وهما مفيدتان لخطوط أنابيب CI حيث الكتابة على القرص غير مثالية.
الحسابات
accounts list
cdnctl accounts list
يسرد جميع حسابات CDN المتاحة للمستخدم المصادَق عليه (بصيغة JSON كاملة). يُستخدم حقل uuid كقيمة لـ --account في جميع الأوامر الأخرى.
accounts ls
cdnctl accounts ls
نسخة مختصرة وسهلة القراءة من القائمة — سطر واحد لكل حساب يتضمن فقط uuid والنطاق (domain) والنوع. مفيدة لإيجاد الـ uuid لحفظه كحسابك الافتراضي.
accounts use / current / clear
cdnctl accounts use <uuid>
cdnctl accounts current
cdnctl accounts clear
احفظ حساباً افتراضياً مرة واحدة حتى لا تضطر لتمرير --account <uuid> في كل أمر. بعد accounts use، تستخدم الأوامر المرتبطة بالحساب الحساب المحفوظ تلقائياً (وتطبع (using saved account <uuid>) لتعرف أيها يُستخدم)؛ يمكنك تمرير --account في أي وقت لتجاوزه. يعرضه current، وينساه clear.
الوصول إلى الملفات (رفع وإدارة ملفاتك)
قم برفع الملفات وسردها وحذفها في موقع WordPress المُدار الخاص بك مباشرة من سطر الأوامر — بدون FTP، وبدون حد أقصى لحجم الرفع. استخدم هذا بدلاً من الرفع عبر المتصفح إذا واجهت خطأ 413 Request Entity Too Large. المسارات نسبية إلى wp-content الخاص بموقعك، لذا يمكنك الوصول إلى uploads/ وplugins/ وthemes/ وغيرها. لن ترى سوى ملفات حسابك أنت فقط.
Set your account once
cdnctl accounts use <uuid>
حتى لا تحتاج أوامر الملفات أدناه إلى --account في كل مرة. (شغّل cdnctl accounts ls لإيجاد الـ uuid الخاص بك.)
List files — files ls
cdnctl files ls # lists wp-content (uploads, plugins, themes, …)
cdnctl files ls --path uploads
cdnctl files ls --path uploads/2026
بدون --path يسرد جذر wp-content.
Upload files — cp
cdnctl cp ./photo.jpg /uploads/photo.jpg
cdnctl cp ./backup.zip /uploads/backup.zip
cdnctl cp ./my-plugin.php /plugins/my-plugin/my-plugin.php
# upload a whole folder recursively (structure is preserved):
cdnctl cp -r ./my-folder /uploads/my-folder
أضف -r لرفع دليل كامل — يُعاد إنشاء بنية المجلد المحلي تحت الوجهة (تُنشأ المجلدات الأصل تلقائياً، وتُتجاهل المجلدات الفارغة). لا تستبدل عمليات الرفع أبداً ملفاً موجوداً ما لم تضف --force. يمكنك أيضاً كتابة الحساب صراحةً كـ <uuid>:/uploads/photo.jpg بدلاً من حفظ حساب افتراضي.
| الراية | الوصف | |
|---|---|---|
-r | رفع دليل بشكل تكراري (recursively). | |
--force | استبدال الملفات الموجودة بالفعل. |
Create a folder — files mkdir
cdnctl files mkdir --path /uploads/2026/07
Delete a file — files rm
cdnctl files rm --path /uploads/photo.jpg --yes
يتطلب --yes. يمكن حذف الملفات فقط (تُرفض المجلدات).
Container Apps
container apps list
cdnctl container apps list --account <uuid>
يسرد جميع تطبيقات الحاوية ضمن الحساب.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
container apps create
cdnctl container apps create \
--account <uuid> \
--name <name> \
--image <registry/image> \
[--tag <tag>] \
[--port <port>] \
[--healthcheck <path>] \
[--healthcheck-type http|tcp|none] \
[--metrics-port <port>] \
[--metrics-path <path>] \
[--replicas <n>] \
[--plan <code>] \
[--domain <domain>] \
[--env-json '{"KEY":"value"}'] \
[--secrets-json '{"SECRET":"value"}'] \
[--registry-credential <uuid>] \
[--persistent-mount-path <path>] \
[--persistent-storage-gb <n>]
ينشئ سجل تطبيق حاوية جديد ومراجعة أولى. لا يقوم بالنشر — شغّل deploy بعد الإنشاء.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --name | مطلوب | اسم التطبيق (آمن للاستخدام كـ slug) |
| --image | مطلوب | مسار صورة الحاوية، مثال: registry.example.com/acme/api |
| --tag | اختياري | وسم الصورة (tag). الافتراضي: سلسلة فارغة |
| --port | اختياري | منفذ الحاوية الذي يستمع إليه التطبيق. الافتراضي: 8080 |
| --healthcheck | اختياري | مسار فحص الصحة عبر HTTP. الافتراضي: /health |
| --healthcheck-type | اختياري | نوع فحص الصحة: http أو tcp أو none |
| --metrics-port | اختياري | المنفذ الذي يعرض مقاييس Prometheus |
| --metrics-path | اختياري | المسار الذي يعرض مقاييس Prometheus، مثال: /metrics |
| --replicas | اختياري | عدد النسخ المتماثلة (replicas). الافتراضي: 1 |
| --plan | اختياري | رمز خطة الموارد. الافتراضي: starter |
| --domain | اختياري | نطاق مخصص لإرفاقه |
| --env-json | اختياري | كائن JSON لمتغيرات البيئة. القيم مرئية في استجابات GET. |
| --secrets-json | اختياري | كائن JSON للأسرار (secrets). القيم مشفّرة ولا تُعاد أبداً بعد الإنشاء. |
| --registry-credential | اختياري | معرّف UUID لبيانات اعتماد السجل (registry) الخاصة بالصور الخاصة |
| --persistent-mount-path | اختياري | مسار التحميل (mount) للحجم الدائم، مثال: /app/data |
| --persistent-storage-gb | اختياري | حجم الحجم الدائم بالجيجابايت |
--secrets-json مشفرة ولا تُعاد في أي استجابة GET. احفظها قبل تشغيل هذا الأمر.
container apps update
cdnctl container apps update \
--account <uuid> \
--app <uuid> \
[--image <registry/image>] \
[--tag <tag>] \
[--port <port>] \
[--replicas <n>] \
[--healthcheck <path>] \
[--healthcheck-type http|tcp|none] \
[--metrics-port <port>] \
[--metrics-path <path>] \
[--domain <domain>] \
[--env-json '{"KEY":"value"}'] \
[--secrets-json '{"SECRET":"value"}'] \
[--registry-credential <uuid>] \
[--persistent-mount-path <path>]
يحدّث إعدادات التطبيق. تُغيَّر فقط الرايات (flags) التي تمررها. شغّل deploy بعد التحديث لنشر المراجعة الجديدة.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --image | اختياري | مسار الصورة الجديد |
| --tag | اختياري | وسم الصورة الجديد |
| --port | اختياري | منفذ الحاوية |
| --replicas | اختياري | عدد النسخ المتماثلة |
| --healthcheck | اختياري | مسار فحص الصحة |
| --healthcheck-type | اختياري | نوع فحص الصحة: http أو tcp أو none |
| --metrics-port | اختياري | المنفذ الذي يعرض مقاييس Prometheus |
| --metrics-path | اختياري | المسار الذي يعرض مقاييس Prometheus |
| --domain | اختياري | النطاق المراد إرفاقه. مرّر سلسلة فارغة للإزالة. |
| --env-json | اختياري | يستبدل جميع متغيرات البيئة بهذا الكائن JSON |
| --secrets-json | اختياري | يستبدل جميع الأسرار بهذا الكائن JSON. القيم لا تُعاد أبداً. |
| --registry-credential | اختياري | معرّف UUID لبيانات اعتماد السجل. مرّر سلسلة فارغة للإزالة. |
| --persistent-mount-path | اختياري | مسار التحميل الدائم. مرّر سلسلة فارغة للتعطيل. |
container apps deploy
cdnctl container apps deploy --account <uuid> --app <uuid>
ينشر التكوين الحالي كمراجعة جديدة. استخدم wait بعد ذلك للانتظار حتى يصل النشر إلى حالة مستهدفة.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container apps expose
cdnctl container apps expose --account <uuid> --app <uuid>
يُنشئ نطاقاً فرعياً دائماً وثابتاً بصيغة <uid>.cdn.com.tr للتطبيق. لا يتغير هذا النطاق الفرعي أبداً حتى عند تحديث نطاق مخصص.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container apps restart
cdnctl container apps restart --account <uuid> --app <uuid>
يقوم بإعادة تشغيل متدرجة (rolling restart) لجميع النسخ المتماثلة العاملة دون إنشاء مراجعة جديدة.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container apps scale
cdnctl container apps scale --account <uuid> --app <uuid> --replicas <n>
يغيّر عدد النسخ المتماثلة فوراً دون إنشاء مراجعة جديدة. مرّر 0 لتصفير التطبيق (scale to zero).
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --replicas | مطلوب | عدد النسخ المتماثلة المستهدف (استخدم 0 لتعليق التطبيق) |
container apps show
cdnctl container apps show --account <uuid> --app <uuid>
يُعيد تكوين التطبيق الكامل بما في ذلك قائمة المراجعات. استخدم معرّفات UUID للمراجعات من هذا الإخراج مع rollback.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container apps rollback
cdnctl container apps rollback --account <uuid> --app <uuid> --revision <revision_uuid>
يعيد نشر مراجعة سابقة. استخدم show لسرد معرّفات UUID للمراجعات المتاحة.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --revision | مطلوب | معرّف UUID للمراجعة (revision) المراد التراجع إليها (من show) |
container apps operations
cdnctl container apps operations --account <uuid> --app <uuid>
يسرد جميع عمليات المنصة المسجَّلة للتطبيق، مثل عمليات النشر وإعادة التشغيل وأحداث التحجيم (scale).
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container apps status
cdnctl container apps status --account <uuid> --app <uuid>
يُعيد حالة وقت التشغيل الحالية ونتيجة آخر عملية للتطبيق.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container apps wait
cdnctl container apps wait \
--account <uuid> \
--app <uuid> \
--status <target> \
[--timeout <seconds>] \
[--interval <seconds>]
يستطلع حالة التطبيق حتى يصل إلى --status أو انتهاء المهلة. يخرج بالرمز 0 عند النجاح، و1 عند الفشل أو انتهاء المهلة. عند الفشل، يتضمن إخراج diagnose تلقائياً.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --status | مطلوب | سلسلة الحالة المستهدفة، مثال: running |
| --timeout | اختياري | الحد الأقصى للثواني للانتظار. الافتراضي: 300 |
| --interval | اختياري | فاصل الاستطلاع بالثواني. الافتراضي: 5 |
container apps logs
cdnctl container apps logs --account <uuid> --app <uuid> [--tail <n>]
يُعيد أحدث أسطر سجل الحاوية (container log).
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --tail | اختياري | عدد أسطر السجل المراد إرجاعها. الافتراضي: 100 |
container apps diagnose
cdnctl container apps diagnose --account <uuid> --app <uuid> [--tail <n>]
يُعيد لقطة مجمّعة من الحالة والسجل. تُستخدم تلقائياً بواسطة wait عند الفشل. شغّل هذا أولاً عندما يكون التطبيق عالقاً أو متعطلاً.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --tail | اختياري | عدد أسطر السجل المراد تضمينها. الافتراضي: 120 |
container apps delete
cdnctl container apps delete --account <uuid> --app <uuid> --yes
يحذف التطبيق وجميع مراجعاته نهائياً. هذه العملية لا رجعة فيها.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --yes | مطلوب | التأكيد الصريح مطلوب للعمليات المدمرة |
Container Preflight
شغّل preflight قبل إنشاء التطبيقات للتحقق من أن الحساب يستوفي جميع متطلبات المنصة الأساسية (الحصص، سياسات الشبكة، الوصول إلى السجل، إلخ).
container preflight
cdnctl container preflight --account <uuid>
يتحقق من أن الحساب جاهز لتشغيل أحمال عمل الحاويات ويُعيد قائمة بأي مشاكل تم العثور عليها.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
بيانات اعتماد السجل
بيانات اعتماد السجل مرتبطة بنطاق الحساب ويمكن إعادة استخدامها عبر التطبيقات. تُخزَّن كلمة المرور مشفّرة ولا تُعاد أبداً بعد الإنشاء.
container registry-credentials list
cdnctl container registry-credentials list --account <uuid>
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
container registry-credentials create
cdnctl container registry-credentials create \
--account <uuid> \
--name <name> \
--password <token> \
[--registry-url <url>] \
[--username <user>]
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --name | مطلوب | اسم ودود لهذا الاعتماد (credential) |
| --password | مطلوب | كلمة مرور السجل أو رمز الوصول |
| --registry-url | اختياري | عنوان URL للسجل. الافتراضي: https://index.docker.io/v1/ |
| --username | اختياري | اسم مستخدم السجل |
container registry-credentials delete
cdnctl container registry-credentials delete \
--account <uuid> \
--credential <credential_uuid> \
--yes
يزيل بيانات اعتماد السجل نهائياً. أي تطبيقات تشير إلى هذا الاعتماد ستفشل في سحب الصور في عملية النشر التالية.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --credential | مطلوب | معرّف UUID للاعتماد من registry-credentials list |
| --yes | مطلوب | التأكيد الصريح مطلوب للعمليات المدمرة |
الإضافات المُدارة
تُنشأ الإضافات (add-ons) وتُربط بالتطبيق تلقائياً. تُحقن بيانات الاعتماد كمتغيرات بيئة — دون الحاجة لإدخال المضيف أو المنفذ أو كلمة المرور يدوياً. شغّل deploy بعد تفعيل أو تعطيل أي إضافة.
container addons list
cdnctl container addons list --account <uuid> --app <uuid>
يسرد جميع الإضافات (add-ons) المرتبطة حالياً بالتطبيق.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container addons enable-database
cdnctl container addons enable-database \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>] \
[--storage-mb <n>] \
[--url-scheme <scheme>]
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --plan | اختياري | رمز خطة الموارد. الافتراضي: starter |
| --env-prefix | اختياري | بادئة متغير البيئة لبيانات الاعتماد المُحقّنة. الافتراضي: DB |
| --storage-mb | اختياري | حجم التخزين بالميجابايت |
| --url-scheme | اختياري | مخطط عنوان URL لقاعدة البيانات لمتغير DATABASE_URL، مثال: mysql+pymysql. الافتراضي: mysql |
container addons disable-database
cdnctl container addons disable-database --account <uuid> --app <uuid>
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container addons enable-redis
cdnctl container addons enable-redis \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>]
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --plan | اختياري | رمز خطة الموارد. الافتراضي: starter |
| --env-prefix | اختياري | بادئة متغير البيئة. الافتراضي: REDIS |
container addons disable-redis
cdnctl container addons disable-redis --account <uuid> --app <uuid>
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container addons enable-postgres
cdnctl container addons enable-postgres \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>] \
[--storage-mb <n>]
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --plan | اختياري | رمز خطة الموارد. الافتراضي: starter |
| --env-prefix | اختياري | بادئة متغير البيئة لبيانات الاعتماد المُحقّنة. الافتراضي: DATABASE |
| --storage-mb | اختياري | حجم التخزين بالميجابايت. الافتراضي: 10240 |
container addons disable-postgres
cdnctl container addons disable-postgres \
--account <uuid> \
--app <uuid> \
[--delete-data --confirmation <app_name>]
يعطّل إضافة Postgres. تُحفظ البيانات افتراضياً. مرّر --delete-data مع --confirmation لتدمير جميع البيانات نهائياً.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --delete-data | اختياري | تدمير جميع بيانات Postgres نهائياً |
| --confirmation | اختياري | اسم التطبيق لتأكيد حذف البيانات عند تعيين --delete-data |
container addons enable-nats
cdnctl container addons enable-nats \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>] \
[--storage-mb <n>]
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --plan | اختياري | رمز خطة الموارد. الافتراضي: starter |
| --env-prefix | اختياري | بادئة متغير البيئة لبيانات الاعتماد المُحقّنة. الافتراضي: NATS |
| --storage-mb | اختياري | حجم تخزين JetStream بالميجابايت. الافتراضي: 5120 |
container addons disable-nats
cdnctl container addons disable-nats \
--account <uuid> \
--app <uuid> \
[--delete-data]
يعطّل إضافة NATS. مرّر --delete-data لتدمير جميع بيانات JetStream نهائياً.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --delete-data | اختياري | تدمير جميع بيانات NATS JetStream نهائياً |
استيراد Compose
استورد ملف docker-compose.yml موجود كتطبيقات حاوية مُدارة. الخدمات ذات الصورة الجاهزة مسبقاً تصبح تطبيقات؛ أما خدمات Redis وMySQL/MariaDB وPostgres وNATS فتُحوَّل إلى إضافات مُدارة مرتبطة بالتطبيقات التي تعتمد عليها. شغّل دائماً preview أولاً — فهو يعرض الخطة الناتجة والتحذيرات والخدمات غير المدعومة، وما إذا كان الاستيراد يتوافق مع حصة تطبيقاتك، دون إنشاء أي شيء.
container compose preview
cdnctl container compose preview --account <uuid> --file docker-compose.yml
يحلّل ملف compose على الخادم ويُعيد خطة الاستيراد: التطبيقات المراد إنشاؤها، وتخطيطات الإضافات، وتصنيف مفاتيح متغيرات البيئة/الأسرار، والتحذيرات، والخدمات غير المدعومة، وفحص الاستحقاق (entitlement). لا يُنشئ شيئاً. لا تُعاد قيم الأسرار أبداً — فقط أسماء المفاتيح.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --file | مطلوب | مسار ملف compose (بحد أقصى 256 كيلوبايت) |
container compose apply
cdnctl container compose apply --account <uuid> --file docker-compose.yml --yes
يطبّق الاستيراد: ينشئ التطبيقات حسب ترتيب الاعتماديات ويُفعّل الإضافات المُخطَّطة. الكل أو لا شيء — إذا تعارض اسم أي تطبيق مع تطبيق موجود، أو كانت أي خدمة غير مدعومة (مثل استخدام build:)، فلن يُنشأ أي شيء. انشر كل تطبيق أُنشئ بعد ذلك باستخدام container apps deploy.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --file | مطلوب | مسار ملف compose (بحد أقصى 256 كيلوبايت) |
| --yes | مطلوب | تأكيد إنشاء المورد |
build: (ادفع صورة مبنية مسبقًا بدلاً من ذلك)، تجاوزات command/entrypoint (أدرجها في الصورة)، env_file، أسرار compose المستندة إلى ملفات (secrets)، وأكثر من نقطة تحميل دائمة واحدة لكل خدمة. تُتجاهل أرقام منافذ جانب المضيف — يستخدم النشر العام نطاق المنصة وتدفق apps expose.
الاستيرادات
يجب أن تكتمل عمليات الاستيراد قبل أن يفتح النشر التوجيه العام (public routing). استخدم apps status أو apps wait لتتبع الجاهزية بعد انتهاء الاستيراد.
container imports list
cdnctl container imports list --account <uuid> --app <uuid>
يسرد جميع عمليات الاستيراد وحالتها الحالية للتطبيق.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container imports database
cdnctl container imports database \
--account <uuid> \
--app <uuid> \
--file <path/to/dump.sql.gz>
يرفع ويُدرج في قائمة الانتظار تفريغ SQL مضغوط بصيغة gzip للاستيراد إلى قاعدة البيانات المُدارة.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --file | مطلوب | المسار المحلي لملف .sql.gz |
container imports files
cdnctl container imports files \
--account <uuid> \
--app <uuid> \
--file <path/to/archive.tar.gz> \
[--target-path <path>]
يرفع ويستخرج أرشيف tar.gz إلى الحجم الدائم (persistent volume).
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --file | مطلوب | المسار المحلي لأرشيف .tar.gz |
| --target-path | اختياري | مسار الوجهة داخل الحاوية. الافتراضي: /app/data |
container imports cancel
cdnctl container imports cancel \
--account <uuid> \
--app <uuid> \
--import <import_uuid>
يلغي استيراداً في قائمة الانتظار أو قيد التنفيذ. ليس له أي تأثير إذا كان الاستيراد قد اكتمل بالفعل.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --import | مطلوب | معرّف UUID للاستيراد من imports list |
المهام المجدولة
المهام (Jobs) هي استدعاءات HTTP تُنفَّذ وفق جدول cron إلى نقطة نهاية (endpoint) داخل التطبيق. أنشئها معطّلة، وتحقق منها باستخدام run، ثم فعّلها.
container jobs list
cdnctl container jobs list --account <uuid> --app <uuid>
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
container jobs create
cdnctl container jobs create \
--account <uuid> \
--app <uuid> \
--name <name> \
--schedule "<cron expression>" \
--path </endpoint/path> \
[--method <POST|GET>] \
[--secret-header-name <header>] \
[--secret-source <ENV_VAR>] \
[--enabled]
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --name | مطلوب | اسم المهمة (job) |
| --schedule | مطلوب | تعبير cron، مثال: */30 * * * * |
| --path | مطلوب | مسار HTTP المراد استدعاؤه، مثال: /jobs/run |
| --method | اختياري | طريقة HTTP. الافتراضي: POST |
| --secret-header-name | اختياري | اسم الترويسة (header) لإرسال الرمز فيها، مثال: X-Token |
| --secret-source | اختياري | اسم سر التطبيق أو متغير البيئة الذي تُرسل قيمته كقيمة للترويسة |
| --enabled | اختياري | إنشاء المهمة مفعّلة. اتركه لإنشائها معطّلة (يُنصح به عند الإعداد لأول مرة) |
container jobs run
cdnctl container jobs run \
--account <uuid> \
--app <uuid> \
--job <job_uuid> \
[--wait] \
[--timeout <seconds>] \
[--interval <seconds>]
يُطلق تشغيلاً فورياً لمرة واحدة للمهمة. استخدم --wait للانتظار حتى اكتمال التشغيل أو فشله.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --job | مطلوب | معرّف UUID للمهمة من jobs list |
| --wait | اختياري | الحظر (الانتظار) حتى اكتمال التشغيل |
| --timeout | اختياري | الحد الأقصى للثواني للانتظار عند تعيين --wait. الافتراضي: 180 |
| --interval | اختياري | فاصل الاستطلاع بالثواني. الافتراضي: 5 |
container jobs delete
cdnctl container jobs delete \
--account <uuid> \
--app <uuid> \
--job <job_uuid> \
--yes
يزيل المهمة المجدولة نهائياً.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --job | مطلوب | معرّف UUID للمهمة من jobs list |
| --yes | مطلوب | التأكيد الصريح مطلوب للعمليات المدمرة |
التخزين الكائني (Object Storage)
استخدم cdnctl لطبقة التحكم: إنشاء الحاويات (buckets) ومفاتيح الوصول والربطات. للقراءة والكتابة على الكائنات استخدم أي عميل متوافق مع S3 موجّه إلى https://s3.cdn.com.tr. راجع دليل التخزين الكائني (Object Storage) باستخدام AWS CLI.
object-storage buckets list
cdnctl object-storage buckets list --account <uuid>
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
object-storage buckets create
cdnctl object-storage buckets create \
--account <uuid> \
--name <bucket-name> \
[--visibility private|public]
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --name | مطلوب | اسم الحاوية (bucket) (فريد عالمياً ضمن المنصة) |
| --visibility | اختياري | private أو public. الافتراضي: private |
object-storage buckets usage
cdnctl object-storage buckets usage --account <uuid> --bucket <bucket_uuid>
يُعيد إحصائيات استخدام التخزين الحالية للحاوية (bucket).
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --bucket | مطلوب | معرّف UUID للحاوية (bucket) من buckets list |
object-storage buckets delete
cdnctl object-storage buckets delete --account <uuid> --bucket <bucket_uuid> --yes
يحذف الحاوية (bucket) وجميع الكائنات بداخلها نهائياً. هذه العملية لا رجعة فيها.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --bucket | مطلوب | معرّف UUID للحاوية (bucket) من buckets list |
| --yes | مطلوب | التأكيد الصريح مطلوب للعمليات المدمرة |
object-storage access-keys create
cdnctl object-storage access-keys create \
--account <uuid> \
[--bucket <uuid>] \
[--name <name>]
ينشئ مفتاح وصول متوافقاً مع S3. يُعرض حقل secret_key في الاستجابة مرة واحدة ولا يُعاد أبداً بعد ذلك. انسخه قبل إغلاق الطرفية (terminal).
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --bucket | اختياري | معرّف UUID للحاوية (bucket) لتقييد المفتاح بها |
| --name | اختياري | اسم ودود للمفتاح |
object-storage access-keys rotate
cdnctl object-storage access-keys rotate --account <uuid> --key <key_uuid>
يُولّد سراً جديداً لمفتاح الوصول مع الإبقاء على نفس معرّف المفتاح UUID ونطاق الحاوية. يُعاد secret_key الجديد مرة واحدة ولا يُعاد أبداً مرة أخرى. حدّث أي عملاء (clients) قبل التدوير في بيئة الإنتاج.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --key | مطلوب | معرّف UUID لمفتاح الوصول من access-keys create |
object-storage access-keys revoke
cdnctl object-storage access-keys revoke --account <uuid> --key <key_uuid> --yes
يلغي ويحذف مفتاح الوصول نهائياً. أي عملاء لا يزالون يستخدمون هذا المفتاح سيتلقون أخطاء مصادقة فوراً.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --key | مطلوب | معرّف UUID لمفتاح الوصول المراد إلغاؤه |
| --yes | مطلوب | التأكيد الصريح مطلوب للعمليات المدمرة |
object-storage bindings create
cdnctl object-storage bindings create \
--account <uuid> \
--app <uuid> \
--bucket <uuid> \
[--access-key <uuid>] \
[--env-prefix <prefix>]
يربط حاوية (bucket) بتطبيق. تُحقن بيانات اعتماد S3 ونقطة النهاية (endpoint) كمتغيرات بيئة في عملية النشر التالية.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --bucket | مطلوب | معرّف UUID للحاوية (bucket) |
| --access-key | اختياري | معرّف UUID لمفتاح الوصول المراد استخدامه للربط |
| --env-prefix | اختياري | بادئة متغير البيئة. الافتراضي: S3 |
object-storage bindings delete
cdnctl object-storage bindings delete \
--account <uuid> \
--app <uuid> \
--binding <binding_uuid> \
--yes
يزيل ربط الحاوية من التطبيق. لا يتأثر كل من الحاوية ومفتاح الوصول؛ يُزال فقط حقن متغير البيئة في عملية النشر التالية.
| الراية | الوصف | |
|---|---|---|
| --account | مطلوب | معرّف الحساب الفريد (UUID) |
| --app | مطلوب | معرّف التطبيق الفريد (UUID) |
| --binding | مطلوب | معرّف UUID للربط (binding) من bindings list أو استجابة عرض التطبيق |
| --yes | مطلوب | التأكيد الصريح مطلوب للعمليات المدمرة |