A simple Node.js package to send functions to Salt Stack salt-api via CherryPy.
Use Salt modules from Node.js.
You need to have salt-api and CherryPy installed and configured.
Please follow the installation instructions of Salt netapi rest_cherrypy.
npm add salt-api
const Salt = require("salt-api");
Configure the API via an object containing url, username, password. If needed, you can also provide eauth. Defaults to "pam".
const salt = new Salt(YourConfigObjectHere);
Make sure salt-api is done with the authentication.
await salt.ready;
or
salt.ready.then(()=>{// Code});salt.fun(target, function, arguments, keyword arguments, client, pillar)
target defaults to "*"function defaults to "test.ping"arg defaults to false, not sentkwarg defaults to false, not sentclient defaults to "local"pillar defaults to false, not sent
Returns a Promise that resolves an object containing a return array with the data directly from the API.
constSalt=require("salt-api");constsalt=salt({url: "http://localhost:8000",username: "salt",password: "secret"});salt.ready.then(()=>{// Same as running `salt "*" test.ping` in the command linesalt.fun("*","test.ping").then(data=>{// Do something with the dataconsole.log(data);// { return: [ { b827eb3aaaf7: true, b827ebcc82fe: true } ] }}).catch(e=>console.error(e));});LICENSE: MIT