Назад | Перейти на главную страницу

SaltStack: выполните «etckeeper init», если /etc/.git нет

Я хочу развернуть инструмент etckeeper через SaltStack.

Установить RPM / DPKG очень просто.

Следующий шаг - позвонить etckeeper init после установки.

Моя текущая идея - это псевдокод:

выполнять etckeeper init если /etc/.git не существует

Я прочитал документацию для Файл существует, но мне это не помогает.

Как решить эту проблему с помощью SaltStack?

Вы можете использовать аргумент «создает» для cmd.run, который сообщает 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 %}