【问题标题】:Can we automate updating the chef node attributes?我们可以自动更新厨师节点属性吗?
【发布时间】:2022-01-10 05:00:19
【问题描述】:

我在 Chef 节点中有一个带有以下 json 的节点:

 {
  "name": "app-node-01",
  "chef_environment": "dev",
  "run_list": [
  "recipe[hello-world]"
],
  "normal": {
    "app_version": "1.0.0",
    "tags": [

    ]
  }
}

我正在尝试寻找一种在 github 中管理此 json 配置的方法,当 app_version 的版本发生更改时,我会更新 github 中的 json 文件并将版本更新为 1.0.1 并运行像knife node edit -c <json file from github> app-node-01 这样的命令该命令将遍历 json 文件并更新厨师中的节点?这可能吗?

我在本地尝试了该命令,但它打开了 VI 编辑器供我编辑。

我不想进行手动编辑,因为我正在尝试在 github 中寻找一种方法来管理它,就像任何其他厨师工件(数据包、环境文件、食谱等)一样

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    与其他 Chef 工件一样,节点也可以使用 from file 参数从文件更新。

    你需要运行而不是knife node edit

    knife node from file PATH_TO_JSON_FILE
    

    【讨论】: