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,他们在向该项目提供了重大贡献。