رفتن به محتوا

مرجع ابزار خط فرمان (CLI)

ابزار خط فرمان aidin امکانات کاملی را برای احراز هویت با کلاسترهای آیدین، کامپایل پایپ‌لاین‌ها، ساخت ایمیج‌های کانتینر مؤلفه‌ها و ثبت آن‌ها در پایپ‌لاین‌های آیدین فراهم می‌کند.


ساختار و گزینه‌های سراسری

Section titled “ساختار و گزینه‌های سراسری”
Terminal window
aidin [OPTIONS] COMMAND [ARGS]...
گزینه فلگ کوتاه توضیح
--help -h نمایش راهنمای استفاده و خروج.
--version نمایش نسخهٔ فعلی ابزار و خروج (مانند aidin, version 0.4.0).

احراز هویت با استفاده از توکن Authentik، مبادلهٔ آن با توکن موقت حساب سرویس Kubernetes و ذخیرهٔ امن آن در حافظهٔ محلی.

Terminal window
aidin login --project <name> [OPTIONS]
گزینه فلگ متغیر محیطی مقدار پیش‌فرض توضیح
--project -p KUBEFLOW_PROFILE (اجباری) نام پروژهٔ آیدین.
--token -t AUTHENTIK_TOKEN None توکن بالادستی احراز هویت Authentik.
--token-stdin False خواندن توکن از جریان ورودی استاندارد (stdin).
--url -u TOKEN_EXCHANGER_URL https://token-exchanger.<AIDIN_BASE_URL> آدرس وب سرویس مبدل توکن.
--aidin-dir AIDIN_USER_DIRECTORY ~/.aidin/ مسیر پوشهٔ ذخیرهٔ اطلاعات نشست.
--force-refresh -f False اجبار به دریافت توکن جدید حتی در صورت معتبر بودن کش فعلی.
--no-verify-ssl False غیرفعال‌سازی بررسی گواهی امنیتی TLS (ناامن).

[!WARNING] ارسال توکن‌ها از طریق فلگ -t/--token ممکن است موجب افشای مقادیر حساس در فهرست پروسه‌های سیستم (ps) و تاریخچهٔ خط فرمان گردد. توصیه می‌شود همواره از متغیر محیطی AUTHENTIK_TOKEN یا فلگ --token-stdin استفاده کنید.

ورود استاندارد با استفاده از متغیر محیطی:

Terminal window
export AUTHENTIK_TOKEN="ak_eyJhbGciOi..."
aidin login -p fraud-detection

ورود امن از طریق پایپ ورودی استاندارد:

Terminal window
cat /run/secrets/authentik_token | aidin login -p fraud-detection --token-stdin

استفادهٔ مجدد از توکن ذخیره‌شده در کش:

Terminal window
# در صورت معتبر بودن توکن کش‌شده با در نظر گرفتن حاشیه انحراف زمانی، نیازی به ارسال مجدد توکن بالادستی نیست:
aidin login -p fraud-detection

اجبار به نوسازی توکن:

Terminal window
aidin login -p fraud-detection -f

حذف اطلاعات نشست و توکن‌های کش‌شده برای یک پروژه از دیسک محلی.

Terminal window
aidin logout --project <name> [OPTIONS]
گزینه فلگ متغیر محیطی مقدار پیش‌فرض توضیح
--project -p KUBEFLOW_PROFILE (اجباری) نام پروژه‌ای که اطلاعات نشست آن باید حذف شود.
--aidin-dir AIDIN_USER_DIRECTORY ~/.aidin/ مسیر پوشهٔ ذخیرهٔ اطلاعات نشست.
Terminal window
aidin logout -p fraud-detection
# خروجی: ✓ Removed cached credentials for project 'fraud-detection'.

کامپایل تابع پایپ‌لاینِ پایتون به پکیج مشخصات Pipeline در قالب KFP v2 YAML، همراه با امکان ساخت خودکار ایمیج کانتینر.

Terminal window
aidin compile [OPTIONS] PIPELINE [PACKAGE_PATH]
  • PIPELINE: مشخصهٔ تابع پایپ‌لاین به فرمت module:function (مانند my_pipeline:pipeline_func یا src/pipeline.py:ml_pipeline).
  • PACKAGE_PATH: مسیر فایل خروجی YAML (پیش‌فرض <function>.yaml یا تعیین از طریق اعلان تعاملی).
