-
Notifications
You must be signed in to change notification settings - Fork 14
Create an ansible script for deploying a CENOBridge #257
Comments
I'd like to take a chance on this one. Shall I take any particular playbook under |
It just ensures that the CENO user is present.
I've started this under https://github.com/ivilata/ceno/tree/ansible-for-bridge. I will probably use Supervisor to run and monitor the bridge, bundle server and reader daemons. |
The current playbook ( |
Ok, I think the Ansible config files under The main difference from @misaakidis' proposal is that daemons are run by Supervisor instead of Cron, so they can be properly restarted when they die. The Freenet installation is a very raw one just using the jars, with Supervisor invoking Java straight away (without a wrapper) so as to keep track of subprocesses. Stdout and stderr logs go to the standard Some pending issues that I'd like to check:
Also, only ports 3094 (Bundler), 3095 (Bridge plugin) and 3096 (Reader) are open, while bridge install instructions mention that the plugin should also open port 3093, but maybe the docs are obsolete here. |
Sending the output of daemons started by Supervisor to syslog seems to work and adds proper timestamps to lines, so I've enabled this. Regarding |
I decided to just download Since adding the wrapper looks like a pointless complication (Supervisor takes care of the Java process), I think the playbook is now complete. Maybe checking downloaded Freenet files with GPG would be desirable… |
We need an ansible playbook to use for deploying CENO Bridges.
The user will have to place a CENOBox.zip file in a specific place ( https://docs.ansible.com/ansible/playbooks_best_practices.html#id9 ). She should be able to choose whether the bridge will be an RSS inserter bridge (isMasterBridge in .CENO/bridge.properties), a signal receiver bridge (isSignalBridge), or both.
Users should also be able to specify the insertion key the bridge will be using (insertURI and requestURI in bridge.properties).
The playbook will go through the following steps:
npm install
in /home/ceno/CENOBridge/bundle-server//home/ceno/CENOBridge/CENOBridge.sh
Make sure that cronjob does start bundle-server (it might take a couple of minutes).
A role should be added to deploy a CENO client node, using the existing playbook.
The scripts will be placed on either a new directory (e.g. ceno-deploy), or under ceno-box.
The text was updated successfully, but these errors were encountered: