Diki A "مدقق الامتثال" أو نوعًا ، إطار عمل للتحكم في المباحث مع مجموعات القواعد القابلة للتوصيل. إنه جزء من عائلة البستاني ، ولكن يمكن استخدامه أيضًا على توزيعات Kubernetes الأخرى أو حتى في بيئات غير Kubernetes ، على سبيل المثال ، للتحقق من امتثال حسابات فرط الأداء الخاصة بك.
ديكي هي الكلمة اليونانية لـ "المحاكمة". يمكنك أيضًا حفظها على أنها "التحقيق المباحث عن الضرورات الرئيسية" أو كاختصار متكرر على غرار GNU "Diki التحقيق في الضرورات الرئيسية". إنه معروف بالعامية باسم "لا أعرفه" ، وهو مناسب جدًا لما يفعله.
مهم
هذا المستودع يتطور بنشاط. يمكن أن يتغير واجهات برمجة التطبيقات دون أي توافق متخلف.
إذا قمت بالتثبيت عبر إصدارات GitHub ، فأنت بحاجة إلى وضع Diki Binary على طريقك.
يمكن أن تبدو مقتطفات تثبيت عينة لـ MacOS مثل هذا:
# Example for macOS
# set operating system and architecture
os=darwin # choose between darwin, linux, windows
arch=amd64 # choose between amd64, arm64
# Get latest version. Alternatively set your desired version
version= $( curl -Ls -H ' Accept: application/json ' https://github.com/gardener/diki/releases/latest | jq -r ' .tag_name ' )
# Download diki
curl -LO " https://github.com/gardener/diki/releases/download/ ${version} /diki- ${os} - ${arch} "
# Make the diki binary executable
chmod +x " ./diki- ${os} - ${arch} "
# Move the binary in to your PATH
sudo mv " ./diki- ${os} - ${arch} " /usr/local/bin/diki يتم توفير معظم تكوينات run Diki من خلال ملف التكوين الخاص بها. تعتمد الخيارات على مختلف مقدمي الخدمات وقواعد. إليك بعض الأوامر لتبدأ:
diki run
--config=config.yaml
--alldiki run
--config=config.yaml
--all
--output=./report.jsondiki run
--config=config.yaml
--provider=gardener
--ruleset-id=disa-kubernetes-stig
--ruleset-version=v2r1diki run
--config=config.yaml
--provider=gardener
--ruleset-id=disa-kubernetes-stig
--ruleset-version=v2r1
--rule-id=242414 يمكن لـ Diki إنشاء تقرير قابل للقراءة بشري من ملفات الإخراج لتنفيذ diki run . يمكن إنتاج التقارير المدمجة عن طريق تعيين العلم distinct-by . قيمة هذه العلامة هي قائمة key=value حيث تكون المفاتيح هي معرفات مقدمي الخدمات التي نريد تضمينها في التقرير المدمج والقيم هي حقول البيانات الوصفية الفريدة لاستخدامها كقيم تمييز بين عمليات مزود مختلفة.
diki report generate
--output=report.html
output.jsondiki report generate
--distinct-by=gardener=id
--output=report.html
output1.json output2.json يمكن لـ Diki إنشاء JSON يحتوي على الفرق بين ملفين إخراجين من عمليات diki run . هذا يمكن أن يساعد في تحديد التحسينات (أو الانحدارات). يمكن إنشاء تقرير HTML الفرق القابل للقراءة البشرية من تقارير الفرق.
diki report diff
--title=Title
--old=output1.json
--new=output2.json
--output=difference.jsondiki report generate diff
--identity-attributes=gardener=id
--output=difference.html
difference1.json difference2.json يمكنك تشغيل الاختبارات يدويًا عبر make test .
المساهمات مرحب بها للغاية. لمعرفة المزيد ، راجع دليل المساهم.
شكر خاص لك إلى Vlerenc و alksandarsavchev و @dimityrmirchev الذين قدموا مساهمات كبيرة في المشروع قبل إتاحته للجمهور.