ArangoDB Foxx Service and node.js bot to sync SVN revision logs into ArangoDB
This instrumentary has the following tools
-
CLI utility written as Node.js made bot that you can execute on time intervals or as a post commit hook for Visual SVN Server or whatver else you might be using.
-
Foxx service that runs inside ArangoDB
https://www.arangodb.com/why-arangodb/foxx/ Foxx is a JavaScript framework for writing data-centric HTTP microservices that run directly inside of ArangoDB.
Once you downloaded hooks_svn_arangodb you will need just few more steps
- Make sure tht your ArangoDB is up and runnign and accessible from the machine where you install your service
- Run foxx install on foxx-service folder that comes from this repo
Once service is installed to the endpoint you specified, you can test it by going on http://your_arangodb_server/.../your_endpoint/hooks-svn/ and it should bring you response like the following:
{
"result": "ok"
}
Here we go, you've got running.
You might want to put your Foxx service behind some proxy with different authentication rules and so on, like in some of my cases, I put my foxx services behind /api virtual folder on my web apps or even giving api subdoman to them.
Now we need to setup the bot itself, which is pretty straight forward CLI writtend in Node.js that using unirest, commander and node-svn-ultimate modules.
- Inside of . svn-bot folder run
yarn
Once dependencies are installed you can run yarn start
yarn start --help
-a, --address [svn address] address
-u, --username [username] username
-p, --password [password] password
-d, --destination [destination] API destination where data will be sent
-h, --help output usage information
While -a, -u, -p are all about connecting to your SVN server, -d is the address where your SVN web hook is located