Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/derailed/popeye
أمن الحاوياتتدقيق التكوينأمن السحابةسوء التكوين
GitHubderailed/popeye

popeye

👀 أداة تنظيف موارد مجموعات Kubernetes

عرض المستودعالموقع الإلكتروني
6.3k344منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

بوباي: مدقق مجموعة Kubernetes الحية

بوباي هو أداة مساعدة تقوم بمسح مجموعات Kubernetes الحية وتقديم تقارير عن المشكلات المحتملة في الموارد والتكوينات المنشورة. مع توسع مشهد Kubernetes، أصبح من الصعب على الإنسان تتبع الكم الهائل من المانيفستات والسياسات التي تدير المجموعة. يقوم بوباي بمسح مجموعتك بناءً على ما هو منشور وليس ما هو موجود على القرص. من خلال تدقيق مجموعتك، يكتشف التكوينات الخاطئة والموارد القديمة ويساعدك على ضمان تطبيق أفضل الممارسات، مما يمنع المشكلات المستقبلية. يهدف إلى تقليل العبء المعرفي الزائد الذي يواجهه الشخص عند تشغيل مجموعة Kubernetes في البيئة الفعلية. علاوة على ذلك، إذا كانت مجموعتك تستخدم خادم القياسات (metric-server)، فإنه يقدم تقارير عن التخصيص الزائد/الناقص المحتمل للموارد ويحاول تحذيرك إذا كانت مجموعتك على وشك نفاد السعة.

بوباي هو أداة للقراءة فقط، ولا يقوم بتعديل أي من موارد Kubernetes الخاصة بك بأي شكل من الأشكال!




بطاقة تقرير Go شارة codebeat إصدار ترخيص مستودع Docker على Quay نجوم GitHub إصدارات


لقطات الشاشة

وحدة التحكم

JSON

HTML

يمكنك تفريغ تقرير الفحص إلى HTML.

لوحة معلومات Grafana

ينشر بوباي مقاييس Prometheus. لقد قدمنا لوحة معلومات نموذجية لـ Popeye لمساعدتك على البدء في هذا المستودع.


التثبيت

بوباي متاح على أنظمة Linux وOSX وWindows.

  • الملفات الثنائية (Binaries) لأنظمة Linux وWindows وMac متاحة كملفات مضغوطة (tarballs) في صفحة الإصدارات.

  • لأنظمة OSX/Unit باستخدام Homebrew/LinuxBrew ```shell brew install derailed/popeye/popeye

    root@kitploit:~
  • باستخدام go install

    root@kitploit:~
    go install github.com/derailed/popeye@latest
    
  • البناء من المصدر تم بناء Popeye باستخدام go 1.21+. لبناء Popeye من المصدر، يجب عليك:

    1. استنساخ المستودع

    2. أضف الأمر التالي في ملف go.mod الخاص بك

      root@kitploit:~
      replace (
        github.com/derailed/popeye => MY_POPEYE_CLONED_GIT_REPO
      )
      
    3. بناء وتشغيل الملف التنفيذي

      root@kitploit:~
      go run main.go
      

    وصفة سريعة لمن لا صبر له: ```shell

    Clone outside of GOPATH

    git clone https://github.com/derailed/popeye cd popeye

    Build and install

    make build

    Run

    popeye

    root@kitploit:~

فحوصات ما قبل الطيران

  • يستخدم Popeye وضعية الألوان ذات 256 لونًا. في أنظمة `Nix تأكد من تعيين TERM بشكل مناسب.

    root@kitploit:~
    export TERM=xterm-256color
    

سطر الأوامر

يمكنك استخدام Popeye بشكل واسع أو باستخدام ملف تكوين spinach yaml لضبط أدوات الفحص الخاصة بك. التفاصيل حول ملف تكوين Popeye موجودة أدناه.```shell

Dump version info and logs location

popeye version

Popeye a cluster using your current kubeconfig environment.

NOTE! This will run Popeye in the context namespace if set or like kubectl will use the default namespace

popeye

Run Popeye in the fred namespace

popeye -n fred

Run Popeye in all namespaces

popeye -A

