OneGuard

البدء

تسحب أداة OneGuard في سطر الأوامر متغيرات البيئة المشفّرة إلى ملف .env محلي، وتدفع التغييرات مرة أخرى، وتدير الخزنات والأسرار وأعضاء الفريق — دون مغادرة الطرفية.

التثبيت

macOS و Linux

تنشر OneGuard من مستودع Homebrew خاص بها ("tap")، فتوجّه Homebrew إليه مرة واحدة:

brew tap oneguard-sa/oneguard
brew install oneguard

أو بأمر واحد يجمع بين الإضافة والتثبيت:

brew install oneguard-sa/oneguard/oneguard

تحقّق من نجاح التثبيت:

oneguard --help
which oneguard

Windows

دعم Chocolatey قيد الإنجاز:

choco install oneguard

تسجيل الدخول

ولّد مفتاح API من لوحة تحكم OneGuard — Vault → API Keys → Add — اختر صلاحية وتاريخ انتهاء، ثم انسخ المفتاح. يبدأ بـ og_ ويظهر مرة واحدة فقط.

oneguard auth login og_your_key

يُخزَّن المفتاح في ~/.oneguard/credentials.json، ولا يقرؤه سوى مستخدمك. لتسجيل الخروج:

oneguard auth logout

صلاحيات المفتاح

يُنشأ المفتاح إما للقراءة read أو للكتابة write، ويفرض الخادم هذا الفرق:

| الصلاحية | ما يمكن فعله | | --- | --- | | read | status، vault list، secrets list، env pull، env sync، teams list، logs list، وgenerate (التي لا تغادر جهازك أبدًا) | | write | كل ما سبق، بالإضافة إلى إنشاء الأسرار والخزنات وتعديلها وأرشفتها وحذفها، وenv sync --push، وsecrets generate، ودعوة الأعضاء أو إزالتهم |

مفتاح للقراءة فقط يُستخدم في عملية كتابة يُرفض برسالة واضحة، وهذا لا يسجّل خروجك — تبقى جلستك صالحة، وكل ما تحتاجه مفتاح بصلاحية الكتابة لتلك العملية.

لمعرفة ما يستطيع المفتاح الذي تستخدمه حاليًا فعله:

oneguard status

الترقية

brew update
brew upgrade oneguard

لمعرفة ما تستخدمه مقابل المتاح:

oneguard --help
brew info oneguard

إذا أفاد brew upgrade بعدم وجود جديد رغم توقّعك إصدارًا أحدث، فربما تكون نسخة Homebrew من الـ tap قديمة — ينعشها brew update. لإعادة تثبيت كاملة:

brew uninstall oneguard && brew install oneguard-sa/oneguard/oneguard

تشغيل نسخة محلية

عند العمل على الأداة نفسها، شغّل نسختك المبنية محليًا دون التأثير على النسخة المثبَّتة. لا تضعها على PATH:

cd oneguard_cli
dart compile exe bin/oneguard.dart -o build/oneguard
./build/oneguard vault list

تُخزّن الأداة مفتاحها في $HOME/.oneguard/credentials.json — ملف واحد تشترك فيه كل نسخة على الجهاز. لإبقاء تسجيل دخول تجريبي منفصلًا، امنحه مجلد home مختلفًا:

HOME=/tmp/oneguard-dev ./build/oneguard auth login og_test_key
HOME=/tmp/oneguard-dev ./build/oneguard status

بعدها يعيش كل ما تخزّنه الأداة تحت /tmp/oneguard-dev/.oneguard/، وتبقى جلستك الحقيقية دون تأثير.