مرجع الأوامر
كل مجموعة أوامر، وما تفعله، وأين يُشرح كل منها بالتفصيل.
كل أمر يقبل --help. هذه الصفحة هي الفهرس؛ والصفحات التي تُحيل إليها فيها
التفاصيل، أمّا الطرفية فهي دائمًا محدّثة.
لتثبيت الـ CLI، انظر تثبيت واجهة سطر الأوامر.
الخيارات العامّة
توضع هذه قبل اسم الأمر:
isogrid --api https://api.isogrid.skyvault.pro apps list
| الخيار | |
|---|---|
--api URL |
نقطة الوصول المستخدمة، بدل تلك التي سجّلت الدخول إليها آخر مرة. |
--organization SLUG |
العمل داخل هذه المؤسّسة. ويجب أن تكون هي المؤسّسة التي ثُبّتت عليها بيانات الاعتماد. |
والبيئة، للسكربتات وخطوط النشر:
| المتغيّر | |
|---|---|
ISOGRID_API_URL |
نقطة الوصول المستخدمة. |
ISOGRID_TOKEN |
بيانات الاعتماد المستخدمة، بدل المحفوظة. لا تُكتب على القرص أبدًا. |
ISOGRID_ORGANIZATION |
المؤسّسة التي يُعمل داخلها. |
ISOGRID_CONFIG_HOME |
مكان حفظ config.json. الافتراضي ~/.isogrid. |
ISOGRID_INSTALL_DIR |
المكان الذي تضع فيه أدوات التثبيت الملف التنفيذي. |
NO_COLOR |
تعطيل الألوان. وهي معطّلة أيضًا كلّما لم يكن المخرج طرفية. |
يُشار إلى الأشياء بالـ slug أو الاسم أو الـ id، ويمكن أن تأتي الخيارات قبل
الأسماء أو بعدها: isogrid apps deploy shop --wait وisogrid apps deploy --wait shop
أمر واحد.
تسجيل الدخول
isogrid login # opens a browser, approves this machine
isogrid logout [--revoke] # forgets the credential here; --revoke withdraws it on the server too
isogrid whoami # who you are, where, and what this credential may do
isogrid orgs list # the organizations you belong to, and which one is pinned
isogrid auth credentials # every credential issued for your account
isogrid auth revoke <id> # revoke one (from a browser session only)
يقبل login الخيار --scope a,b لطلب بعض الصلاحيات فقط، و--name لتسمية
بيانات الاعتماد، و--no-browser لطباعة العنوان بدل فتحه، و--force لاستبدال
بيانات اعتماد لديك أصلًا.
بيانات الاعتماد مثبّتة على مؤسّسة واحدة: تلك التي كنت تنظر إليها في المتصفّح
حين وافقت عليها. ولا يوجد orgs use عن قصد: فالأمر الذي يبدو أنه بدّل المؤسّسة
ثم عمل في مكان آخر أسوأ من عدم وجود أمر أصلًا. للعمل في مؤسّسة أخرى، بدّل المؤسّسة
في وحدة التحكّم وشغّل isogrid login --force.
لا تملك بيانات الاعتماد أبدًا أكثر ممّا تملكه أنت. ما توافق عليه سقف، يُفحص مقابل دورك في كل مرة. وهناك أشياء لا تستطيعها أبدًا: الفوترة، وتعيين المسؤولين، وإنشاء بيانات الاعتماد أو إبطالها. انظر الأدوار ومجموعات الصلاحيات والوصول.
أبطِل كل ما لا تعرفه، وبيانات الاعتماد الموجودة على أي جهاز لم تعد تتحكّم فيه. يسري الإبطال فورًا.
التطبيقات: isogrid apps
isogrid apps list
isogrid apps get <app> [--exact]
isogrid apps create --name NAME --url REPO_URL|IMAGE_REF [flags]
isogrid apps create --name NAME --external-image REF [--registry NAME] [flags]
isogrid apps update <app> [flags] [--deploy [--ref REF]]
isogrid apps build <app> [--ref REF]
isogrid apps deploy <app>
isogrid apps stop <app> | start <app>
isogrid apps status <app>
isogrid apps scale <app> [--replicas N] [--tier SIZE]
isogrid apps tiers <app>
isogrid apps logs <app> [--follow]
isogrid apps logs <app> --search QUERY [--since 1h] [--limit N]
isogrid apps env <app>
isogrid apps secrets <app>
isogrid apps delete <app> [--yes]
الإنشاء من GitHub أو GitLab أو من صورة، والبيئة والأسرار، والدمج مقابل
الاستبدال، وما يعدّه --wait فشلًا:
أتمتة التطبيقات.
ملفات stack: isogrid stack
isogrid stack preview (-f FILE|DIR... | --repo REPO [--provider github|gitlab] [--ref REF] --path PATH...)
[--stack NAME] [--region REGION] [--var KEY=VALUE]... [--var-file PATH] [--json]
isogrid stack apply (-f FILE|DIR... | --repo REPO [--provider github|gitlab] [--ref REF] --path PATH...)
[--stack NAME] [--var KEY=VALUE]... [--size [FILE:]SERVICE=TIER]...
[--registry [FILE:]SERVICE=NAME]... [--network [FILE:]SERVICE=NAME]... [--placement [FILE:]SERVICE=CONSTRAINT]...
[--port [FILE:]SERVICE=N]... [--skip [FILE:]SERVICE]... [--no-deploy] [--wait] [--timeout 20m]
ينشر ملف docker-compose أو docker stack، تطبيقًا واحدًا لكل خدمة باسم
<stack>-<service>، وتطبيقه مرّة أخرى يحدّثها. لا يُقرأ env_file ولا تُركَّب
الأقراص (volumes). ما يُطبَّق، وكيف يُختار التوزيع والسجلّات:
نشر ملف stack.
يقبل -f مجلّدًا ويمكن تكراره، ويقرأ --repo/--path مستودعًا متّصلًا بدلًا منه. مع عدّة ملفات يصبح --stack بادئة (<البادئة>-<اسم الملف>)، ويستهدف FILE:SERVICE=... ملفًّا واحدًا.
سجلّات الحاويات: isogrid registries
isogrid registries list
isogrid registries add --name NAME --kind KIND [--host HOST] --username USER --password-stdin [--no-verify]
isogrid registries update <registry> [--name NAME] [--username USER] [--password-stdin]
isogrid registries test <registry>
isogrid registries remove <registry> [--yes]
يستجيب registries أيضًا للاسم registry. تُقرأ كلمة المرور أو الرمز المميّز من
الدخل القياسي أو من ISOGRID_REGISTRY_PASSWORD، ولا تُقرأ من خيار أبدًا. انظر
سجلّات حاويات أخرى.
النشر من CI/CD: isogrid ci
isogrid ci init github|gitlab [--app NAME] [--cluster REGION] [--output PATH]
يكتب خطّ نشر جاهزًا للإيداع ينشر عند كل دفع. وإنشاء بيانات اعتماد له، والقوالب كاملة، وما العمل حين تفشل مهمّة: النشر من CI/CD.
المستودعات: isogrid repos
isogrid repos list
isogrid repos access <repo> --visibility private|administrators|organization|inherit
isogrid repos grant <repo> (--member EMAIL | --group SLUG) --preset NAME
isogrid repos grants <repo>
isogrid repos revoke <repo> <grant>
الأعضاء والمجموعات: isogrid iam
isogrid iam members
isogrid iam groups list | get | create | update | delete
isogrid iam groups add-member <group> <email>
isogrid iam groups remove-member <group> <email>
isogrid iam permissions
كلاهما مشروح بأمثلة في المستودعات والمجموعات والصلاحيات.
قواعد البيانات: isogrid database
isogrid database list
isogrid database instances
isogrid database create <name> [--instance ID]
يستجيب database أيضًا للاسم db.
تُطبع بيانات الاعتماد مرة واحدة، عند إنشاء قاعدة البيانات، ولا يمكن استرجاعها بعد ذلك. إن كنت تؤتمت هذا في سكربت، فالتقط المخرج؛ وإن أضعتها، فأنشئ بيانات اعتماد جديدة. انظر قواعد البيانات.
المناطق: isogrid regions
isogrid regions list [--all]
لا تُسرد افتراضيًا إلا المناطق التي تقبل عملًا جديدًا. والمنطقة قيد التفريغ تظلّ
تخدم ما عليها لكنها لا تأخذ شيئًا جديدًا. ويعرض --all كل ما لديك حقّ الوصول إليه.
التوثيق: isogrid docs
isogrid docs search <term> [--language en|fr|ar]
isogrid docs show <section>/<slug> [--language en|fr|ar]
isogrid docs list [--section guide]
تعمل هذه دون تسجيل الدخول. يطبع docs show نصّ Markdown كما كُتب، فالأمر
المنسوخ من صفحة هو الأمر نفسه. وتذهب التنبيهات إلى مخرج الأخطاء القياسي، فينتج
isogrid docs show guide/databases > databases.md ملفًا نظيفًا.
الـ CLI نفسها
isogrid update [--check] # replace this executable with the platform's current build
isogrid version
انظر تثبيت واجهة سطر الأوامر.
مخرجات للسكربتات
تقبل معظم الأوامر --json وتطبع ردّ واجهة API دون تغيير. وكل ما يقرؤه الإنسان
ولا يحتاجه السكربت — التقدّم، والأسئلة، والتلميحات — يذهب إلى مخرج الأخطاء
القياسي، فيعمل isogrid apps list --json | jq دون تصفية أي ضجيج.
رموز الخروج: 0 نجاح، و1 فشل (بما في ذلك نشر فاشل أو متراجَع عنه مع --wait)،
و2 خطأ في الاستخدام، أو أمر هدّام دون --yes ودون طرفية للتأكيد فيها.
حالات حدّية يحسن معرفتها قبل أن تصادفها
"not signed in" على جهاز سجّلت الدخول عليه. بيانات الاعتماد خاصّة بكل نقطة
وصول. إن مرّرت --api مرة، فقد سجّلت الدخول إلى تلك النقطة، وتظلّ النقطة
الافتراضية دون تسجيل دخول.
خطأ صلاحيات لا تعطيك إيّاه وحدة التحكّم. يمكن أن يُوافق على بيانات اعتماد
الـ CLI بنطاق أضيق ممّا يملكه حسابك. يبيّن isogrid whoami ما تحمله هذه
البيانات؛ ويأذن isogrid login --force ببيانات اعتماد أوسع.
انتهت صلاحية بيانات اعتمادك. سجّل الدخول مجدّدًا؛ ولا يتأثّر شيء آخر.
أمر يبدو معلّقًا. --follow مصمَّم ليبقى متّصلًا، و--wait ينتظر حتى
--timeout. والمقاطعة تُلغي الطلب الجاري بدل أن تقتل العملية أثناء الكتابة، فـ
Ctrl-C آمن.
سكربت يعمل تفاعليًا ويفشل في CI. السبب في الغالب بيانات الاعتماد: ISOGRID_TOKEN
غير مضبوط، أو مثبّت على مؤسّسة مختلفة. اجعل isogrid whoami أول خطوة في خطّ
النشر. انظر النشر من CI/CD.