Run Popeye uses a spinach config file of course! aka spinachyaml!

popeye -f spinach.yaml

Popeye a cluster using a kubeconfig context.

popeye --context olive

Run Popeye with specific linters and log to the console

popeye -n ns1 -s pod,svc --logs none

Run Popeye for a given namespace in a given log file and debug logs

popeye -n ns1 --logs /tmp/fred.log -v4

Stuck?

popeye help

root@kitploit:~
---

## أدوات الفحص

يقوم Popeye بفحص مجموعتك (Cluster) للتحقق من أفضل الممارسات والمشكلات المحتملة.
حاليًا، يبحث Popeye فقط عن مجموعة محددة من موارد Kubernetes. المزيد قادم قريباً!
نأمل أن يساهم أصدقاء Kubernetes في جعل Popeye أفضل.

الهدف من أدوات الفحص هو اكتشاف الأخطاء في التهيئة، مثل عدم تطابق المنافذ، الموارد الميتة أو غير المستخدمة، مقاييس الاستخدام، المسابر، صور الحاويات، قواعد RBAC، الموارد العارية، إلخ...

Popeye ليس مجرد أداة تحليل ثابتة. فهو يعمل ويفحص موارد Kubernetes على
المجموعات الحية ويفحص الموارد كما هي في الواقع!

فيما يلي قائمة ببعض أدوات الفحص المتاحة:

|    | Resource                | Linters                                                                 | Aliases    |
|----|-------------------------|-------------------------------------------------------------------------|------------|
| 🛀 | Node                    |                                                                         | no         |
|    |                         | الشروط: عدم الجاهزية، نفاد الذاكرة/القرص، الشبكة، معرفات العمليات (pids)، إلخ.            |            |
|    |                         | تسامحات البود (Pod tolerations) التي تشير إلى تلوثات العقدة (node taints)                                 |            |
|    |                         | مقاييس استخدام وحدة المعالجة المركزية/الذاكرة، تنبيه عند تجاوز الحدود (الافتراضي 80% لوحدة المعالجة المركزية/الذاكرة) |            |
| 🛀 | Namespace               |                                                                         | ns         |
|    |                         | غير نشطة                                                                |            |
|    |                         | مساحات أسماء ميتة                                                         |            |
| 🛀 | Pod                     |                                                                         | po         |
|    |                         | حالة البود (Pod status)                                                              |            |
|    |                         | حالات الحاويات                                                     |            |
|    |                         | وجود ServiceAccount                                                 |            |
|    |                         | وحدة المعالجة المركزية/الذاكرة على الحاويات تتجاوز حدًا معينًا (الافتراضي 80% لوحدة المعالجة المركزية/الذاكرة)    |            |
|    |                         | صورة حاوية بدون وسوم                                            |            |
|    |                         | صورة حاوية تستخدم الوسم `latest`                                      |            |
|    |                         | وجود طلبات/حدود الموارد                                       |            |
|    |                         | وجود مسابر البقاء/الجاهزية                                      |            |
|    |                         | المنافذ المسماة ومراجعها                                        |            |
| 🛀 | Service                 |                                                                         | svc        |
|    |                         | وجود نقاط النهاية                                                      |            |
|    |                         | وسوم البودات المطابقة                                                    |            |
|    |                         | المنافذ المسماة ومراجعها                                        |            |
| 🛀 | ServiceAccount          |                                                                         | sa         |
|    |                         | غير مستخدم، يكتشف حسابات الخدمة غير المستخدمة محتملة                                  |            |
| 🛀 | Secrets                 |                                                                         | sec        |
|    |                         | غير مستخدم، يكتشف الأسرار غير المستخدمة محتملة أو المفاتيح المرتبطة           |            |
| 🛀 | ConfigMap               |                                                                         | cm         |
|    |                         | غير مستخدم، يكتشف خرائط التهيئة غير المستخدمة محتملة أو المفاتيح المرتبطة                |            |
| 🛀 | Deployment              |                                                                         | dp, deploy |
|    |                         | غير مستخدم، التحقق من قالب البود، استخدام الموارد                   |            |
| 🛀 | StatefulSet             |                                                                         | sts        |
|    |                         | غير مستخدم، التحقق من قالب البود، استخدام الموارد                    |            |
| 🛀 | DaemonSet               |                                                                         | ds         |
|    |                         | غير مستخدم، التحقق من قالب البود، استخدام الموارد                    |            |
| 🛀 | PersistentVolume        |                                                                         | pv         |
|    |                         | غير مستخدم، التحقق من ربط الحجم أو خطأ في الحجم                              |            |
| 🛀 | PersistentVolumeClaim   |                                                                         | pvc        |
|    |                         | غير مستخدم، التحقق من الربط أو خطأ في تثبيت الحجم                             |            |
| 🛀 | HorizontalPodAutoscaler |                                                                         | hpa        |
|    |                         | غير مستخدم، الاستخدام، فحوصات الحد الأقصى للاندفاع                                   |            |
| 🛀 | PodDisruptionBudget     |                                                                         |            |
|    |                         | غير مستخدم، التحقق من تهيئة minAvailable                                | pdb        |
| 🛀 | ClusterRole             |                                                                         |            |
|    |                         | غير مستخدم                                                                  | cr         |
| 🛀 | ClusterRoleBinding      |                                                                         |            |
|    |                         | غير مستخدم                                                                  | crb        |
| 🛀 | Role                    |                                                                         |            |
|    |                         | غير مستخدم                                                                  | ro         |
| 🛀 | RoleBinding             |                                                                         |            |
|    |                         | غير مستخدم                                                                  | rb         |
| 🛀 | Ingress                 |                                                                         |            |
|    |                         | صالح                                                                   | ing        |
| 🛀 | NetworkPolicy           |                                                                         |            |
|    |                         | صالح، قديم، محمي                                                   | np         |
| 🛀 | PodSecurityPolicy       |                                                                         |            |
|    |                         | صالح                                                                   | psp        |
| 🛀 | Cronjob                 |                                                                         |            |
|    |                         | صالح، معلق، يعمل                                                  | cj         |
| 🛀 | Job                     |                                                                         |            |
|    |                         | فحوصات البود                                                              | job        |
| 🛀 | GatewayClass            |                                                                         |            |
|    |                         | صالح، غير مستخدم                                                           | gwc        |
| 🛀 | Gateway                 |                                                                         |            |
|    |                         | صالح، غير مستخدم                                                           | gw         |
| 🛀 | HTTPRoute               |                                                                         |            |
|    |                         | صالح، غير مستخدم                                                           | gwr        |

