CLI
همهٔ پلتفرم از ترمینال. CLI یک کلاینت API عمومی است و چیزی جز آن نیست؛ هر دستور همان درخواستی را میفرستد که داشبورد میفرستد.
نصب و ورود#
curl -fsSL https://ibel.ai/install/install.sh | shنصبکننده یک فایل اجرایی تنها را از سرور خود ما (ibel.ai/install) میگیرد و چیز دیگری لازم ندارد. پیش از نصب، امضای فهرست چکسامها را با کلید انتشار ما و چکسام فایل را بررسی میکند و اگر یکی جور نباشد چیزی نصب نمیکند. در macOS و لینوکس در ~/.local/bin و در ویندوز در %LOCALAPPDATA%\cloudhost\bin نصب میشود (ویندوز این پوشه را به PATH کاربر اضافه میکند). بیلدها: macOS با تراشهٔ اپل و اینتل، لینوکس x64 و arm64 (glibc)، ویندوز x64. بستهٔ npm به Node.js نسخهٔ ۲۲ یا بالاتر نیاز دارد.
| تنظیم نصبکننده | کار |
|---|---|
CLOUDHOST_VERSION=1.2.0 | همان نسخه بهجای جدیدترین. |
CLOUDHOST_INSTALL_DIR=<dir> | جای نصب. |
CLOUDHOST_DOWNLOAD_URL=<url> | سرور دیگری با همین فایلها (مثلاً آینهٔ داخلی شرکت)؛ امضا همچنان بررسی میشود. |
| تنظیم | کار |
|---|---|
~/.config/cloudhost/config.json | آدرس API و یک کلید برای هر تیم، که cloudhost login و cloudhost teams switch گرفتهاند. برای خروج پاکش کنید. |
CLOUDHOST_API_KEY | کلید API، بهجای فایل؛ برای CI. |
CLOUDHOST_API_URL | آدرس دیگری برای API. پیشفرض https://api.ibel.ai. |
--api <url> | همان، فقط برای login. |
cloudhost help [command] | همهٔ دستورها و فلگها، یا یک دستور |
cloudhost status [show] | وضعیت خود سرویسها: هر بخش، دسترسپذیری ۹۰ روز، رخدادها و نگهداریهای باز؛ بدون ورود |
cloudhost status incidents [--limit <n>] | رخدادها و نگهداریهای گذشته، جدیدترین اول |
cloudhost status incident <id> | یک رخداد با همهٔ بهروزرسانیهایش |
cloudhost help همهٔ دستورها و فلگها را نشان میدهد و cloudhost help <دستور> یکی را. هر دستور --json میگیرد و پاسخ API را همانطور که هست چاپ میکند.
بهروزرسانی و امضا#
| دستور | کار |
|---|---|
cloudhost version | نسخهٔ CLI و اینکه چطور نصب شده (cloudhost --version هم همین را میگوید). |
cloudhost update | جدیدترین نسخهٔ امضاشده را از سرور ما میگیرد، بررسی و امتحان میکند و جای همین فایل میگذارد. اگر با npm نصب کردهاید، دستور npm را میگوید. |
cloudhost update --check | فقط میگوید نسخهٔ جدیدتری هست یا نه. |
cloudhost update --to <نسخه> | همان نسخه، حتی قدیمیتر. |
cloudhost update --notify off | بررسی روزانه و پیامش را خاموش میکند (on روشنش میکند). |
CLOUDHOST_NO_UPDATE_CHECK=1 | همان، با متغیر محیطی. در CI (CI تنظیم شده) هم بررسی نمیشود. |
CLI روزی یک بار، در پسزمینه و بیآنکه دستوری منتظر بماند، نگاه میکند که نسخهٔ جدیدی آمده یا نه و اگر آمده باشد یک خط در خروجی خطا مینویسد، آن هم روزی یک بار. با --json یا وقتی خروجی ترمینال نیست چیزی نمینویسد.
هر نسخه یک فهرست چکسام (SHA256SUMS) دارد که با کلید انتشار پلتفرم امضا شده است. کلید عمومی در https://ibel.ai/install/cli/release-key.pem است و درون نصبکنندهها و خود CLI هم هست؛ نصبکننده و cloudhost update هر فایلی را که با فهرست امضاشده جور نباشد رد میکنند. برای بررسی دستی:
curl -fsSLO https://ibel.ai/install/cli/latest/SHA256SUMS
curl -fsSLO https://ibel.ai/install/cli/latest/SHA256SUMS.sig
curl -fsSLO https://ibel.ai/install/cli/release-key.pem
openssl base64 -d -A -in SHA256SUMS.sig -out SHA256SUMS.bin
openssl dgst -sha256 -verify release-key.pem -signature SHA256SUMS.bin SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS # beside the files you downloadedفانکشنها و برنامهها#
همهٔ این دستورها برای فانکشن و برنامه یکیاند: cloudhost functions … یا cloudhost apps …. بدون هیچکدام، فانکشن فرض میشود.
| دستور | کار |
|---|---|
cloudhost init [name] | نوشتن cloudhost.toml در پوشهٔ فعلی |
cloudhost deploy | پروژهٔ cloudhost.toml همینجا را بساز و مستقر کن؛ Next.js و Astro روی سازندهٔ ما بیلد میشوند |
cloudhost deploy <name> <entry.ts> | استقرار یک فانکشن از یک فایل |
cloudhost apps deploy <name> <dir> [--function <entry.ts>] [--spa] | استقرار فایلهای استاتیک، با فانکشن اختیاری |
--var NAME=value · --date YYYY-MM-DD | متغیر (تکرارشدنی) و تاریخ محیط اجرا، برای deploy |
--db DB=shop · --cache CACHE=sessions · --bucket BUCKET=uploads | اتصال دیتابیس، کش یا باکت، برای deploy |
--branch <b> | پیشنمایش <b>--<name> بهجای پروداکشن، برای deploy و build |
cloudhost <apps|functions> list · create <name> | فهرست و ایجاد |
cloudhost <apps|functions> rename <name> <new-name> | تغییر نام؛ آدرس و پیشنمایشها به نام جدید میروند و آدرس قدیمی دیگر پاسخ نمیدهد (مالک یا ادمین) |
cloudhost <apps|functions> delete <name> | حذف با همهٔ نسخهها، پیشنمایشها، سکرتها و لاگها (مالک یا ادمین؛ اول cronها را حذف کنید) |
cloudhost <apps|functions> versions <name> · rollback <name> [--to <v>] | نسخهها و بازگشت |
cloudhost <apps|functions> checks <name> [build] · checks settings <name> · checks set <name> [--smoke on|off|/path] [--test <command>] [--typecheck on|off] [--require a,b] [--timeout <min>] [--scan none|high|critical] | التحقق از استقرار |
cloudhost <apps|functions> checks report <name> <build> <check> <status> [--summary <text>] [--url <url>] · checks rerun <name> <build> <check> · checks promote <name> <build> | گزارش و اجرای دوبارهٔ بررسیها |
cloudhost <apps|functions> vulns <name> [build] · vulns rescan <name> <build> | آسیبپذیری وابستگیها |
cloudhost <apps|functions> previews <name> · previews delete <name> <branch> | پیشنمایشها |
cloudhost build [name] [--branch b] · cloudhost <apps|functions> builds <name> | بیلد روی سرورهای ما با لاگ زنده، و تاریخچهٔ بیلد |
cloudhost <apps|functions> builds cancel <name> <build> · builds redeploy <name> <build> [--no-cache] | لغو بیلدِ در صف یا در حال اجرا، و بیلد دوبارهٔ همان کد (بدون کش بیلد با --no-cache) |
cloudhost <apps|functions> builds secrets <name> <build> · builds sbom <name> <build> [--output <file>] · builds provenance <name> <build> [--verify] | زنجیرهٔ تأمین: محل سکرتهای پیداشده در کد، فهرست اجزا (SBOM) و سند امضاشدهٔ منشأ بیلد و بررسی امضای آن |
cloudhost <apps|functions> build-config <name> · build-config set <name> <field> <value> · build-config clear <name> <field> | تنظیمات بیلد: پوشهٔ ریشه، گام نادیدهگرفتن بیلد، فرمانهای نصب و بیلد، پوشهٔ خروجی، نسخهٔ Node.js، اسکن سکرت و کش بیلد |
cloudhost <apps|functions> build-cache <name> · build-cache clear <name> | کش بیلد پروژه و خالیکردن آن |
cloudhost <apps|functions> env ls [--environment <env>] [--branch <branch>] [--project <name>] | متغیرهای محیطی پروژه: کلید، محیطها (production، preview، development)، شاخه و نوع؛ مقدارها نشان داده نمیشوند |
cloudhost <apps|functions> env add <KEY> [--environment <env>]… [--branch <branch>] [--sensitive] [--project <name>] | افزودن متغیر، خواندهشده بهصورت env.KEY. مقدار از اعلان (بینمایش) یا stdin خوانده میشود، هرگز از خط فرمان. پیشفرض: هر سه محیط، یا production و preview برای مقدار حساس. --branch فقط برای پیشنمایشهای آن شاخه است و بر مقدار preview برتری دارد. مقدار حساس هرگز دوباره نشان داده نمیشود و فقط جایگزین میشود. |
cloudhost <apps|functions> env rm <KEY> [--environment <env>]… [--branch <branch>] [--project <name>] | حذف متغیر: از همهجا، یا فقط از محیط یا شاخهٔ دادهشده |
cloudhost <apps|functions> env pull [file] [--environment <env>] [--branch <branch>] [--yes] [--project <name>] | نوشتن مقدارهای development (یا محیط دادهشده) در .env.local یا [file]. بدون --yes فایل موجود را بازنویسی نمیکند و نام فایل را به .gitignore میافزاید. مقدارهای حساس نوشته نمیشوند. |
cloudhost <apps|functions> secrets put <name> <KEY> · secrets list <name> · secrets delete <name> <KEY> | شکل قدیمی همان دستورها: secrets put متغیر حساس برای production و preview میگذارد (مقدار از stdin)، secrets list کلیدها را نشان میدهد و secrets delete کلید را از همهٔ محیطها برمیدارد |
cloudhost <apps|functions> crons <name> · crons set <name> "<cron>"… [--tz zone] · crons clear <name> | cronها |
cloudhost functions starters · cloudhost functions new <name> [--starter <id>] [--db DB=<database>] [--cache CACHE=<cache>] | نمونههای آماده؛ ایجاد و استقرار یک فانکشن از نمونه، همان که داشبورد ایجاد میکند |
cloudhost functions source <name> [dir] [--version <n>] · cloudhost functions source deploy <name> <file.js|dir> [--main <file.js>] [--no-deploy] | خواندن کد یک نسخه؛ استقرار فایلهای .js همانطور که هستند، بی بستهبندی، تا در ویرایشگر داشبورد باز شوند |
cloudhost apps upload <name> <dir|archive> [--branch <branch>] | آپلود پوشه، .zip یا .tar.gz: سایت استاتیک همان لحظه مستقر میشود، پروژهٔ فریمورکی بیلد میشود |
cloudhost <apps|functions> logs <name> [--limit n] · tail <name> · usage <name> [--from ISO] [--to ISO] | لاگ، لاگ زنده و مصرف |
cloudhost <apps|functions> stats <name> [--range 1h|24h|7d] | درخواستها، نرخ خطا و تأخیر (p50، p95، p99)، در کل و برای هر مسیر |
cloudhost domains ls [--project <name>] | دامنههای اختصاصی تیم (یا یک پروژه) و وضعیت هر کدام |
cloudhost domains add <domain> [--project <name>] [--www apex|www|none] [--redirect-to <domain>] [--redirect-status <code>] [--branch <branch>] | پروژه را روی دامنهٔ خودتان سرو کنید؛ رکوردهای DNS لازم را نشان میدهد (دامنهٔ اختصاصی) |
cloudhost domains inspect <domain> | وضعیت دامنه، رکوردهای DNS و گواهی آن |
cloudhost domains verify <domain> | همین حالا رکوردهای DNS را بررسی کن |
cloudhost domains rm <domain> | دیگر سرو نکن و گواهی را حذف کن |
دیتابیس، کش و فضای ذخیرهسازی#
| دستور | کار |
|---|---|
cloudhost db list · show <name> · create <name> · password <name> · delete <name> | دیتابیسها و رمز جدید |
cloudhost db branches <name> · branch <name> <branch> [--from b] [--at time | --lsn lsn] | شاخهها |
cloudhost db branch delete <name> <branch> · restore <name> <branch> --at <time> | حذف شاخه و بازگردانی به یک لحظه |
cloudhost db stats <name> [--range 1h|24h|7d] | مصرف محاسبه، اندازه، اتصالها، نرخ برخورد کش، تراکنشها و پرهزینهترین دستورها |
cloudhost cache list · create <name> [--memory 64] [--max-storage 256] [--no-eviction] · delete <name> | کشها |
cloudhost cache tokens <name> [create [--ro] | revoke <id>] | توکنهای کش |
cloudhost cache run <name> <COMMAND> [args…] | اجرای یک دستور کش |
cloudhost cache stats <name> [--range 1h|24h|7d] | کلیدها، نرخ برخورد و حجم نگهداریشده در برابر سقف، سپس دستورها، حافظه، بیرونرانیها و پهنای باند در طول زمان |
cloudhost cache update <name> [--memory <MB>] [--max-storage <MB>] [--eviction on|off] · cloudhost cache limits | تغییر حافظه، سقف حجم نگهداریشده یا بیرونرانی؛ و اندازهها، روزهای نگهداری نقطههای بازگشت و نرخ دستورها در طرح شما |
cloudhost cache checkpoints <name> · cloudhost cache checkpoint <name> · cloudhost cache restore <name> <checkpoint> [--to <new>] [--yes] | نقطههای بازگشت کش (۷ تا ۳۰ روز بسته به طرح)، گرفتن یکی همین حالا، و بازگرداندن روی همان کش (دادهها جایگزین میشوند) یا در یک کش جدید |
cloudhost buckets list · create <name> · delete <name> | باکتها |
cloudhost buckets stats <name> [--range 24h|7d|30d] | اندازه، تعداد آبجکت، خواندن، نوشتن و دانلود |
cloudhost storage credentials | ایجاد یا چرخاندن کلید ذخیرهسازی تیم (یک بار نشان داده میشود) |
صف و کار پسزمینه#
| دستور | کار |
|---|---|
cloudhost queues list | صفها، تعداد پیامهای منتظر و مصرفکنندهشان |
cloudhost queues create <name> [--visibility-timeout 30] [--max-retries 3] [--retry-delay 5] [--retention <seconds>] [--delay <seconds>] [--dead-letter-queue <queue>] | ایجاد صف |
cloudhost queues show <name> · cloudhost queues update <name> [same flags] | تنظیمات یک صف و تغییرشان |
cloudhost queues pause <name> · cloudhost queues resume <name> | توقف و ادامهٔ تحویل؛ در توقف هم ارسال پذیرفته میشود |
cloudhost queues delete <name> | حذف صف همراه پیامهایش (با تایید دومرحلهای) |
cloudhost queues consumer <name> [function] [--url <https://…>] [--pull] [--batch-size 10] [--batch-wait 1] [--concurrency 1] | مصرفکنندهٔ صف: یک فانکشن (هندلر queue(batch, env))، یک آدرس (POST امضاشده برای هر پیام) یا --pull |
cloudhost queues consumer clear <name> | برداشتن مصرفکننده؛ پیامها منتظر میمانند |
cloudhost queues consumer rotate-secret <name> | کلید امضای جدید برای مصرفکنندهٔ آدرس (یک بار نشان داده میشود) |
cloudhost queues send <name> <json | text | -> [--delay <seconds>] [--dedup <id>] | فرستادن یک پیام (JSON یا متن؛ - از ورودی استاندارد) |
cloudhost queues peek <name> [--state ready|delayed|in_flight] [--limit <n>] | نگاهی به پیامهای منتظر، بدون برداشتن آنها |
cloudhost queues pull <name> [--max 10] [--visibility-timeout <seconds>] | برداشتن پیام از صف کششی؛ پیش از پایان زمان تاییدشان کنید |
cloudhost queues ack <name> <lease>… [--retry] [--delay <seconds>] | تایید پیامهای برداشتهشده (با --retry: تحویل دوباره) |
cloudhost queues backlog <name> | پیامهای آماده، تأخیری و در حال تحویل همین حالا، و آمار هر دقیقه |
cloudhost queues dead-letters <name> [--limit <n>] | پیامهای این صف که تلاشهایشان تمام شده |
cloudhost queues dead-letters retry <name> [id…] [--limit <n>] | بازگرداندن پیامهای مرده به صف |
cloudhost queues dead-letters purge <name> | حذف پیامهای مردهٔ صف (با تایید دومرحلهای) |
cloudhost queues purge <name> | حذف همهٔ پیامهای صف |
cloudhost queues redrive <dead-letter queue> [--limit <n>] [--to <queue>] | بازگرداندن پیامهای صف مرده به صفی که از آن آمدهاند |
cloudhost queues stats <name> [--range 1h|24h|7d] | پیامهای منتظر، سن قدیمیترین، فرستادهشده، پردازششده، ناموفق و مرده |
cloudhost schedules list | زمانبندیها، مقصد و آخرین اجرا |
cloudhost schedules create "<cron>" --queue <name> | --function <name> | --url <https://…> [--name <name>] [--timezone Asia/Tehran] [--body <json>] | فرستادن پیام طبق زمانبندی (پیشفرض به وقت تهران) به صف، فانکشن یا آدرس |
cloudhost schedules show <id | name> | یک زمانبندی، اجرای بعدی و آخرین اجرا |
cloudhost schedules update <id | name> [--cron <cron>] [--timezone <zone>] [--body <json>] [--name <name>] [--pause] [--resume] | تغییر زمانبندی، یا توقف و ادامهٔ آن |
cloudhost schedules delete <id | name> | حذف زمانبندی |
cloudhost queues create emails --dead-letter-queue emails-dead
cloudhost deploy mailer mailer.ts --queue QUEUE=emails # env.QUEUE.send(...)
cloudhost queues consumer emails mailer --batch-size 20
cloudhost queues send emails '{"to":"a@example.com"}' --delay 30حساب، تیمها و صورتحساب#
| دستور | کار |
|---|---|
cloudhost whoami | کلید فعلی، تیم، ایمیل و نقش |
cloudhost teams list · teams switch <team> | تیمهایی که این رایانه به آنها وارد شده و تیم فعلی؛ تغییر تیم (بار اول در مرورگر تایید میکنید) |
cloudhost teams members · teams invite <email> [--role r] · teams invites delete <id> | اعضا و دعوتهای باز؛ دعوت با ایمیل؛ پس گرفتن دعوت |
cloudhost teams role <member> <role> · teams remove <member> · teams roles | تغییر نقش یک عضو (فقط مالک)، حذف عضو، و فهرست نقشها |
cloudhost teams limit <member> · teams unlimit <member> | محدود کردن یک توسعهدهنده یا بیننده به پروژههای برگزیده (فقط آنچه خودش و گروههایش دارند را میبیند)؛ برگرداندن دسترسی به کل تیم |
cloudhost access groups · access groups create <name> · access groups show <group> · access groups delete <group> | گروههای دسترسی تیم؛ ایجاد، نمایش اعضا و پروژهها، و حذف گروه |
cloudhost access groups add <group> <member> · access groups remove <group> <member> | افزودن یا برداشتن یک عضو از گروه |
cloudhost access allow <group|member email> <name> [--kind k] [--role developer|viewer] · access deny <group|member email> <name> [--kind k] | دادن نقش (توسعهدهنده یا بیننده) روی یک برنامه، تابع، دیتابیس، کش یا باکت به یک گروه یا عضو؛ گرفتن آن |
cloudhost access who <name> [--kind k] | چه کسانی به این پروژه یا فضای ذخیرهسازی دسترسی دارند |
cloudhost keys list · create <name> [--role r] [--expires days] · revoke <id> · rotate <id> | کلیدهای API |
cloudhost audit [--limit n] | گزارش تغییرها |
cloudhost billing [show] · billing usage [--period 1405-08] · billing transactions · billing prices | کیف پول، مصرف، تراکنشها و قیمتها |
cloudhost billing invoices · billing invoice <number|preview> | فاکتورها |
cloudhost billing topup <tomans> [--method m] · billing plan <pro|hobby> | لینک شارژ و تغییر پلن |
cloudhost billing tax · billing tax set --type person|company --legal-name … --national-id … [--economic-code …] [--postal-code …] [--address …] | اطلاعات مالیاتی روی فاکتورها (مالک، ادمین یا مالی) |
cloudhost billing budget · billing budget set <tomans|default> [--pause] | سقف ماهانهٔ مصرف (حرفهای)، مقدار مصرفشده، و اینکه سایتها در سقف متوقف شوند یا نه |
مبلغها در CLI به تومان نشان داده میشوند و API همه را به ریال میدهد.
هشدارها#
| دستور | کار |
|---|---|
cloudhost alerts list | قاعدهها و هشدارهای اخیر |
cloudhost alerts create <name> <metric> --above n|--below n [--window m] [--kind app|function] | هشدار روی یک تابع یا برنامه؛ metric یکی از error_rate، p95_ms، p99_ms یا requests |
--email · --sms · --webhook <url> · --bale-chat <chat> · --eitaa-chat <chat> | کانالها، برای alerts create؛ توکن بات بله یا ایتا از stdin خوانده میشود |
cloudhost alerts delete <id> · alerts test <id> | حذف قاعده و فرستادن هشدار آزمایشی (شناسه یا چند حرف اولش) |
cloudhost functions stats my-api --range 24h
cloudhost alerts create my-api error_rate --above 2% --email
# alert 3f9c1a2b: function my-api error_rate > 2% over 5 min → email
cloudhost alerts test 3f9cپشتیبانی#
| دستور | کار |
|---|---|
cloudhost support list [--status open|pending|closed|active] [--severity <s>] | تیکتهای پشتیبانی تیم (مالک و ادمین: همه؛ بقیه: آنچه خودشان باز کردهاند) |
cloudhost support open "<subject>" --category <c> [--severity <s>] [--resource kind:name] [--message "..."] [--file <path>] | باز کردن درخواست؛ پیام از --message یا stdin؛ فوری فقط در پلن حرفهای |
cloudhost support show <case> | یک درخواست و پیامهایش (شمارهٔ درخواست، مثلاً ۱۲) |
cloudhost support reply <case> [--message "..."] [--file <path>] | پاسخ روی درخواست؛ درخواست بسته دوباره باز میشود |
cloudhost support close <case> | بستن درخواست |
cloudhost support open "Deploys fail since this morning" --category function --severity high \
--resource function:my-api --file build.log --message "Every deploy fails at the build step."
# case #12 opened (high)
cloudhost support show 12
echo "It works now, thanks" | cloudhost support reply 12
cloudhost support close 12ریپازیتوریهای متصل#
| دستور | کار |
|---|---|
cloudhost git connections | همهٔ اتصالهای GitHub و GitLab تیم |
cloudhost git remote [name] [--add] | آدرس گیتِ ما برای یک پروژه، دستورهای push و ورود (رمز، کلید API است) |
cloudhost git connect <github|gitlab> [--url <gitlab address>] [--application <id>] | اتصال جدید: آدرسی را که باید باز کنید و تایید کنید چاپ میکند (GitLab خودمیزبان با --url؛ برنامهٔ خودتان با --application و سکرت از stdin) |
cloudhost git disconnect <connection> [--unlink] | حذف اتصال (مالک یا ادمین)؛ با --unlink پروژههای وابسته هم جدا میشوند |
cloudhost git repos <connection> [search] | ریپازیتوریهایی که اتصال میبیند و پروژههای متصلشده به آنها |
cloudhost <apps|functions> git link <name> <connection> <owner/repo> [--branch <production branch>] [--no-previews] | اتصال پروژه به ریپازیتوری: push به شاخهٔ پروداکشن، پروداکشن را مستقر میکند و هر شاخهٔ دیگر پیشنمایش میگیرد |
cloudhost <apps|functions> git show <name> | ریپازیتوری متصلشده به پروژه |
cloudhost <apps|functions> git unlink <name> | پایان بیلد از ریپازیتوری |
cloudhost <apps|functions> git deploy <name> [--branch <branch>] | همین حالا آخرین کامیت یک شاخه را بساز (پیشفرض: شاخهٔ پروداکشن) |
cloudhost <apps|functions> git import <name> <connection> <owner/repo> [--branch <production branch>] [--no-previews] | ایجاد پروژهٔ جدید از یک ریپازیتوری و ایجاد آن |
cloudhost git connect github
# open the printed address, choose the repositories, approve
cloudhost git connections
cloudhost git repos acme
cloudhost apps git import shop acme acme/shop
cloudhost apps git link docs acme acme/docs --branch release
cloudhost apps git deploy shop --branch feature/cartوبهوک، خروجی لاگ و ردیابی#
| دستور | کار |
|---|---|
cloudhost webhooks list [--project <name>] | وبهوکهای تیم (حرفهای ۲۰، رایگان ۱) |
cloudhost webhooks events | انواع رویدادی که وبهوک میتواند بخواهد |
cloudhost webhooks add <url> --events a,b [--project <name>] [--description "..."] | افزودن وبهوک؛ رمز امضا فقط یک بار نشان داده میشود |
cloudhost webhooks show <id> | یک وبهوک |
cloudhost webhooks update <id> [--url <url>] [--events a,b] [--description "..."] | تغییر آدرس، رویدادها یا یادداشت |
cloudhost webhooks enable <id> · cloudhost webhooks disable <id> | روشن یا خاموش کردن (پس از غیرفعال شدن بهخاطر شکست هم) |
cloudhost webhooks rm <id> | حذف وبهوک و گزارش ارسالهایش |
cloudhost webhooks rotate <id> | رمز امضای جدید؛ رمز قبلی کار نمیکند |
cloudhost webhooks test <id> | فرستادن یک ping و نمایش پاسخ |
cloudhost webhooks deliveries <id> [--status ok|failed|pending] [--limit <n>] | گزارش ارسالها: رویداد، پاسخ، تعداد تلاش |
cloudhost webhooks redeliver <id> <delivery> | ارسال دوبارهٔ یک رویداد ثبتشده |
cloudhost drains list [--project <name>] | خروجیهای گزارش تیم (حرفهای) با وضعیت سلامت |
cloudhost drains add <name> --kind https|syslog --url <url> [--project <name>] [--sources a,b] [--levels a,b] [--sampling <percent>] [--no-gzip] [--header Name:value] | فرستادن لاگها به آدرس شما: HTTPS (NDJSON) یا syslog روی TLS؛ رمز امضا یک بار نشان داده میشود |
cloudhost drains show <id> | سلامت یک خروجی و آخرین ارسالها |
cloudhost drains update <id> [--url <url>] [--sources a,b] [--levels a,b] [--sampling <percent>] [--no-gzip] | تغییر آدرس یا فیلترها |
cloudhost drains enable <id> · cloudhost drains disable <id> | روشن یا خاموش کردن؛ لاگها از همان لحظه جاری میشوند |
cloudhost drains rm <id> | حذف خروجی |
cloudhost drains test <id> | فرستادن یک خط آزمایشی |
cloudhost traces list [--project <name>] [--status 5xx] [--errors] [--min-ms <ms>] [--limit <n>] | ردیابیهای اخیر درخواستها |
cloudhost traces show <trace id> | یک ردیابی به شکل آبشار spanها |
cloudhost webhooks add https://example.com/hooks/deploys --events deployment.ready,deployment.failed --project shop
# signing secret (shown only now, keep it): whsec_…
cloudhost webhooks test 4f3a9c2e
cloudhost webhooks deliveries 4f3a9c2e --status failed
cloudhost drains add "errors" --kind https --url https://logs.example.com/ingest --levels warn,error \
--header "Authorization:Bearer $TOKEN"
cloudhost drains show 7b1d0e55
cloudhost traces list --project shop --status 5xx
cloudhost traces show 0123456789abcdef0123456789abcdefفیچر فلگها#
| دستور | کار |
|---|---|
cloudhost flags list [--project <name>] | فلگهای پروژه و مقدار هر محیط |
cloudhost flags add <key> [--type boolean|string|number|json] [--value <v>] [--description "..."] | ایجاد فلگ؛ مقدار اولیه برای همهٔ محیطها |
cloudhost flags show <key> | مقدار، قانونها و انتشار تدریجی هر محیط |
cloudhost flags set <key> <value> [--environment production|preview|development|all] [--branch <b>] | مقدار پیشفرض (وقتی هیچ قانون یا انتشاری اعمال نشود) |
cloudhost flags kill <key> [--environment <env>] [--branch <b>] | کلید قطع اضطراری: بلافاصله مقدار خاموش را بدهد |
cloudhost flags revive <key> [--environment <env>] [--branch <b>] | روشنکردن دوبارهٔ فلگِ قطعشده |
cloudhost flags rollout <key> <percent> --value <v> [--by <attribute>] [--environment <env>] | انتشار تدریجی: همان درصد کلیدها همیشه مقدار جدید را میگیرند |
cloudhost flags rule add <key> <attribute> <op> <values> --value <v> [--percentage <n>] | قانون هدفگیری (برابر، در فهرست، شامل…) |
cloudhost flags rule rm <key> <rule id> | حذف یک قانون |
cloudhost flags history <key> [--limit <n>] | چه کسی چه چیزی را تغییر داد |
cloudhost flags rollback <key> <version> | بازگرداندن فلگ به یک نسخهٔ تاریخچه (فلگ حذفشده را هم برمیگرداند) |
cloudhost flags rm <key> | حذف فلگ؛ تاریخچه میماند |
cloudhost flags eval <key> [--context <json>] [--environment <env>] [--branch <b>] | نتیجهای که یک فراخوان با این زمینه میگیرد و دلیلش |
cloudhost flags tokens | توکنهای فقطخواندنی برای خواندن فلگها با REST |
cloudhost flags tokens create [name] [--environment <env>] | توکن فقطخواندنیِ یک محیط (فقط یک بار نشان داده میشود) |
cloudhost flags tokens rm <id> | ابطال توکن |
cloudhost flags on <key> · cloudhost flags off <key> | روشن کردن فلگ، یا خاموش کردن فوری آن در همهجا |
cloudhost flags browser <key> <on|off> | آیا کلیدهای مرورگر این فلگ را میخوانند |
cloudhost flags segments · cloudhost flags segments show <key> | بخشها: فهرستهای کاربران برای قاعدهها |
cloudhost flags segments add <key> [--include <ids>] [--exclude <ids>] [--attribute <name>] | بخش جدید؛ در قاعده با عملگر in_segment |
cloudhost flags segments include <key> <ids> · cloudhost flags segments exclude <key> <ids> · cloudhost flags segments rm <key> | افزودن یا بیرون گذاشتن شناسهها، حذف بخش |
cloudhost flags keys · cloudhost flags keys create [name] [--kind server|browser] [--environment <env>] · cloudhost flags keys rm <id> | کلیدهای فلگ برای برنامههای بیرون از پلتفرم (OpenFeature) |
cloudhost flags audit [--limit <n>] | همهٔ تغییرهای فلگها و بخشها، جدیدترین اول |
cloudhost flags add new-checkout --type boolean --description "New checkout flow"
cloudhost flags rule add new-checkout email ends_with @acme.ir --value true --environment production
cloudhost flags rollout new-checkout 10 --value true --environment production
cloudhost flags kill new-checkout
cloudhost flags history new-checkout
cloudhost flags rollback new-checkout 3فایروال#
| دستور | کار |
|---|---|
cloudhost firewall [show] [--project <name>] | وضعیت، محافظتهای همیشه روشن، قاعدهها به ترتیب و سقفهای پلن |
cloudhost firewall rules | قاعدههای سفارشی به ترتیب اجرا |
cloudhost firewall add --name <n> --action deny|allow|log|rate_limit --if "<cond>" [--if …] [--or --if …] [--limit <n> --window <s> --key ip|header:<name> --then deny|log] [--position <n>] [--disabled] [--description "..."] | افزودن قاعده؛ --ifهای پشتسرهم «و»، --or گروه بعدی |
cloudhost firewall edit <id> [same flags] | تغییر قاعده؛ --if شرطها را جایگزین میکند |
cloudhost firewall enable <id> | روشن کردن قاعده |
cloudhost firewall disable <id> | خاموش کردن قاعده (در فهرست میماند) |
cloudhost firewall rm <id> | حذف قاعده |
cloudhost firewall move <id> <position> | جابهجایی قاعده در ترتیب (۰ اول اجرا میشود) |
cloudhost firewall check --ip <addr> [--country <CC>] [--method <m>] [--path <p>] [--host <h>] [--ua <ua>] [--header name=value] | قاعدهها با این درخواست چه میکنند |
cloudhost firewall metrics [--range 1h|24h|7d] | درخواستهای گذشته، ردشده، محدودشده و ثبتشده؛ برخورد هر قاعده؛ آدرسها و کشورهای متوقفشده |
cloudhost firewall audit [--limit <n>] | چه کسی فایروال را چطور تغییر داد |
cloudhost firewall add --project my-api --name "Block admin" --action deny --if "path starts /admin" --if "ip not in 10.0.0.0/8"
cloudhost firewall add --project my-api --name "Login limit" --action rate_limit --if "path eq /login" --limit 10 --window 60
cloudhost firewall check --project my-api --ip 203.0.113.7 --path /admin
cloudhost firewall move fwr_abc123def456 0 --project my-api
cloudhost firewall metrics --project my-api --range 1hمحافظت، انتشار و نسخهها#
| دستور | کار |
|---|---|
cloudhost protection [show] [--project <name>] | چه کسی پیشنمایشها (و پروداکشن) را باز میکند، توکن عبور و لینکهای اشتراکی |
cloudhost protection set [--previews off|team|password] [--production on|off] [--password <p>|-] [--options on|off] [--exceptions <domains>|none] | محافظت پیشنمایشها با ورود اعضای تیم یا رمز (رمز در پلن حرفهای)؛ دامنههای استثنا؛ عبور درخواستهای OPTIONS |
cloudhost protection bypass · cloudhost protection bypass rm | توکن عبور برای خودکارسازی (فقط یک بار نشان داده میشود) و حذف آن |
cloudhost protection sign-out | همهٔ بازدیدکنندهها دوباره وارد شوند |
cloudhost protection links · cloudhost protection link create [--label <t>] [--hours <n>] [--url <address>] · cloudhost protection link rm <id> | لینکهای اشتراکی که از محافظت میگذرند، با تاریخ انقضا و لغو (پلن حرفهای) |
cloudhost promote <version> | همین حالا این نسخه را در پروداکشن قرار بده (انتشار تدریجی را تمام میکند) |
cloudhost release [show] · cloudhost release list | انتشار تدریجی جاری، با درخواستها و خطاهای هر نسخه؛ و انتشارهای قبلی |
cloudhost release start <version> [--steps 10,25,50,100] [--every <minutes>] [--error-rate <percent>] | سهمی از ترافیک پروداکشن به نسخهٔ جدید، گام به گام؛ اگر خطاهایش از حد بگذرد خودش متوقف میشود |
cloudhost release set <percent> · cloudhost release next · cloudhost release stop | گام دستی (۱۰۰ یعنی پروداکشن)، گام بعدی برنامه، یا بازگشت همهٔ ترافیک |
cloudhost routing [show] · cloudhost routing set [--auto-promote on|off] [--skew on|off] [--skew-hours <h>] | استقرار بدون انتشار خودکار، و نگهداشتن نسخهٔ هر صفحهٔ باز (محافظت در برابر ناهمخوانی نسخه) |
cloudhost protection set --previews team --production off --project shop
cloudhost protection bypass --project shop
# bypass token (shown only now): chb_…
curl -H "x-protection-bypass: $TOKEN" https://feature-x--shop.app.trustpage.ir/
cloudhost routing set --auto-promote off --skew on --skew-hours 12
cloudhost release start 42 --steps 10,25,50,100 --every 30 --error-rate 2
cloudhost release stopسکرتها#
| دستور | کار |
|---|---|
cloudhost secrets projects · cloudhost secrets create <project> [--env production,preview,development] [--rotate-days 90] [--restricted] | پروژههای سکرت تیم؛ ایجاد پروژهٔ سکرت با محیطها، یادآوری چرخش و دسترسی محدود |
cloudhost secrets delete-project <project> | حذف پروژهٔ سکرت همراه سکرتها و توکنهایش (مالک یا ادمین؛ اول جدا کنید) |
cloudhost secrets list [--project <name>] [--env <env>] | نام، نوع و نسخهٔ سکرتها در هر محیط؛ مقدارها نشان داده نمیشوند |
cloudhost secrets get <NAME> [--env <env>] [--version <n>] | چاپ مقدار یک سکرت |
cloudhost secrets set <NAME> [--env a,b] [--type plain|sensitive] [--note <text>] | گذاشتن سکرت؛ مقدار از stdin یا پرسش پنهان، هرگز از خط فرمان |
cloudhost secrets rm <NAME> [--env <env>] | حذف سکرت با تاریخچهاش، یا فقط از یک محیط |
cloudhost secrets rotate <NAME> [--generate [--length 40]] | مقدار جدید از stdin، یا یک مقدار تصادفی که یک بار نشان داده میشود |
cloudhost secrets versions <NAME> [--env <env>] · cloudhost secrets rollback <NAME> --env <env> --to <n> | نسخههای یک سکرت؛ برگرداندن مقدار یک نسخهٔ قبلی |
cloudhost secrets import <FILE> [--env <env>] | افزودن سکرتهای یک فایل .env |
cloudhost secrets pull [--env <env>] [--file .env.local] [--yes] | نوشتن سکرتهای غیرحساس یک محیط در فایل .env با مجوز ۶۰۰؛ سکرتهای حساس نوشته نمیشوند |
cloudhost run [--project <name>] [--env <env>] -- <command...> | اجرای فرمان با سکرتها در متغیرهای محیطش؛ چیزی روی دیسک نوشته نمیشود؛ با توکن پروژه در CLOUDHOST_SECRETS_TOKEN هم کار میکند |
cloudhost secrets tokens [list] · cloudhost secrets tokens create <name> [--access read|write] [--env <env>] [--expires <days>] · cloudhost secrets tokens revoke <id> | توکنهای پروژه برای برنامهها، CI و سرورها (توکن یک بار نشان داده میشود) |
cloudhost secrets link --to <function|app> [--mode binding|variables] · cloudhost secrets unlink --to <function|app> | خواندن پروژه از یک فانکشن یا برنامه: env.SECRETS یا هر سکرت به شکل env.NAME؛ تغییرها بیاستقرار دوباره میرسند |
cloudhost secrets audit [--project <name>] · cloudhost secrets usage [--project <name>] | هر خواندن و تغییر سکرتها؛ سکرتهای ذخیرهشده، خواندنها و نوشتنهای این ماه |
cloudhost secrets create shop
printf %s "$STRIPE_KEY" | cloudhost secrets set PAYMENT_KEY --project shop --type sensitive
cloudhost secrets pull --project shop --env development
cloudhost run --project shop --env development -- npm run dev
cloudhost secrets link --project shop --to my-siteآمار بازدید و سرعت#
| دستور | کار |
|---|---|
cloudhost analytics [project] [--period 24h|7d|30d|90d|12mo] [--environment production|preview|all] [--path <p>] [--referrer <host>] [--country <CC>] [--device <d>] | بازدیدکنندهها، بازدید صفحه و نرخ پرش در برابر دورهٔ قبل، با صفحهها، ارجاعدهندهها، کشورها و دستگاههای پربازدید |
cloudhost analytics [project] --by path|referrer|country|device|os|browser [--limit <n>] | یک فهرست کامل (تا ۵۰۰ ردیف) |
cloudhost analytics list | همهٔ برنامهها و فانکشنهای تیم: چه روشن است و ۷ روز گذشته |
cloudhost analytics enable [project] [--web] [--speed] · cloudhost analytics disable [project] [--web] [--speed] | روشن یا خاموش کردن آمار بازدید و سرعت (یا فقط یکی)؛ روشن کردن، پلن حرفهای میخواهد |
cloudhost analytics settings [project] [--speed-sample <percent>] | وضعیت، نمونهٔ سرعت و برچسب اسکریپت؛ --speed-sample نمونه را عوض میکند |
cloudhost analytics delete [project] [--yes] | خاموش کردن هر دو و حذف کردن همهٔ شمارشها (اول میپرسد) |
cloudhost speed [project] [--device mobile|desktop] [--period <p>] [--route <route>] | امتیاز سرعت، صدک ۷۵ هر معیار با رتبهاش و کندترین مسیرها |
cloudhost analytics enable shop
cloudhost analytics shop --period 30d
cloudhost analytics shop --by referrer --limit 50
cloudhost speed shop --device desktopتغییر اندازهٔ تصویر#
| دستور | کار |
|---|---|
cloudhost images [show] [--project <name>] | تنظیمات تغییر اندازهٔ تصویر برنامه، تبدیلهای این ماه و کش |
cloudhost images set [--resizing on|off] [--widths 640,1080] [--qualities 50,75,90] [--formats webp,avif|none] [--ttl <seconds>] | تغییر تنظیمات تصویر؛ فقط آنچه داده شود عوض میشود |
cloudhost images hosts add <host...> | اجازهٔ تصویر از میزبان بیرونی (img.example.com یا *.example.com، فقط https) |
cloudhost images hosts rm <host...> | برداشتن اجازهٔ یک میزبان |
cloudhost images usage [--days <n>] | تبدیلها، خواندن از کش و تصویرهای اصلی، روزبهروز |
cloudhost images purge --yes | پاک کردن همهٔ تصویرهای ساختهشدهٔ برنامه از کش |
cloudhost images team | تبدیلهای این ماه همهٔ برنامهها و کش تیم |
cloudhost images hosts add images.example.com
cloudhost images set --formats webp,avif
cloudhost images usage --days 7