Saltstack

SaltStack:如果 /etc/.git 不存在,請執行“etckeeper init”

  • March 9, 2018

我想通過 SaltStack 部署工具etckeeper

安裝 RPM/DPKG 很容易。

下一步是etckeeper init安裝後呼叫。

我目前的想法是這個虛擬碼:

etckeeper init如果/etc/.git不存在則執行

我閱讀了file.exists的文件,但這對我沒有幫助。

如何用 SaltStack 解決這個問題?

您可以使用 cmd.run 的“creates”參數,它告訴 saltstack 如果文件已經存在,則避免執行命令:

etckeeper_init:
 cmd.run:
   - name: etckeeper init
   - creates: /etc/.git

我找到了這個解決方案。歡迎其他解決方案!

etckeeper:
 pkg.installed

{%- if not salt['file.directory_exists' ]('/etc/.git') %}
init_etckeeper:
 cmd.run:
   - name: etckeeper init

initial_commit_etckeeper:
 cmd.run:
   - name: etckeeper commit -m "initial commit"
{%- endif %}

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