Назад | Перейти на главную страницу

opsworks / chef databag куда поместить файл json?

Привет, я читаю это руководство: 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] key во время компиляции в рецепте Chef с использованием файла JSON из S3 (см. Чтение и анализ файла JSON для использования в рецепте в этом сообщении в блоге), хотя я не пробовал.