The Jolie Docker Orchestrator
Switch branches/tags
Nothing to show
Clone or download
klag Merge pull request #11 from klag/master
added field .none in type Networks
Latest commit ec4fe8d Nov 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ExampleOrchestrator updated Dockerfile of ServiceToTest Jul 11, 2017
clients updates Jun 21, 2017
scripts updates Jun 21, 2017
InterfaceAPI.iol Merge pull request #11 from klag/master Nov 6, 2018
README.md bug fixes Jun 19, 2017
config.ini added script folder Jun 20, 2017
dockerAPI.ol added forceContentDeconding to build operation Jul 6, 2017

README.md

Jocker

The Jolie Docker Orchestrator (work to commence soon).

##Requirements In Linux environments it is necessary to install libmathhew libraries in order to enable communication between jocker and Docker on local unix sockets. In ubuntu, it is necessary to:

  • sudo apt get update
  • sudo apt-get install libunixsocket-java
  • cp /usr/lib/jni/libunix-java.so /usr/lib64/libmatthew-java/libunix-java.so

Let's take a look..

This Orchestrator allow us to contact docker API trought Jolie language: Users are able to launch many of the most important API Docker in Jolie like building images, create containers, starting container, inspect volume, networks and much more.

Thanks to this it's possible to create some orchestrators that work managing Docker's API.

Interface.iol

Into this file are specified all possible data-types that define Request and Response operations. The intent of this interface is to recreate the model of any API docker, either in the request and in response.

dockerAPI.ol

Here we find the declaretion of all operations present in the Interface. Trought the output port we handle the comunication with Docker and inside each operation we have a response by docker that it will be translated and sended to the client. The output port describe, for each operation, alias, method and format of http calls, to recreate the original like POST,GET,DELETE... action/path_parameters?query_parameter in json format. There's also a fault handling that checks the status code given to us by docker to catch errors that occur during the execution.

Examples - client directory

Into this directory we found all client request to each created API docker. Inside each file .ol there's an example of a request that it's send to docker and ask to it to do an operation like create container, build images, remove volumes and much more.

How-to

The scope is to give the right technology to deploy microservices, the possibility to create orchestrators for their own needs. Simply downloading dockerAPI.ol and InterfaceAPI.ol you get Jocker's heart. After this, you can create Jolie orchestrator by binding this to dockerAPI.ol and nothing else. Jocker will do the requests to Docker without your managing. In your orchestrator you can call API docker for your endings and you can create also routinary procedures to deploying microservices.