厨师保险库刷新所有

时间:2014-11-06 15:58:42

标签: chef knife

我想刷新我的所有保险库,是否有一个解决方案可以通过一个命令执行此操作?

E.g。

knife vault refresh certs secret1
knife vault refresh certs secret2
..
--> knife vault refresh certs *

2 个答案:

答案 0 :(得分:2)

您可以自动使用"刀数据包"命令。

以下是如何在shell中执行此操作:

for i in $(knife data bag list); do 
    for j in $(knife data bag show $i|grep _keys$|sed s/_keys$//); do 
      echo knife vault refresh $i $j
    done
done

当您对结果感到满意时,您只需删除" echo"从第3行开始。

答案 1 :(得分:0)

目前在厨师保险库中似乎无法做到这一点。您必须同时提供保管库和项目刷新命令。或者,您可以为此创建一些自动化任务(rake任务),因此您不需要每次都手动运行多个命令。

您可以在GitHub上的chef-vault repo上创建功能请求。