opsworks/chef 数据包中 json 文件放在哪里?

opsworks/chef 数据包中 json 文件放在哪里?

你好,我正在阅读这个指南: https://github.com/imoglobe/opsworks-cookbooks/blob/master/user/README.md 但它没有提到将数据包和 JSON 格式的用户列表一起放在食谱中的什么位置。我进行了一些搜索,得到的答案是针对常规厨师的,而不是 AWS opsworks 厨师。有人能给我指明正确的方向吗?我相信这是一个简单的答案。谢谢

答案1

如果你只是想管理登录用户,那么 OpsWorks 有内置支持允许 IAM 用户登录堆栈内的实例。

回到你的实际问题 - OpsWorks 对数据包的支持有限。首先,根本不支持数据包Chef 11.10 之前版本

在 Chef 10.10 中您可以使用数据包但数据只能通过自定义 JSON在堆栈设置中:

您无法通过将数据包添加到菜谱存储库来创建数据包。您必须使用自定义 JSON。

...

您可以使用自定义 JSON 创建数据包,以将一个或多个属性添加到堆栈配置和部署 JSON [:opsworks][:data_bags] 属性

这尚未测试,但你的自定义可能看起来像这样:

{
  "opsworks": {
    "data_bags": {
      "users": {
        {
          "id": "hsolo",
          "comment": "Han Solo",
          "home": "/opt/hoth/hsolo",
          "ssh_keys": ["123...", "456..."]
        }
      }
    }
  }
}

你可以大概[:opsworks][:data_bags][:users]还可以使用来自 S3 的 JSON 文件在 Chef 配方中在编译时设置密钥(请参阅读取并解析 JSON 文件以用于菜谱在这篇博文中),尽管我还没有尝试过。

相关内容