گزینه فلگ توضیح
--pipeline-name -n نام نمایشی سفارشی پایپ‌لاین. پیش‌فرض بر مبنای نام تابع است.
--no-type-check غیرفعال‌سازی بررسی ایستا انواع در حین کامپایل KFP.
--build -b ساخت یک ایمیج کانتینر Docker یکپارچه شامل کدهای پروژه و بازنویسی مراجع ایمیج در YAML.
--build-root-directory -d پوشهٔ ریشهٔ پروژه شامل کدها و فایل requirements.txt.
--build-registry -r آدرس رجیستری هدف Docker/OCI (پیش‌فرض: harbor.aidin-ai.com/aidin-platform).
--non-interactive اجرای غیرتعاملی بدون پرسش ورودی از کاربر با استفاده از مقادیر پیش‌فرض.

حالت تعاملی در برابر غیرتعاملی

Section titled “حالت تعاملی در برابر غیرتعاملی”

در صورت عدم استفاده از فلگ --non-interactive، ابزار گزینه‌های زیر را از کاربر می‌پرسد:

Pipeline name [my-pipeline]:
Isolated components (Yes=independent, No=build unified image) [n]:
Build root directory [/home/user/project]:
Registry address [harbor.aidin-ai.com/aidin-platform]:
Output YAML file [my_pipeline.yaml]:

در اسکریپت‌های اتوماسیون و محیط‌های CI/CD همواره از فلگ --non-interactive استفاده کنید.

کامپایل پایه بدون ساخت ایمیج کانتینر:

Terminal window
aidin compile my_pipeline:ml_pipeline pipeline.yaml --non-interactive

کامپایل همراه با ساخت ایمیج کانتینر و ارسال به رجیستری:

Terminal window
aidin compile my_pipeline:ml_pipeline pipeline.yaml \
--build \
-d . \
-r harbor.aidin-ai.com/aidin-platform \
--non-interactive

بارگذاری و ثبت پایپ‌لاینِ کامپایل‌شده در پایپ‌لاین‌های آیدین با استفاده از توکن معتبر کش‌شده برای پروژه.

Terminal window
aidin register [OPTIONS] PIPELINE_YAML
  • PIPELINE_YAML: مسیر فایل YAML کامپایل‌شده.
گزینه فلگ متغیر محیطی مقدار پیش‌فرض توضیح
--name -n (اجباری) نام پایپ‌لاین جهت ثبت و نمایش در پایپ‌لاین‌های آیدین.
--project -p KUBEFLOW_PROFILE (اجباری) نام پروژهٔ آیدین.
--pipeline-server-url -s PIPELINE_SERVER_URL https://pipeline-server.<AIDIN_BASE_URL> آدرس سرور API پایپ‌لاین‌های آیدین.
--aidin-dir AIDIN_USER_DIRECTORY ~/.aidin/ مسیر پوشهٔ ذخیرهٔ اطلاعات نشست.
--no-verify-ssl False غیرفعال‌سازی بررسی گواهی امنیتی TLS.

[!NOTE] دستور aidin register توکن فعال را از مسیر ~/.aidin/<project>/token.json می‌خواند. چنانچه توکن وجود نداشته باشد یا منقضی شده باشد (با لحاظ حاشیهٔ ۶۰ ثانیه‌ای انحراف زمانی)، دستور متوقف شده و پیامی مبنی بر لزوم اجرای aidin login نمایش داده می‌شود.

Terminal window
aidin register pipeline.yaml -n "Fraud Detection v1" -p fraud-detection

خروجی نمونه:

✓ Pipeline registered successfully.
ID: a92f81bc-5612-421b-873b-bce98c172401
Name: Fraud Detection v1
Project: fraud-detection

راهنمای متغیرهای محیطی

Section titled “راهنمای متغیرهای محیطی”
متغیر محیطی کاربرد مقدار پیش‌فرض
AUTHENTIK_TOKEN توکن بالادستی کاربر یا سرویس در Authentik None
KUBEFLOW_PROFILE نام پروژهٔ پیش‌فرض آیدین None
AIDIN_BASE_URL دامنهٔ پایهٔ کلاسترهای آیدین platform.aidin-ai.com
TOKEN_EXCHANGER_URL آدرس کامل سرویس مبدل توکن https://token-exchanger.<AIDIN_BASE_URL>
PIPELINE_SERVER_URL آدرس کامل API پایپ‌لاین‌های آیدین https://pipeline-server.<AIDIN_BASE_URL>
AIDIN_USER_DIRECTORY مسیر پایهٔ پوشهٔ کش نشست‌ها روی سیستم ~/.aidin/
COMPS_BASE_IMAGE ایمیج پایهٔ پیش‌فرض کانتینر برای مؤلفه‌ها python:3.11