diki a「コンプライアンスチェッカー」またはソート、プラグ可能なルールセットを備えた探偵制御フレームワーク。それは庭師ファミリーの一部ですが、他のKubernetesディストリビューションや非Kubernetes環境など、HyperScalerアカウントのコンプライアンスを確認するためにも使用できます。
ディキは「裁判」のギリシャ語です。また、「重要な命令の探偵調査」として、または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
フラグを設定することで作成できます。このフラグの値は、キーがマージレポートに含めるプロバイダーのIDであり、値は異なるプロバイダーの実行間の区別値として使用される一意のメタデータフィールドである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は、 diki run
実行の2つの出力ファイル間の違いを含むJSONを生成できます。これは、改善(または回帰)を特定するのに役立ちます。人間の読み取り可能な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
使用してテストを手動で実行できます。
貢献は大歓迎です。詳細については、Contributor Guideを参照してください。
@Vlerenc、@aleksandarsavchev、および@dimityrmirchevに特別な感謝に感謝します。