Как поместить файл на мастер соли через соль-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'
Обратите внимание, что интервал, используемый в вашей команде, будет влиять на то, как строки будут отображаться в файле, а приведенный выше пример дает наиболее эстетичный результат.