Loading...

سطر الأوامر

مرجع 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. استخدمه مرة واحدة لكل جهاز؛ يُعاد استخدام الرمز في الأوامر اللاحقة.

الرايةالوصف
--emailمطلوبعنوان البريد الإلكتروني للحساب
--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مطلوبتأكيد إنشاء المورد
غير مدعوم في v1: الخدمات التي تستخدم 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مطلوبالتأكيد الصريح مطلوب للعمليات المدمرة