Diki A "Checker การปฏิบัติตามกฎระเบียบ" หรือเรียงลำดับกรอบการควบคุมนักสืบที่มีชุดกฎที่สามารถเสียบได้ เป็นส่วนหนึ่งของตระกูล Gardener แต่สามารถใช้กับ Kubernetes distros อื่น ๆ หรือแม้แต่ในสภาพแวดล้อมที่ไม่ใช่ Kubernetes เช่นเพื่อตรวจสอบการปฏิบัติตามบัญชี Hyperscaler ของคุณ
Diki เป็นคำภาษากรีกสำหรับ "การทดลอง" นอกจากนี้คุณยังสามารถจดจำได้ว่าเป็น "การสอบสวนนักสืบเกี่ยวกับสิ่งจำเป็นที่สำคัญ" หรือเป็นตัวย่อแบบเรียกซ้ำสไตล์ GNU "Diki ตรวจสอบสิ่งจำเป็นที่สำคัญ" เป็นที่รู้จักกันในนามว่า "ฉันไม่รู้จัก" ซึ่งเป็นสิ่งที่ดีเช่นกันสำหรับสิ่งที่มันทำ
สำคัญ
ที่เก็บนี้กำลังพัฒนาอย่างแข็งขัน APIs สามารถเปลี่ยนแปลงได้โดยไม่ต้องใช้ความเข้ากันได้ย้อนหลัง
หากคุณติดตั้งผ่าน 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
Executions สิ่งนี้สามารถช่วยในการระบุการปรับปรุง (หรือการถดถอย) รายงานความแตกต่าง 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, @aleksandarsavchev และ @dimityrmirchev ผู้มีส่วนร่วมอย่างมีนัยสำคัญต่อโครงการก่อนที่จะเปิดเผยต่อสาธารณชน