پیکربندی عامل
مرجع کامل فایل config.json عامل: منابع، سیاست بازگردانی، سیاست رمزنگاری، اعتماد و محدودیتها.
فایل پیکربندی
عامل پیکربندی را از /etc/namayek-agent/config.json (یا مسیر NMK_AGENT_CONFIG) میخواند. فایل سختگیرانه بررسی میشود: کلید ناشناخته خطاست. دسترسی 0600 پیشنهاد میشود.
{ "server": "https://vault.namayek.com", "stateDir": "/var/lib/namayek-agent", "sources": { "{sourceId}": { "engine": "postgres", "dsnEnv": "PG_MAIN_DSN", "passwordEnv": "PG_MAIN_PASSWORD", "tls": "verify-full", "pgGlobals": false } }, "restore": "new-db", "testRestore": true, "encryption": { "pinnedRecipients": [], "allowManaged": true, "identityFiles": [] }, "trust": { "agents": [], "serverProduced": false }, "limits": { "maxParallelJobs": 1, "maxParallelParts": 4, "tempDir": null }}فیلدها
| فیلد | نوع / مقدار | توضیح |
|---|---|---|
server | string (https) | نشانی لبه پشتیبانگیری. |
stateDir | string | پوشه وضعیت عامل (کلید عامل، فایلهای موقت)؛ فقط کاربر عامل. |
sources.<id>.engine | postgres | mysql | mariadb | mongodb | redis | sqlite | mssql | موتور منبع؛ باید با منبع پنل یکی باشد. |
sources.<id>.dsnEnv | string | نام متغیر محیطی نشانی اتصال (هرگز خود نشانی با رمز در فایل). |
sources.<id>.passwordEnv | string | نام متغیر محیطی رمز (اختیاری). |
sources.<id>.tls | verify-full | verify-ca | سیاست TLS اتصال عامل به پایگاه داده (پیشفرض verify-full). |
sources.<id>.pgGlobals | boolean | فقط PostgreSQL: نقشها و tablespace ها هم پشتیبان شوند (ابرکاربر). |
sources.<id>.mssql.serverDir | string | فقط SQL Server و الزامی: پوشهای که خود SQL Server فایل .bak را در آن مینویسد (مثل /var/opt/mssql/backup یا D:\Backup)؛ همان «پوشه پشتیبان روی سرور SQL Server» در پنل. |
sources.<id>.mssql.localDir | string | فقط SQL Server: همان پوشه از دید عامل (مسیر مطلق لینوکسی) وقتی SQL Server روی سرور دیگر یا Windows است؛ پیشفرض serverDir. |
restore | off | new-db | any | سیاست محلی بازگردانی؛ پنل همین را نشان میدهد و بیشتر از آن را غیرفعال میکند. |
testRestore | boolean | اجازه بازگردانی آزمایشی به پایگاه موقت nmk_verify_*. |
encryption.pinnedRecipients | nmkpk1…[] | کلیدهایی که هر نسخه باید برایشان رمزنگاری شود. |
encryption.allowManaged | boolean | false یعنی هر کاری که کلید مدیریتشده نمایک بخواهد رد میشود. |
encryption.identityFiles | string[] | فایلهای هویت مشتری برای بازگردانی نسخههای فقط-کلید-شما. |
trust.agents | string[] | کلید عمومی عاملهای دیگری که نسخههایشان برای بازگردانی معتبر است. |
trust.serverProduced | boolean | پذیرش نسخههای ساختهشده در اتصال مستقیم برای بازگردانی. |
limits.maxParallelJobs | number | کار همزمان. |
limits.maxParallelParts | number | بارگذاری همزمان بخشها. |
limits.tempDir | string | null | پوشه موقت؛ null یعنی زیرپوشه stateDir. |
سیاست بازگردانی
این سیاست روی سرور شما اجرا میشود؛ حتی اگر درخواستی از سمت نمایک بیاید، عامل کاری بیش از آن انجام نمیدهد.
| مقدار | نوع / مقدار | توضیح |
|---|---|---|
off | بدون بازگردانی | هر بازگردانی و بازگردانی آزمایشی رد میشود (POLICY_REFUSED). |
new-db | فقط پایگاه تازه (پیشفرض) | جایگزینی پایگاه فعلی رد میشود. |
any | تازه و جایگزینی | جایگزینی هم مجاز است؛ پنل باز هم تایید تازه هویت و تایپ نام پایگاه را میخواهد. |
سیاست رمزنگاری
هر کلید pinnedRecipients باید در گیرندگان هر کار باشد؛ با allowManaged: false هر کاری که کلید مدیریتشده نمایک را بخواهد رد میشود (POLICY_REFUSED). اینگونه حتی با دسترسی کامل به سرورهای نمایک نسخههای شما خوانا نمیشوند.
"encryption": { "pinnedRecipients": ["nmkpk1YOUR_PUBLIC_KEY"], "allowManaged": false, "identityFiles": ["/etc/namayek-agent/identity.txt"]}آخرین بهروزرسانی: