diki
v0.12.0
Diki A“合規性檢查器”或分類,這是具有可插入規則集的偵探控制框架。它是園丁家族的一部分,但也可用於其他Kubernetes發行版,甚至可以在非Kubernetes環境中使用,例如檢查您的超級評分帳戶的合規性。
Diki是“試驗”的希臘語。您還可以將其記住為“關鍵要素的偵探調查”或GNU風格的遞歸首字母縮寫“ Diki調查了關鍵的要求”。它被稱為“我不知道”,這也非常適合它的工作。
重要的
該存儲庫正在積極發展。 API可以改變而無需任何向後兼容。
如果您通過GitHub釋放安裝,則需要將Diki二進制裝置放在路徑上。
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
Diki的大部分run
配置都是通過其配置文件提供的。選項取決於不同的提供商和規則集。以下是幾個命令可以讓您入門:
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
對的列表,其中鍵是我們希望在合併報告中包含的提供商的ID,並且值是唯一的元數據字段用作不同提供商運行之間的區別值。
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, @aleksandarsavchev和@dimityrmirchev,他們在向該項目提供了重大貢獻。