Chef DataBag值没有在Chef运行中使用



设置一个简单的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不能从新创建的数据库中获取值。

还有其他需要采取的步骤吗?我确实注意到,有一个"auth_keys"内部的数据库,当我看它通过ChefManage网站,在那里我看到一个列表的"客户端"(节点),但列表很短,它不包含节点我想要数据库使用上,也许这是问题?

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

最新更新