OneGuard

توليد القيم

تولّد OneGuard قيمًا عشوائية باستخدام مجموعات الأحرف والإعدادات الافتراضية نفسها في مولّد لوحة التحكم.

هناك أمران، والفرق بينهما مهم:

| | إلى أين تذهب القيمة | من يراها | | --- | --- | --- | | oneguard generate | تُطبع على stdout، ولا تُخزَّن في أي مكان | طرفيتك، سجل الصدفة لديك، سجل CI | | oneguard secrets generate | مباشرة إلى سر مخزَّن | لا أحد — لا تُطبع أبدًا |

إذا كانت القيمة موجَّهة إلى سر أصلًا، استخدم secrets generate. لا يترك أي نسخة خلفه.

generate

ولّد قيمة محليًا واطبعها. لا اتصال بالشبكة، ولا تسجيل دخول مطلوب.

oneguard generate
oneguard generate --length 32
oneguard generate --count 5 --no-special

بما أنه يطبع قيمة واحدة في كل سطر، يتركّب مع الصدفة:

export DB_PASSWORD=$(oneguard generate --length 32)

| الخيار | الافتراضي | | | --- | --- | --- | | -l, --length | 16 | عدد الأحرف | | -c, --count | 1 | كم قيمة تُولَّد | | --[no-]lowercase | مفعّل | تضمين a-z | | --[no-]uppercase | مفعّل | تضمين A-Z | | --[no-]numbers | مفعّل | تضمين 0-9 | | --[no-]special | مفعّل | تضمين !@#%^&*()-_=+[]{}\|;:,.<>? | | --min-numbers | 2 | أقل عدد أرقام في القيمة | | --min-special | 2 | أقل عدد أحرف خاصة |

يفشل الأمر بدل أن ينتج بصمت شيئًا أضعف مما طلبت: تعطيل كل فئات الأحرف خطأ، وكذلك طلب حد أدنى لا يتّسع ضمن --length.

secrets generate

ولّد قيمة وادفعها إلى سر تحت مفتاح محدد.

oneguard secrets generate --project <vault> --id <secret> --key DB_PASSWORD
oneguard secrets generate --project <vault> --id <secret> --key API_TOKEN \
  --length 48 --no-special
Added "DB_PASSWORD" in secret "production" (4 variables total).
Value not shown. Run 'oneguard env pull --project <vault> --id <secret>' to write it to a file.

هذا يدمج القيم. تُجلب الحمولة المخزَّنة وتُفكّ تشفيرها، ويُضبط المفتاح الواحد، ثم يُعاد تشفير كل شيء وإرساله — تبقى كل متغيّرات السر الأخرى كما هي. هذا هو الفرق عن secrets edit، الذي يستبدل الحمولة كاملة.

| الخيار | | | | --- | --- | --- | | --project | مطلوب | معرّف الخزنة أو مقطعه المكوّن من 8 أحرف | | --id | مطلوب | معرّف السر أو مقطعه المكوّن من 8 أحرف | | -k, --key | مطلوب | اسم المتغيّر المراد ضبطه، مثل DB_PASSWORD | | --force | | استبدال المفتاح إذا كان موجودًا | | --show | | طباعة القيمة المولَّدة أيضًا. مُعطَّل افتراضيًا، وعن قصد |

بدون --force، الكتابة إلى مفتاح موجود أصلًا خطأ لا استبدال صامت.

كل خيار من generate أعلاه ينطبق هنا أيضًا.