Chef DataBag 值未用于 Chef 运行
Chef DataBag values not being used on chef run
有一个简单的 DataBag 类似于:
{
"dsa-key": {
"app-key": "xxxxxxxx"
},
"region": {
"dev": {
"app-db": {
"user":"xxxxx",
"pass":"xxxxx"
},
"app-test-user": {
"user":"xxxxx",
"pass":"xxxxx"
}
},
"qe": {
"app-db": {
"user":"xxxxx",
"pass":"xxxxx"
},
"app-test-user": {
"user":"xxxxx",
"pass":"xxxxx"
}
},
}
}
这是一个现有的数据包,但我不得不更换它,因为最初创建它的人离开了,刀抱怨数据包没有使用我的密钥加密。
这就是我创建数据包的方式
knife vault create myDataBag auth "" --json myDataBag-credentials.json --search='role:build-myApp' --admins $USER --mode client
但是现在 cookbook 没有从新创建的数据包中获取值。
是否还有其他需要采取的步骤?当我通过 ChefManage 网站查看数据包时,我确实注意到数据包中有一个 "auth_keys",在那里我看到了一个 "clients"(节点)的列表,但该列表很短并且不包含我希望在其上使用数据包的节点,也许这就是问题所在?
如有任何帮助,我将不胜感激。
您的措辞非常含糊,但我猜问题是您对保管库的搜索查询不正确。出于安全考虑,我首先不鼓励使用该功能,但您可以通过 -A
添加您缺少的节点或修复您的搜索查询。使用 knife search
确保查询正确,然后根据需要刷新库。您应该在 _keys
项中看到所有客户端。
有一个简单的 DataBag 类似于:
{
"dsa-key": {
"app-key": "xxxxxxxx"
},
"region": {
"dev": {
"app-db": {
"user":"xxxxx",
"pass":"xxxxx"
},
"app-test-user": {
"user":"xxxxx",
"pass":"xxxxx"
}
},
"qe": {
"app-db": {
"user":"xxxxx",
"pass":"xxxxx"
},
"app-test-user": {
"user":"xxxxx",
"pass":"xxxxx"
}
},
}
}
这是一个现有的数据包,但我不得不更换它,因为最初创建它的人离开了,刀抱怨数据包没有使用我的密钥加密。
这就是我创建数据包的方式
knife vault create myDataBag auth "" --json myDataBag-credentials.json --search='role:build-myApp' --admins $USER --mode client
但是现在 cookbook 没有从新创建的数据包中获取值。
是否还有其他需要采取的步骤?当我通过 ChefManage 网站查看数据包时,我确实注意到数据包中有一个 "auth_keys",在那里我看到了一个 "clients"(节点)的列表,但该列表很短并且不包含我希望在其上使用数据包的节点,也许这就是问题所在?
如有任何帮助,我将不胜感激。
您的措辞非常含糊,但我猜问题是您对保管库的搜索查询不正确。出于安全考虑,我首先不鼓励使用该功能,但您可以通过 -A
添加您缺少的节点或修复您的搜索查询。使用 knife search
确保查询正确,然后根据需要刷新库。您应该在 _keys
项中看到所有客户端。