Categorygithub.com/DITAS-Project/computation-movement-enactor
modulepackage
0.0.0-20191017155934-c0e962c9a6d5
Repository: https://github.com/ditas-project/computation-movement-enactor.git
Documentation: pkg.go.dev

# README

Computation Movement Enactor

The Computation Movement Enactor (CME) is the DITAS component in charge of coordinating the movement of VDCs across different clusters. It is intended to be run inside a VDM and to be automatically deployed by the DITAS Deployment Engine

Build

The CME is written in golang and go version 1.13 is required. To facilitate building and executing a Dockerfile is provided. It can be built with docker build . -t ditas/computation-movement-enactor A Jenkins file is provided as well to integrate into the DITAS CI environment.

Configuration

The CME expects is configured by a file named cme.properties that must be mounted as a volume in the container path /etc/ditas. The DITAS Deployment Engine will do it automatically when deploying this component inside a VDM. The properties that can be configured are:

  • port: The port in which the CME will listen for requests. By default it's 8080
  • tombstone.use_ssl: Set this property to true to communicate with the Tombstone component by https. Otherwise, it will try to communicate by http. By default it's false
  • deployment_engine.url: This mandatory property holds the base URL of the DITAS Deployment Engine
  • blueprint.id: This mandatory property holds the abstract blueprint identifier of the VDM that's holding the CME
  • sign.key: This mandatory property holds the shared secret key between the CME and the Tombstone component of each of the VDCs it manages.

# Functions

GetParamsMap gets a map of values from a list of keys that are mandatory.
NewMovementController creates a new Computation Movement Controller with the deployment engine location, a pre shared key to sign the tombstone requests and a boolean to indicate if it should communicate with the tombstone service in a secure (https) or insecure manner (http).

# Structs

HTTPError is the representation of an error that arises from a HTTP call.
MovementController is the structure to control movement of VDCs.