Computational XML-RPC interface for Salt Smarts
343
Iodine - An application that serves the Linear Algebraic computation needs of Salt Smarts via an XML-RPC endpoint.
Iodine is the name of the server application that processes fertilizer computation formulae sent from the Salt Smarts platform.
It is a simple XML RPC server written in Python that extends the CPython build of the AlgLib library [http://www.alglib.net/]
There is a Laravel Lumen RESTful API written on top of this Python XML RPC endpoint to extend functionality out in a more flexible platform. This RESTful API is called Sodium.
Iodine is deployed/installed easily via a Bash script, Dockerfile, or Jenkinsfile, with an available Supervisord configuration file in order to provide on-boot starting of the Iodine Server as well as monitoring of the process.
Ideally this should be deployed in a small VPS/VM, or in a container. There is a Dockerfile that will create a container with this running, as well as a Jenkinsfile for inclusion into a CI/CD pipeline with Red Hat OpenShift.
Otherwise, this will require...
root@localhost:/opt# git clone https://github.com/kenmoini/iodineServer.git
root@localhost:/opt# cd iodineServer
root@localhost:/opt/iodineServer# ./install.sh
root@localhost:/opt/iodineServer# python ./check.py
root@localhost:/opt/iodineServer# python ./xmlrpc-server.py -s
root@localhost:/opt/iodineServer# cp iodine-supervisord.conf /etc/supervisor/conf.d/
There is a simple connection test file included, check.py, that checks for proper AlgLib CPython import, a basic uptime RPC test, as well as a verified fertilizer computation test.
Content type
Image
Digest
Size
394.9 MB
Last updated
over 6 years ago
docker pull kenmoini/iodine-server