2013-03-07 116 views
21

我是廚師新手,在閱讀完文檔後,我仍然無法理解何時使用屬性以及何時使用數據包。廚師屬性與數據包

什麼樣的數據應該存儲爲屬性,以及應該在數據包中存儲什麼樣的數據?

感謝

回答

24

嗯,這取決於。儘管數據包和屬性都包含數據,但它們之間的主要區別在於,在運行配方時,屬性會暴露爲節點屬性,但您沒有清楚概覽使用了哪些數據包(除了您通過配方運行列表)。

我個人存儲的屬性是什麼:這裏的東西(文件,程序)安裝

  • 路徑,創建
  • 軟件版本
  • 網址,端口(從下載,服務器等聽。)
  • 用戶名

而且在數據包:

  • 一切,不能暴露 - 在加密的數據包(私鑰密碼)
  • 用戶屬性(名稱,外殼,密碼哈希,公共密鑰,評論等)
  • 一些其他配置,這是更像對象,但不是簡單的字符串或數字數據,這對節點本身並不重要。

關於最後一點:一個示例是maven存儲庫列表。存儲庫具有以下屬性:名稱,URL,策略等。對於節點配置存儲庫並不重要 - 重要的是它安裝了maven。 另一個例子是用戶,只有可用的用戶名在屬性中。所有其他數據都在數據包中,儘管它可能被暴露 - 在那裏沒有祕密數據。

+1

+1很清楚,謝謝。 – MiniQuark 2013-03-08 09:16:10

1

當然,這是其中沒有簡單答案的事情之一。我的經驗法則是任何屬於數據包的東西都屬於這種情況。例如,如果您有要使用fnichol's users cookbook在節點上創建的用戶和組的列表,那麼這就是數據包。爲了調整MySQL服務器上的參數,它是屬性。