يمكنك أيضًا رؤية [القائمة الكاملة للرموز](https://github.com/derailed/popeye/blob/HEAD/docs/codes.md)

---

## حفظ عمليات الفحص

لحفظ تقرير Popeye في ملف، استخدم العلامة `--save` مع الأمر.
سيتم بشكل افتراضي إنشاء دليل مؤقت (tmp) وتخزين تقرير الفحص الخاص بك هناك.
سيتم طباعة مسار الدليل المؤقت على STDOUT.
إذا كنت بحاجة إلى تحديد دليل الإخراج للتقرير، يمكنك استخدام متغير البيئة `POPEYE_REPORT_DIR`. سيكون المسار النهائي <POPEYE_REPORT_DIR>/<cluster>/<context>.
بشكل افتراضي، يتبع اسم ملف الإخراج التنسيق التالي: `lint_<cluster-name>_<time-UnixNano>.<output-extension>` (على سبيل المثال: "lint-mycluster-1594019782530851873.html").
إذا كنت ترغب أيضًا في تحديد اسم ملف الإخراج للتقرير، يمكنك استخدام العلامة `--output-file` مع اسم الملف الذي تريده كمعامل.

مثال لحفظ التقرير في مجلد العمل الحالي:```shell
POPEYE_REPORT_DIR=$(pwd) popeye --save

مثال لحفظ التقرير في دليل العمل بتنسيق HTML تحت اسم "report.html" :```shell POPEYE_REPORT_DIR=$(pwd) popeye --save --out html --output-file report.html

root@kitploit:~
### الحفظ في مخزن كائنات S3

بدلاً من ذلك، يمكنك دفع التقارير المُنشأة إلى مخزن كائنات AWS S3 أو Minio عن طريق توفير العلامة `--s3-bucket`.
بالنسبة للمعلمات، تحتاج إلى تقديم اسم مجموعة S3 التي تريد تخزين التقرير فيها.
لحفظ التقرير في دليل فرعي للمجموعة، قدم معلمة المجموعة كـ `bucket/path/to/report`.

مثال لحفظ التقرير في S3:```shell
# AWS S3
# NOTE: You must provide env vars for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
# This will create bucket my-popeye if not present and upload a popeye json report to /fred/scan.json
popeye --s3-bucket s3://my-popeye/fred --s3-region us-west-2 --out json --save --output-file scan.json

# Minio Object Store
# NOTE: You must provide env vars for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY and a minio server URI
# This will create bucket my-popeye if not present and upload a popeye json report to /fred/scan.json
popeye --s3-bucket minio://my-popeye/fred --s3-region us-east --s3-endpoint localhost:9000 --out json --save --output-file scan.json

دعم Docker

يمكنك أيضًا تشغيل Popeye في حاوية عن طريق تشغيله مباشرة من مستودع docker الرسمي على Quay. الأمر الافتراضي عند تشغيل حاوية docker هو popeye، لذا يمكنك تخصيص الفحص باستخدام علامات سطر الأوامر المدعومة. للوصول إلى مجموعاتك، قم بتعيين دليل kubeconfig المحلي الخاص بك داخل الحاوية باستخدام -v :```shell docker run --rm -it -v $HOME/.kube:/root/.kube quay.io/derailed/popeye --context foo -n bar

root@kitploit:~
تشغيل أمر docker أعلاه مع `--rm` يعني أن الحاوية تُحذف عند خروج Popeye.
عند استخدام `--save`، سيتم كتابته إلى /tmp داخل الحاوية ثم حذف الحاوية عند خروج popeye، مما يعني أنك تفقد المخرجات ;(
لتجاوز ذلك، قم بتعيين /tmp إلى /tmp الخاص بالحاوية.

> ملاحظة: يمكنك تجاوز موقع دليل الإخراج الافتراضي عن طريق تعيين متغير البيئة `POPEYE_REPORT_DIR`.```shell
docker run --rm -it \
  -v $HOME/.kube:/root/.kube \
  -e POPEYE_REPORT_DIR=/tmp/popeye \
  -v /tmp:/tmp \
  quay.io/derailed/popeye --context foo -n bar --save --output-file my_report.txt

# Docker has exited, and the container has been deleted, but the file
# is in your /tmp directory because you mapped it into the container
cat /tmp/popeye/my_report.txt
<snip>

تنسيقات الإخراج

يمكن لـ Popeye إنشاء تقارير المدقق (linter) بمجموعة متنوعة من التنسيقات. يمكنك استخدام خيار سطر الأوامر -o واختيار ما يناسبك.


ملكة بروميثيوس!

يمكن لـ Popeye نشر مقاييس بروميثيوس مباشرة من الفحص. ستحتاج إلى الوصول إلى بوابة دفع بروميثيوس وبيانات الاعتماد.

ملاحظة! هذه قد تتغير بناءً على تعليقات المستخدمين والاستخدام!!

لنشر المقاييس، يجب توفر وسائط سطر أوامر إضافية.```shell

Run popeye using console output and push prom metrics.

popeye --push-gtwy-url http://localhost:9091

Run popeye using a saved html output and push prom metrics.

NOTE! When scan are dump to disk, popeye_cluster_score metric below includes

an additional label to track the persisted artifact so you can aggregate with the scan

Don't think it's the correct approach as this changes the metric cardinality on every push.

Hence open for suggestions here??

popeye -o html --save --push-gtwy-url http://localhost:9091

root@kitploit:~
### مقاييس PopProm

يتم نشر مقاييس Popeye prometheus التالية:

* `popeye_severity_total` [gauge] يتتبع تعدادات مختلفة بناءً على درجة الخطورة.
* `popeye_code_total` [gauge] يتتبع التعدادات حسب أكواد المفحص (linter) الخاصة بـ Popeye.
* `popeye_linter_tally_total` [gauge] يتتبع التعدادات لكل مفحص (linter).
* `popeye_report_errors_total` [gauge] يتتبع إجمالي أخطاء الفحص.
* `popeye_cluster_score` [gauge] يتتبع نتائج تقرير الفحص.

### PopGraf

يمكن العثور على لوحة تحكم [Grafana](https://grafana.com) نموذجية في هذا المستودع لتبدأ.

> ملاحظة! عمل قيد التطوير، لا تتردد في المساهمة إذا كان لديك خبرة في UX/grafana/promql.

---

## SpinachYAML

يمكن تحديد ملف تكوين spinach YAML عبر الخيار `-f` لتهيئة المفحصات (linters) بشكل إضافي. قد يحدد هذا الملف حد استخدام الحاوية وتكوينات مفحص محددة بالإضافة إلى الموارد والأكواد التي سيتم استبعادها من المفحص.

> ملاحظة! هذا الملف سيتغير مع نضوج Popeye!

تحت المفتاح `excludes` يمكنك تكوين تخطي موارد معينة أو أكواد المفحص. يتم تسمية مفحصات Popeye بأسماء موارد k8s. على سبيل المثال، مفحص PodDisruptionBudget يُسمى `poddisruptionbudgets` ويقوم بمسح `policy/v1/poddisruptionbudgets`

> ملاحظة! يستخدم المفحص صيغة الجمع `kind` للمورد وكل شيء مكتوب بأحرف صغيرة.

يتم استخدام الاسم المؤهل بالكامل للمورد والمعروف باسم `FQN` في ملف spinach لتحديد اسم المورد، أي `namespace/resource_name`.

على سبيل المثال، سيكون FQN للبود (pod) المسمى `fred-1234` في النطاق `blee` هو `blee/fred-1234`. هذا يتيح التمييز بين `fred/p1` و `blee/p1`.

بالنسبة للموارد على مستوى الكتلة، فإن FQN يعادل الاسم. يمكن أن تكون قواعد الاستبعاد إما تطابق سلسلة نصية مباشرة أو تعبيرًا منتظمًا. في الحالة الأخيرة، يجب تحديد التعبير المنتظم عبر البادئة `rx:`.

> ملاحظة! يرجى توخي الحذر مع تعبيرك المنتظم حيث قد يتم استبعاد موارد أكثر من المتوقع من التقرير بسبب قاعدة تعبير منتظم *فضفاضة*.
> عندما تتغير موارد الكتلة الخاصة بك، قد يؤدي ذلك إلى فحوصات غير مثالية.
> لذا نوصي بتشغيل Popeye `على نطاق واسع` بين الحين والآخر للتأكد من أنك ستلتقط أي مشكلات جديدة قد تكون ظهرت في مجموعاتك…

إليك مثال لملف spinach كما هو في هذا الإصدار. يوجد ملف spinach أكثر اكتمالاً يعتمد على eks و aks في هذا المستودع تحت `spinach`.

(بالمناسبة: بالنسبة للوافدين الجدد إلى المشروع، قد تكون هذه طريقة رائعة للمساهمة عن طريق إضافة طلبات سحب (PRs) لملفات spinach الخاصة بالكتلة…)```yaml
# spinach.yaml

# A Popeye sample configuration file
popeye:
  # Checks resources against reported metrics usage.
  # If over/under these thresholds a linter warning will be issued.
  # Your cluster must run a metrics-server for these to take place!
  allocations:
    cpu:
      underPercUtilization: 200 # Checks if cpu is under allocated by more than 200% at current load.
      overPercUtilization: 50   # Checks if cpu is over allocated by more than 50% at current load.
    memory:
      underPercUtilization: 200 # Checks if mem is under allocated by more than 200% at current load.
      overPercUtilization: 50   # Checks if mem is over allocated by more than 50% usage at current load.

  # Excludes excludes certain resources from Popeye scans
  excludes:
    # [NEW!] Global exclude resources and codes globally of any linters.
    global:
      fqns: [rx:^kube-] # => excludes all resources in kube-system, kube-public, etc..
      # [NEW!] Exclude resources for all linters matching these labels
      labels:
        app: [bozo, bono] #=> exclude any resources with labels matching either app=bozo or app=bono
      # [NEW!] Exclude resources for all linters matching these annotations
      annotations:
        fred: [blee, duh] # => exclude any resources with annotations matching either fred=blee or fred=duh
      # [NEW!] Exclude scan codes globally via straight codes or regex!
      codes: ["300", "206", "rx:^41"] # => exclude issue codes 300, 206, 410, 415 (Note: regex match!)

    # [NEW!] Configure individual resource linters
    linters:
      # Configure the namespaces linter for v1/namespaces
      namespaces:
        # [NEW!] Exclude these codes for all namespace resources straight up or via regex.
        codes: ["100", "rx:^22"] # => exclude codes 100, 220, 225, ...
        # [NEW!] Excludes specific namespaces from the scan
        instances:
          - fqns: [kube-public, kube-system] # => skip ns kube-pulbic and kube-system
          - fqns: [blee-ns]
            codes: [106] # => skip code 106 for namespace blee-ns

      # Skip secrets in namespace bozo.
      secrets:
        instances:
          - fqns: [rx:^bozo]

      # Configure the pods linter for v1/pods.
      pods:
        instances:
          # [NEW!] exclude all pods matching these labels.
          - labels:
              app: [fred,blee] # Exclude codes 102, 105 for any pods with labels app=fred or app=blee
            codes: [102, 105]

  resources:
    # Configure node resources.
    node:
      # Limits set a cpu/mem threshold in % ie if cpu|mem > limit a lint warning is triggered.
      limits:
        # CPU checks if current CPU utilization on a node is greater than 90%.
        cpu:    90
        # Memory checks if current Memory utilization on a node is greater than 80%.
        memory: 80

    # Configure pod resources
    pod:
      # Restarts check the restarts count and triggers a lint warning if above threshold.
      restarts: 3
      # Check container resource utilization in percent.
      # Issues a lint warning if about these threshold.
      limits:
        cpu:    80
        memory: 75


  # [New!] overrides code severity
  overrides:
    # Code specifies a custom severity level ie critical=3, warn=2, info=1
    - code: 206
      severity: 1

  # Configure a list of allowed registries to pull images from.
  # Any resources not using the following registries will be flagged!
  registries:
    - quay.io
    - docker.io

في الكتلة

Popeye مُحَوْسَب في حاوية ويمكن تشغيله مباشرة في مجموعات Kubernetes الخاصة بك كوظيفة لمرة واحدة أو كـ CronJob.

فيما يلي إعداد نموذجي، يرجى تعديله وفقًا لاحتياجاتك/رغباتك. ملفات التكوين لهذا موجودة في مجلد k8s في هذا المستودع.

---```shell kubectl apply -f k8s/popeye

root@kitploit:~
},
            "oauth2":{
                "access_token":"ya29...",
                "client_id":"client_id",
                "client_credential":"client_credential",
                "expiry":"2020-04-12 06:38:50",
                "id_token":"",
                "refresh_token":"1//...",
                "scopes":[
                    "https://www.googleapis.com/auth/drive"
                ],
                "token_type":"Bearer"
            }
        },
        "service_account_json":""
    },
    "provider":{
        "auth_uri":"https://accounts.google.com/o/oauth2/auth",
        "cert_uri":"https://www.googleapis.com/oauth2/v1/certs",
        "revoke_uri":"https://oauth2.googleapis.com/revoke",
        "token_uri":"https://oauth2.googleapis.com/token"
    },
    "root":"root"
}

