عن المشروع
Onigirazu هي أداة لإدارة التكوين وأتمتة البنية التحتية مكتوبة بلغة Go ومستوحاة من Ansible. تستهدف المضيفين عبر SSH دون تثبيت وكلاء، وتصف الحالة المطلوبة في دفاتر YAML.
القدرات الأساسية الموصوفة في README:
- دفاتر YAML مع plays وtasks وhandlers ومتغيرات هرمية وشرطيات (when، until، changed_when، failed_when) وحلقات وقوالب شبيهة بـ Jinja2 مع مرشحات وتحكم في المسافات البيضاء.
- تنفيذ SSH بدون وكيل مع التحقق من مفاتيح المضيف، وتنفيذ المهام بالتوازي مع تزامن قابل للتكوين، وعمليات idempotent، ومنطق إعادة المحاولة مع التراجع.
- جرد بتنسيقات متعددة (YAML، TOML، JSON، INI، نص)، بالإضافة إلى تحديد المضيفين المضمّن عبر -i، وطبقات متغيرات group_vars/host_vars المشابهة لـ Ansible.
- إدارة الحالة مع اللقطات والاسترجاع، وكشف الانحراف والإصلاح التلقائي، والتدقيق والتحليلات لسجل التنفيذ، ونظام تخزين مؤقت للحقائق والقوالب والحزم.
- تنفيذ أوامر مخصصة بدون دفاتر، يدعم خمسة تنسيقات إدخال بما في ذلك نموذج باللغة الطبيعية، مع إخراج نصي وJSON وYAML وجدولي.
- واجهة سطر أوامر بأوامر مثل apply وrun وplan وvalidate وlint وfmt وgraph وaudit وdiff وdrift وhealthcheck وinventory وstate وrollback وcompletion.
- وضع واجهة طرفية تفاعلية (--interactive) مع بث السجلات المباشر، وتبديل العرض بين NORMAL/VERBOSE/DEBUG، وإحصاءات، وعناصر تحكم بلوحة المفاتيح، وإيقاف تشغيل سلس.
- نظام وحدات مع 44 وحدة مدمجة تغطي الملفات والحزم والخدمات والمستخدمين والمجموعات والأوامر والقوالب وgit وsystemd وcron وجدار الحماية والحاويات (Docker، Compose، Podman) وقواعد البيانات (MySQL، PostgreSQL، MongoDB)، بالإضافة إلى بنية إضافات وأداة توليد هياكل لإنشاء وحدات جديدة مع اختبارات وقياسات أداء.
- إدارة الأسرار عبر تكامل Bitwarden وسياسة أمان JSON اختيارية للوحدات والمضيفين والمسارات والأوامر.
تشمل خيارات التثبيت ملفات ثنائية جاهزة لـ Linux وmacOS وWindows ومتغيرات BSD، وصور Docker، وحزم التوزيعات (.deb، .rpm، .apk، Arch)، والبناء من المصدر باستخدام make، وgo install. يشير README أيضًا إلى وثائق موسعة للتكوين والأمان والاختبار وتنسيق الدفاتر والاستخدام المخصص والوضع التفاعلي.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.