Как поместить файл на мастер соли через соль-API

Я хочу разместить файл файл на salt-master через salt-api. Я настроил salt-api с помощью rest cherrypy и настроил для него пользовательский хук. Я хотел исследовать сценарий использования, где мы можем сначала передать файл в salt-master, а затем распространить его среди миньонов. Я могу выполнить вторую часть, но не смог опубликовать файл данных в API.

1 ответ

Вот один из способов сделать это с помощью исполняющего модуля file.write.

Сначала войдите в систему и сохраните токен в файл cookie (мне пришлось изменить eauth на ldap, по какой-то причине auto не работал):

curl -sSk http://localhost:8000/login \
      -c ~/cookies.txt \
      -H 'Accept: application/x-yaml' \
      -d username=USERNAME\
      -d password=PASSWORD \
      -d eauth=auto

Теперь запустите задание для создания файла на salt-master (при условии, что ваш salt-master также запускает salt-minion):

curl -sSk http://localhost:8000 \
      -b ~/cookies.txt \
      -H 'Accept: application/x-yaml' \
      -d client=local \
      -d tgt='saltmaster' \
      -d fun=file.write \
      -d arg='/tmp/somefile.txt' \
      -d arg='This is some example text

with newlines

A
B
C'

Обратите внимание, что интервал, используемый в вашей команде, будет влиять на то, как строки будут отображаться в файле, а приведенный выше пример дает наиболее эстетичный результат.

Другие вопросы по тегам