Starting the Regional Controller

The Regional Controller may run on any host machine with the following requirements:

  • a relatively recent version of Docker

  • high speed networking connectivity to the Edgesites that will be deployed

  • access to the Internet for downloading Blueprints, Docker images, etc.

There is one shell script, start_arc.sh, that may be downloaded and run to start the RC. This script takes no command line parameters; some internal values may be changed by setting and exporting certain environment variables. 

To start the Regional Controller, clone the scripts from gerrit, and then run this script as follows:

$ git clone https://gerrit.akraino.org/r/regional_controller/api-server.git
$ cd api-server/scripts 
$ ./start_arc.sh 


The operation of the start script may be modified by setting and exporting any of the following environment variables (you do so at your own risk):

VariableDefault ValuePurpose

DROOT

/data

The root of the directory tree for volumes shared with the containers.

DOMAIN

akraino.demo

The domain under which all these containers run.

PREFIX

arc

The prefix used when naming the Docker containers.

PW

abc123

The password used for the databases.

NETWORK

${PREFIX}-net

The name of the Docker network that all containers run on.

CERTDIR

${DROOT}/nginx/cert

Alternate directory to pass to NGiNX for the SSL certificates.

API_IMAGE

nexus3.akraino.org:10003/akraino/arc_api:latest

The Docker image used for the API server.

AF_IMAGE

nexus3.akraino.org:10003/akraino/airflow:latest

The Docker image used for the Apache Airflow workflow engine.

DB_IMAGE

mariadb:10.4

The Docker image used for the database.

LDAP_IMAGE

osixia/openldap:1.2.4

The Docker image used for the LDAP server.

The copy of NGiNX internal to the Regional Controller will only allow HTTPS (port 443) access. It comes with some built in SSL certificates, that are self-signed and are for the domain arc.akraino.demo. These are intended for demo use only; you will probably want to get your own certificates. To replace the default certificates, set the $CERTDIR variable to the directory containing your certificates. These MUST be named akraino.crt and akraino.key.

Internal Structure of the Regional Controller

The regional controller consists internally of ten docker containers.  The following diagram shows the internal flow of communication.

Internal Structure of the RC