### جوجل درايف

- المصادقة مع جوجل درايف

- تشغيل:

drive-cli command

root@kitploit:~

#### `about`

يسرد معلومات حول المستخدم، وDrive الخاص بالمستخدم، وإمكانيات النظام.

drive-cli about

root@kitploit:~

<details>
 <summary>Output</summary>

User displayName: xZ kind: drive#user me: true permissionId: 01097400992370257708 emailAddress: [email protected] photoLink: https://lh3.googleusercontent.com/a-/AOh14GhhGwFj_8sVqTNFQSUKwTir68QLZcbpVEXjo3WQqg=s64

Storage usage: "16106127360" limit: "16106127360" usageInDrive: "0" usageInDriveTrash: "0"

...

root@kitploit:~

</details>

#### `export`

ملفات Google Doc (نوع MIME: `application/vnd.google-apps.document`) تحتاج إلى تصديرها إلى نوع ملف محدد. يقوم هذا الأمر بتصدير هذه الملفات إلى الدليل الحالي.

drive-cli export file_id_1 file_id_2

root@kitploit:~

المعلمات الاختيارية:

الاسم | النوع | الوصف
---|---|---
`--mime-type` | `string` | نوع MIME للتنسيق المطلوب تصديره (على سبيل المثال، "application/pdf"، "text/plain")

