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
--all
diki run
--config=config.yaml
--all
--output=./report.json
diki run
--config=config.yaml
--provider=gardener
--ruleset-id=disa-kubernetes-stig
--ruleset-version=v2r1
diki 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.json
diki 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.json
diki report generate diff
--identity-attributes=gardener=id
--output=difference.html
difference1.json difference2.json
يمكنك تشغيل الاختبارات يدويًا عبر make test
.
المساهمات مرحب بها للغاية. لمعرفة المزيد ، راجع دليل المساهم.
شكر خاص لك إلى Vlerenc و alksandarsavchev و @dimityrmirchev الذين قدموا مساهمات كبيرة في المشروع قبل إتاحته للجمهور.