Agility

Agility Installation Guide

Prerequisites for installation

FrontManager installation

Configuration of tenants and applications

Central IT infrastructure access data (git credentials, nexus credentials)

kubectl configured for the environment where it will be deployed (this includes the project's environment variables, with their appropriate access data).

Tools

  • Database (PostgreSQL 13+ / SQLServer 2019+ / Oracle 12c+)
  • KeyCloak (must already be installed as FrontManager depends on it)
  • MiniIO (must already be installed as FrontManager depends on it)
  • Kafka (must already be installed as FrontManager depends on it)

Installation steps

Steps to install Agility:

  • Clone the hyper-kanban-api repository
git clone http://gitlab.centralit.io/centralit/hyper-platform/hyper-kanban-api.git
  • Enter the folder where the project was cloned and check out the devel branch
git checkout devel
  • Run Step 1. Migrations
  • Run Step 2. Deploy

Step 1. Migrations

The migrations.sh script processes migrations for multiple databases according to the settings present in a migrations file in json format which by default is migrations-config.json in the same folder as the script.

Migrations-config.json file

The file must follow the structure below:

Document image


Where the attributes of each tenant that follows:

Document image


Example

Example file with two tenants (run2biz and tenant1) for the hyper-kanban-api application development environment (this application).

Document image


Running the migrations.sh script

How to use

./migration.sh <TenantName> ...

Example

./migration.sh run2biz tenant1

Step 2. Deploy

Via gitlab CI

For some environments, there is already automation in gitlab, where simply merging to the branch already triggers the deployment of the product (apps.centralit, labcentral). These are the cases of branches with prefix deploy/

Gitlab CI example on the deploy/apps.centralit.com.br branch

Document image


Manual via kubectl script

To do it manually, the template files for the environment in question must be created:

configmap.template.yml

deployment.template.yml

ticket.template.yml

service.template.yml

In this case, the only file to be updated would be the configmap.template.yml (environment variables), the rest of them follow the same pattern and content. The files must be created in the k8s folder, in a new folder named after the environment. After that, the k8s-apply.sh script must be executed passing which environment will be updated with deploy. Ex: k8s-apply.sh dev-eveo

Document image


Updating directly in Rancher

In cases where the Kubernetes environment already exists and it is only necessary to update the package, just change the package path to the one available in the registry.

Document image