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

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

我想要部署该工具etckeeper通过 SaltStack。

安装 RPM/DPKG 很容易。

下一步是etckeeper init安装后拨打电话。

我目前的想法是这个伪代码:

etckeeper init如果/etc/.git不存在则执行

我读了以下文档文件已存在,但这对我没有帮助。

如何使用 SaltStack 解决这个问题?

答案1

您可以使用 cmd.run 的“creates”参数,它告诉 saltstack 如果文件已存在则避免运行命令:

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

答案2

我找到了这个解决方案。欢迎提供其他解决方案!

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 %}

相关内容