Ubuntu

opsworks/chef databag 將 json 文件放在哪裡?

  • January 23, 2015

您好,我正在閱讀此操作指南: https ://github.com/imoglobe/opsworks-cookbooks/blob/master/user/README.md 但它沒有提到將數據包放在使用者列表中的食譜中的位置以 json 格式.. 我已經為普通廚師而不是 AWS opsworks 廚師做了一些搜尋和答案。誰能把我推向正確的方向?我確定這是一個簡單的答案。謝謝

如果您只是想管理登錄使用者,那麼 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 文件以在此部落格文章中的配方中使用),儘管我沒有嘗試過。

引用自:https://serverfault.com/questions/661910