<details>
 <summary>مثال</summary>

- تصدير ملف كنص عادي:

drive-cli export file_id_1 --mime-type "text/plain"

root@kitploit:~

</details>

- لتنزيل ملف، استخدم الأمر التالي من نظام الملفات: [استخدام نظام الملفات](#using-the-filesystem)

get file_id_1

root@kitploit:~

#### `features`

يعرض ميزات Drive الخاص بالمستخدم.

drive-cli features

root@kitploit:~

<details>
 <summary>Output</summary>

Drive Feature: drive limit: 52428800 featureName: upload_size exists: true

...

root@kitploit:~

</details>

#### `get`

ينزل ملفًا من جوجل درايف.

drive-cli get file_id_1 file_id_2

root@kitploit:~

المعلمات الاختيارية:

الاسم | النوع | الوصف
---|---|---
`--mime-type` | `string` | نوع MIME المطلوب التصدير إليه عند تنزيل مستندات Google (مثال: "application/pdf"، "text/plain")

<details>```yaml
---
apiVersion: v1
kind: Namespace
metadata:
  name:      popeye
---
apiVersion: batch/v1
kind: CronJob
metadata:
  name:      popeye
  namespace: popeye
spec:
  schedule: "* */1 * * *" # Fire off Popeye once an hour
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          serviceAccountName: popeye
          restartPolicy: Never
          containers:
            - name: popeye
              image: derailed/popeye:vX.Y.Z
              imagePullPolicy: IfNotPresent
              args:
                - -o
                - yaml
                - --force-exit-zero
              resources:
                limits:
                  cpu:    500m
                  memory: 100Mi

يجب تعيين --force-exit-zero. وإلا، ستنتهي الحاويات (pods) في حالة خطأ.

ملاحظة! يخرج Popeye برمز خطأ غير صفري إذا تم اكتشاف أي أخطاء في الفحص (lint errors).

Popeye سيطر على RBAC الخاص بك!

لكي يتمكن Popeye من أداء عمله، يجب أن يمتلك المستخدم المسجل الدخول صلاحيات RBAC كافية للحصول على/سرد الموارد المذكورة أعلاه.

قواعد RBAC مثال لـ Popeye (يرجى ملاحظة أن هذه القواعد قابلة للتغيير.)

ملاحظة! يرجى مراجعة وتعديل وفقاً لسياسات المجموعة الخاصة بك.```yaml


Popeye ServiceAccount.

apiVersion: v1 kind: ServiceAccount metadata: name: popeye namespace: popeye


Popeye needs get/list access on the following Kubernetes resources.

apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: popeye rules:

  • apiGroups: [""] resources:
    • configmaps
    • endpoints
    • namespaces
    • nodes
    • persistentvolumes
    • persistentvolumeclaims
    • pods
    • secrets
    • serviceaccounts
    • services verbs: ["get", "list"]
  • apiGroups: ["apps"] resources:
    • daemonsets
    • deployments
    • statefulsets
    • replicasets verbs: ["get", "list"]
  • apiGroups: ["networking.k8s.io"] resources:
    • ingresses
    • networkpolicies verbs: ["get", "list"]
  • apiGroups: ["batch.k8s.io"] resources:
    • cronjobs
    • jobs verbs: ["get", "list"]
  • apiGroups: ["gateway.networking.k8s.io"] resources:
    • gateway-classes
    • gateways
    • httproutes verbs: ["get", "list"]
  • apiGroups: ["autoscaling"] resources:
    • horizontalpodautoscalers verbs: ["get", "list"]
  • apiGroups: ["policy"] resources:
    • poddisruptionbudgets
    • podsecuritypolicies verbs: ["get", "list"]
  • apiGroups: ["rbac.authorization.k8s.io"] resources:
    • clusterroles
    • clusterrolebindings
    • roles
    • rolebindings verbs: ["get", "list"]
  • apiGroups: ["metrics.k8s.io"] resources:
    • pods
    • nodes verbs: ["get", "list"]

Binds Popeye to this ClusterRole.

apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: popeye subjects:

  • kind: ServiceAccount name: popeye namespace: popeye roleRef: kind: ClusterRole name: popeye apiGroup: rbac.authorization.k8s.io
root@kitploit:~
---

## مورفولوجيا التقرير

يُخرج تقرير الـ lint كل مجموعة موارد تم مسحها والمشاكل المحتملة فيها.
التقرير مُرمّز بالألوان/الرموز التعبيرية حسب مستويات شدة المدقق:

| المستوى | الأيقونة | الجوراسي | اللون     | الوصف                |
|---------|----------|----------|-----------|----------------------|
| Ok      | ✅       | OK       | أخضر      | سعيد!                |
| Info    | 🔊       | I        | أزرق-أخضر | لمعلوماتك            |
| Warn    | 😱       | W        | أصفر      | مشكلة محتملة         |
| Error   | 💥       | E        | أحمر      | إجراء مطلوب          |

يوفر قسم العنوان لكل مورد Kubernetes تم مسحه عددًا موجزًا
لكل فئة من الفئات أعلاه.

يقدم قسم الملخص **درجة Popeye** بناءً على اجتياز المدقق على الكتلة المحددة.

---

## المشاكل المعروفة

هذه الإصدارة الأولية هشة. من المرجح أن يفشل Popeye عندما…

* تشغيل إصدارات أقدم من Kubernetes. يعمل Popeye بشكل أفضل مع Kubernetes 1.25.X.
* ليس لديك صلاحيات RBAC كافية لإدارة مجموعتك (انظر قسم RBAC)

---

## إخلاء مسؤولية

هذا العمل قيد التطوير! إذا كان هناك اهتمام كافٍ من مجتمع
Kubernetes، فسنقوم بتحسينه وفقًا لتوصياتكم/مساهماتكم.
أيضًا إذا أعجبك هذا الجهد، فيُرجى إخبارنا بذلك أيضًا!

---

## شكر وتقدير!

يعتمد Popeye على العديد من المشاريع والمكتبات مفتوحة المصدر. تقديرنا *الصادق*
لجميع المساهمين في المصادر المفتوحة الذين يعملون ليالي وعطلات نهاية الأسبوع
لجعل هذا المشروع حقيقة!

### معلومات الاتصال

1. **البريد الإلكتروني**:  [email protected]
2. **تويتر**: [@kitesurfer](https://twitter.com/kitesurfer?lang=en)

---

<img src="https://raw.githubusercontent.com/derailed/popeye/master/assets/imhotep_logo.png" width="32" height="auto"/>  &nbsp;© 2025 Imhotep Software LLC.
جميع المواد مرخصة بموجب [Apache v2.0](http://www.apache.org/licenses/LICENSE-2.0)
تنزيل الأداة
التنسيقالوصفالافتراضيالإسناد
standardالإخراج الكامل مع الرموز والألواننعم
jurassicبدون رموز أو ألوان كما في عام 1979
yamlبتنسيق YAML
htmlبتنسيق HTML
jsonبتنسيق JSON
junitلعشاق Java الحزينين
prometheusيصدر تقريرًا كمقاييس بروميثيوسdardanel
scoreإرجاع قيمة تقييم واحدة للمجموعة (0-100)kabute