0

パッケージバージョンにデータバッグを使用しています。

databags/
  versions/
    0.1.1
    0.1.2
    0.1.3
    0.2.1
    0.2.2
    ...

バージョンが古くなったら、古いデータバッグのアイテムをパージしたい。たとえば、正規表現を使用してデータバッグ項目を一括削除する方法はありますか? 何かのようなもの:

knife data bag delete versions 0.1.*

現在、サーバーにクエリを実行し、結果を反復処理する必要があります。これには、複数のナイフ呼び出しが伴います。

4

2 に答える 2

0

これにはレポベースのデータバッグを使用します。

これを行うknife data bag from file 'folder'と、このフォルダー内の項目 (jsno ファイル) でデータバッグが上書きされます。 ドキュメントはこちら

そのため、ファイル システムの各アイテムに必要な json のみを含むクリーンなフォルダーを用意し、ファイル システム ツールを使用してコンテンツを管理すれば、1 つのコマンドで済みます。

ファイルシステムにデータバッグがまだない場合は、データバッグごとにディレクトリknife data bag show BAG ITEM -F json > databag_folder/item.jsonを作成してから、各アイテムを作成することができます (ナイフデータバッグショーをループすると役立つ場合があります)。

このための一種のナイフ プラグインが既に存在する可能性がありますが、私はそれを見つけることができませんでした。

クイック検索後に編集: http://docs.chef.io/chef/knife.html#id133このコマンドは、データバッグのアイテム/クックブックを削除するパターンを取ることができるようです。

于 2014-12-15T15:25:50.523 に答える