Ответ 1
Ну, это зависит. Хотя данные и атрибуты данных содержат данные, основное различие между ними заключается в том, что атрибуты отображаются как свойства node при запуске рецепта, но у вас нет четкого обзора того, какие пакеты данных были использованы (за исключением того, что вы проходите через рецепты в списке запуска).
Я лично храню в атрибутах:
- Пути, в которых установлено что-то (файлы, программы)
- Версии программного обеспечения
- Urls, порты (для загрузки с серверов, прослушивание и т.д.).
- Usernames
И в пакетах данных:
- Все, что невозможно разоблачить - в зашифрованных пакетах данных (закрытые ключи, пароли)
- свойства пользователя (имя, оболочка, хэши паролей, открытый ключ, комментарий и т.д.).
- Некоторые другие конфигурации, которые больше похожи на объекты, но не простые строковые или числовые данные, и это не важно для самого node.
О последнем пункте: пример - список репозиториев maven. У репозитория есть свойства: имя, URL, политика и т.д. И не важно для node, какие репозитории настроены - важно, чтобы он был установлен. Другим примером является пользователь, только доступные имена пользователей находятся в атрибутах. Все остальные данные находятся в пакете данных, хотя он может быть открыт - никаких секретных данных нет.