[Brewer] Installation
Introduction
This page provides the steps to install and configure the ApiOmat microservice generation service called "Brewer". For further information about Brewer please refer to its documentation.
Prerequisites
Open the following port in the firewall to other ApiOmat nodes:
-
8180 (HTTP)
Installation of Consul is required to register this service and communicate with other services.
Installation of YAMBAS is required to retrieve meta data information for service generation.
Installation of Innkeeper is required, if you want to deploy services using Brewer.
Installation of AdoptOpenJDK is required when you're not using Docker!
The service needs to be able to access nexus.easy.de in order to download the maven artifacts!
System requirements
The following instance configurations are recommended.
|
Size |
CPU |
Memory |
Disk |
Typical Cloud Instance Types |
|
All |
2 core |
1 GB RAM |
500 MB |
AWS: t2.medium |
|
|
|
|
|
Azure: Standard_ B1MS |
Installation
USERNAME, PASSWORD and TOKEN values are provided per customer from ApiOmat.
Debian/Ubuntu
# Install the repo keywget -O - https://repo-int.apiomat.com/yambas/rest/web/Key/LIVE/apiomat-archive-keyring.asc | sudo apt-key add -# Add the repositoryecho "deb https://<USERNAME>:<PASSWORD>@repo.apiomat.com/yambas/rest/web/Repo/LIVE/deb ./" | sudo tee /etc/apt/sources.list.d/apiomat.list# Update APT and installapt-get updateapt-get install -y aom-brewerservice brewer startCentos/Oracle/RedHat
# Add the repositoryecho "[apiomat]name=ApiOmatbaseurl=https://<USERNAME>:<PASSWORD>@repo.apiomat.com/yambas/rest/web/Repo/LIVE/rpmgpgcheck=0enabled=1" > /etc/yum.repos.d/apiomat.repo# Installyum -y --nogpgcheck install aom-brewerservice brewer startSuse
# Add the repositoryzypper addrepo --no-gpgcheck https://repo.apiomat.com/yambas/rest/web/Repo/LIVE/suse?token=<TOKEN> "ApiOmat"# Refresh zypper and installzypper refreshzypper --no-gpg-checks --non-interactive install aom-brewerservice brewer startDocker Compose
# Docker logindocker login -u <USERNAME> -p <PASSWORD># Store the following file and execute:docker-compose -f brewer.compose upbrewer.compose:
version: '3'services: brewer: image: apiomat/brewer:<VERSION> command: --spring.cloud.consul.enabled=false ports: - "8180:8180"Kubernetes
To obtain the latest manifest file, please contact the EASY ApiOmat support.
Helm
# Docker loginkubectl create secret docker-registry regcred \ --docker-server=https://index.docker.io/v1/ \ --docker-username="<USERNAME>" \ --docker-password="<PASSWORD>" \ --docker-email="<MAIL>"# We are using helm to deploy the yambas replicaset helm inithelm repo updatehelm repo add apiomat https://apinautengmbh.github.io/helm/helm fetch apiomat/apiomat-brewer # extract the archive (.tgz) and find the values.yml. Adjust the parameters as required. helm install apiomat/apiomat-brewer --name apiomat-brewer --values values.yamlWindows
-
Download file: https://repo.apiomat.com/yambas/rest/web/Repo/LIVE/aom-brewer-<VERSION>.zip?token=<TOKEN> and unzip to installation folder
-
Ensure that the path to your installed jdk\bin is set to the system-environment variable 'Path' (java.exe needs to be accessible for windows' system user!)
-
Open administrative console and execute
Brewer-<VERSION>.exe install
Brewer-<VERSION>.exe start
to install as service and start afterwards.
For a removal of the service, execute
Brewer-<VERSION>.exe uninstall
Configuration
General service configuration possibilities are described at the configurations main page.
Properties that are commonly changed:
brewer.repositoryservice.publicurl
This service has the following specific configuration values:
|
Key |
Description |
Example |
|
apiomat.service.discovery.uses.YAMBAS.version |
Version range of YAMBAS service that should be used. |
"[3.5,)" → version range 3.5.0 or above |
|
apiomat.service.discovery.uses.YAMBAS.name |
Name of YAMBAS service as registered with in Consul |
YAMBAS |
|
apiomat.service.discovery.uses.Innkeeper.version |
Version range of Innkeeper (repository service) that should be used. |
"[1.0,)" → version range 1.0.0 or above |
|
apiomat.service.discovery.uses.Innkeeper.name |
Name of Innkeeper service as registered with in Consul |
Innkeeper |
|
brewer.remoteservice.name |
Name of YAMBAS service as registered with in Consul |
YAMBAS |
|
brewer.remoteservice.pathprefix |
Path prefix of YAMBAS service |
/yambas/rest |
|
brewer.repositoryservice.name |
Name of Innkeeper service as registered with in Consul |
Innkeeper |
|
brewer.repositoryservice.pathprefix |
Path prefix of Innkeeper service |
/hosting |
|
brewer.repositoryservice.publicurl |
you can set the publicly accessible url of your innkeeper instance here. it will be generated into the pom.xml of generated services to make the deployment possible for the developer (brewer will use the consul url for internal deployment) |
https://127.0.0.1:2400/hosting |
|
brewer.generation.tmpdir |
Absolute path to a writable temporary directory, that could be used during service generation. Default value is ${java.io.tmpdir}. |
/tmp |
Logging
Linux
Logging is done to a separate logfile:
tail -f /var/log/apiomat/brewer/brewer.logDocker
Please replace <BREWER_CONTAINER_ID> with your running container ID. You can list your running container using 'docker container list' command.
docker logs -f <BREWER_CONTAINER_ID>Kubernetes
Please replace <BREWER_CONTAINER_ID> with your running container ID. You can list your running container using 'kubectl get pods' command.
kubectl logs -f <BREWER_CONTAINER_ID>Windows
All logs are written to Event manager.
Next steps
See Usage part of Brewer documentation.