The MiCADO Execution Engine Client (EEC) for the EMGWAM component in CloudiFacturing, Co-Versatile and DIGITbrain.
Enables the deployment and execution of applications and services using the MiCADO cloud orchestration framework.
The MiCADO EEC implements a RESTful API according to v1.4.0 of the EMGWAM Execution Engine Client API. Please refer to the specification for more detail.
The MiCADO EEC is shipped as a Docker container and makes heavy use of the MiCADO Client Library. It is deployed behind traefik and secured with SSL. Client certificate verification can be optionally enabled.
Minimum specs.
- 2 vCPUs | 4GB RAM | 20GB Disk | Ubuntu 20.04
- FQDN that resolves to the instance public IP
Install Docker and Docker-Compose.
Clone this repository into a directory of your choice
git clone https://github.com/micado-scale/eec project_name_eec
cd project_name_eec
Create the following default directories on the host. You can change these by modifying the
volumes
sections in docker-compose.yml
.
/etc/micado
(Configuration dir for the MiCADO Client Library)/etc/eec
(Configuration dir for the MiCADO EEC)/etc/traefik/dynamic
(Configuration dir for traefik)
If you did not use the default directories above, make sure to use the new names in the steps below
Create a credentials file
at /etc/micado/credentials-cloud-api.yml
and fill in your OpenStack or CloudBroker credentials. Sample credentials file are available in the Ansible-micado repository.
- Optional Create a private Docker regsitry credential file
at
/etc/micado/credentials-docker-registry.yml
and fill in your private registry URL and credentials.
Copy openstack_micado_spec.yml
or cloudbroker_micado_spec.yml
to /etc/eec/micado_spec.yaml
and populate it with the relevant cloud IDs
and names that describe your desired MiCADO node on your desired cloud. This should be an instance meeting the
recommended requirements
with an appropriate
firewall configuration.
Copy traefik.toml
to /etc/traefik/traefik.toml
and replace foo@example.com
with a valid email address.
Copy force-https.toml
to /etc/traefik/dynamic/force-https.toml
Create an empty file in which Traefik can store retrieved HTTPS certificates. Set restrictive rw------- permissions for the created file.
touch /etc/traefik/acme.json
chmod 600 /etc/traefik/acme.json
Edit docker-compose.yml
and replace example.com
with your domain. Also modify the ENV variables MICADO_CLOUD_LAUNCHER and MICADO_SPEC if necessary.
Run docker-compose up -d
and the deployment is complete.
Provide an EMGWAM administrator with your domain name and details.