厨师DataBag值未在Chef run上使用

时间:2016-09-30 18:26:07

标签: linux chef databags

有一个类似于:

的简单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

但是现在食谱并没有从新创建的数据库中获取值。

是否还需要采取其他措施?我注意到那里有一个" auth_keys"当我通过ChefManage网站查看数据库时,我看到了一个"客户" (节点),但列表很短,并且它不包含我想要使用数据字节的节点,这可能是问题吗?

我将不胜感激。

1 个答案:

答案 0 :(得分:2)

你的措辞很模糊,但我猜这个问题是你对保险库的搜索查询不正确。由于安全问题,我首先不鼓励使用该功能,但您可以通过-A添加缺少的节点或修复搜索查询。使用knife search确保查询正确,然后根据需要刷新Vault。您应该在_keys项目中看到所有客户端。