2017-03-22 4 views
0

Je veux placer un fichier sur salt-master via salt-api. J'ai configuré sel-api en utilisant reste cherrypy et configuré un crochet personnalisé pour cela. Je voulais explorer le cas d'utilisation où l'on peut transférer le fichier d'abord à salt-master et ensuite le distribuer aux minions. Je suis en mesure d'atteindre la deuxième partie, mais n'a pas été en mesure de publier le fichier de données à l'API.Comment placer un fichier sur salt maître via salt-api

Répondre

0

Voici une façon de le faire en utilisant le module d'exécution file.write.

Première connexion et enregistrez le jeton dans un fichier cookie (je devais changer eauth à ldap, auto ne fonctionne pas pour une raison quelconque):

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

Maintenant, exécutez un travail pour créer un fichier sur le maître de sel (en supposant que votre maître de sel exécute également un sel sbire):

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' 

Notez que l'espacement utilisé dans votre commande aura une incidence sur la façon dont les lignes afficheront dans le fichier, avec l'exemple ci-dessus donne le résultat le plus esthétique.