. . .

Service Generation Installation

Introduction

In order to use the Microservice Generation Feature (BETA), you need to install several product components. This page guides you through the different installation processes and helps you setup your environment for microservice generation.

Installation Overview

Bundle

Component

Installation guide

Usage

Base components

Consul
JDK
MongoDB
Yambas
Dashboard
Explorer
Instructor

You need to set up the base components to be able to create modules, services and classes.

Gateway Service

Dispatcher

You can use Dispatcher to hide internal services from the outside world.

Generation Service

Brewer

You need Brewer to generate microservices out of your ApiOmat classes.

Hosting Service

Innkeeper

You need Innkeeper to host the service artifact files.

Deployment Service

Executor (and Nomad)

You can use Executor to deploy and start your generated microservices. Additionally, you will have to install Nomad (see Executor installation page for further explanation).

Configuration Service

Gearhead

Gearhead is used to externalize the configuration of your generated services.

Authentication Service

Bouncer

You can use Bouncer as a central point for authentication, as well as identity and access management.

Preparation

You may install all the components above using a single command. First, you need to ensure that all the requirements of the components are fulfilled. The requirements of each component can be found on its installation page.

In detail, this means you need to install the following external components or add the required repositories:

  • Install and setup MongoDB

  • Add ApiOmat repository:

    Debian/Ubuntu
    apt-get install apt-transport-https
     
    wget -O - https://repo.apiomat.com/yambas/rest/web/Key/LIVE/apiomat-archive-keyring.asc | sudo apt-key add -
     
    echo "deb https://<USERNAME>:<PASSWORD>@repo.apiomat.com/yambas/rest/web/Repo/LIVE/deb ./" | sudo tee /etc/apt/sources.list.d/apiomat.list
    apt-get update
    Centos/Oracle/RedHat
    echo "[apiomat]
    name=ApiOmat
    baseurl=https://<USERNAME>:<PASSWORD>@repo.apiomat.com/yambas/rest/web/Repo/LIVE/rpm
    gpgcheck=0
    enabled=1" > /etc/yum.repos.d/apiomat.repo
     
    yum update
    Suse
    zypper addrepo --no-gpgcheck https://repo.apiomat.com/yambas/rest/web/Repo/LIVE/suse?token=<TOKEN> "ApiOmat"
    zypper refresh
  • Add PHP 7 repository:

    Ubuntu 14, 16 and 18
    add-apt-repository ppa:ondrej/php -y
    apt-get update
    Debian 8
    apt install apt-transport-https lsb-release ca-certificates
    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
    apt update
    Debian 9
    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
    apt update
    CentOS 6.X
    sudo yum remove php*
    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
     
     
    yum -y install epel-release
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    yum update
    CentOS 7.X
    yum remove php*
     
    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
     
    yum update
    OpenSUSE 12
    zypper remove php*
    zypper addrepo --no-gpgcheck http://download.opensuse.org/repositories/devel:/languages:/php:/php72/openSUSE_Leap_15.1/devel:languages:php:php72.repo
    zypper refresh
    OpenSUSE 15
    zypper remove php*
    zypper addrepo --no-gpgcheck http://download.opensuse.org/repositories/devel:/languages:/php:/php72/openSUSE_Leap_15.1/devel:languages:php:php72.repo
    zypper refresh

One-Line Command Installation

After preparation, you can install all the components with the following command:

Debian/Ubuntu
apt-get install apiomat-yambas=3.6.0.1 apiomat-dashboard=3.6.0 aom-consul=1.7.2 aom-nomad=0.11.0 aom-instructor=1.5.0 aom-explorer=1.2.0 aom-dispatcher=1.6.0 aom-innkeeper=2.0.0 aom-brewer=2.0.0 aom-executor=1.1.0 aom-gearhead=1.1.0 aom-bouncer=1.0.0
Centos/Oracle/RedHat
yum -y --nogpgcheck --enablerepo=remi-php73 install apiomat-yambas-3.6.0.1 apiomat-dashboard-3.6.0 aom-consul-1.7.2 aom-nomad-0.11.0 aom-instructor-1.5.0 aom-explorer-1.2.0 aom-dispatcher-1.6.0 aom-innkeeper-2.0.0 aom-brewer-2.0.0 aom-executor-1.1.0 aom-gearhead-1.1.0 aom-bouncer-1.0.0
Suse
zypper --no-gpg-checks --non-interactive install apiomat-yambas-3.6.0.1 apiomat-dashboard.suse-3.6.0 aom-consul-1.7.2 aom-nomad-0.11.0 aom-instructor-1.5.0 aom-explorer-1.2.0 aom-dispatcher-1.6.0 aom-innkeeper-2.0.0 aom-brewer-2.0.0 aom-executor-1.1.0 aom-gearhead-1.1.0 aom-bouncer-1.0.0

After the installation is finished, you need to do some configuration in order to run the components.

Configuration

The required configuration consists of:

Configuration details can be found in the component installation pages.