salt.states.file.managed需要source_hash
作爲驗證下載文件的參數。這阻止我使用file.managed
作爲我無法控制的在線服務器上的文件。該文件也會定期更改。我的配置看起來像這樣。使用file.managed在Salt中下載文件
download_stuff:
file.managed:
- name: localfile.tar.gz
- source: http://someserver.net/onlinefile.tar.gz
- source_hash: ???
我不想使用cmd.run
與Curl
或wget
,因爲這將始終下載該文件,甚至當它已經在本地機器上。
我想知道,如果下面的選項之一是可能的/存在:
- 在線MD5計算服務。有沒有辦法通過免費的網絡服務獲得文件的md5散列?我正在考慮像
http://md5service.net?url={url-to-file}
。 - salt-internal conversion or workaround。 Salt可以處理這個問題嗎?也許通過不知何故退出
source_hash
? - 替代狀態。 Salt中是否有另一個國家做這樣的事情,而不會失去只在需要時下載文件的好處?
你爲什麼不添加爲糧食下載的軟件包的散列的當前值和下一次?將哈希與新包進行比較? – tudoricc
@tudoricc我想下載([Craft](http://buildwithcraft.com))的最新版本。鏈接始終保持不變,但一旦發佈,它就會重定向到新版本。 – cdMinix
@tudoricc同時感謝您的提問,我補充說這個文件偶爾會改變這個問題。 – cdMinix