Skip to content

kiNgchev/AKHS

Repository files navigation

AKHS

AKHS — is a collection of services for automation tasks, written on Kotlin with Spring Framework
All services linked with each other with the help of Apache Kafka

Environment variables

In the following, env variables will be described in format: VARIBALE_NAME:default_value — value_description

  • LOKI — the URL for Loki service

akhs-configurations

  • CONFIG_SERVER_USER:config — the username that will be set as value to get access to config server
  • CONFIG_SERVER_PASSWORD:config-password — the password that will be set as value to get access to config server

akhs-discord, akhs-telegram, akhs-twitch, akhs-youtube

Admin server

  • ADMIN_SERVER_HOST:localhost — the host on which located admin server
  • ADMIN_SERVER_PORT:9999 — the port through which connect to admin server

Config server

  • CONFIG_SERVER_HOST:localhost — the host on which located config server
  • CONFIG_SERVER_PORT:8888 — the port through which connect to config server
  • CONFIG_SERVER_USER:config — the username that needed to get access to config server
  • CONFIG_SERVER_PASSWORD:config-password — the password that needed to get access to config server

Database (Postgres)

  • POSTGRES_USER:postgres — the username that needed to connect to database server
  • POSTGRES_PASSWORD:secret — the password that needed to connect to database server
  • POSTGRES_DATABASE:akhs — the database name to which needs to connect
  • POSTGRES_HOST:localhost — the host on which located database server
  • POSTGRES_PORT:5432 — the port through which connect to database server

Apache Kafka

  • KAFKA_BOOTSTRAP_SERVERS:localhost:9092 — the bootstrap servers for connecting to Apache Kafka. Bootstrap servers will be storage in format: host1:9092,host2:9093,host3:29092

Redis

  • REDIS_HOST:localhost — the host on which located Redis server
  • REDIS_PORT:6379 — the port through which connect to Redis server

Metrics

In this project Prometheus, Grafana, Loki are used. You should run it services.


Build

To build JAR files, you should run:

  gradle clean build

To build docker images of services, you should run:

  docker build --build-arg JAR_FILE=<service jar file> -t akhs/<service-name>:<service-version> .

for example:

  docker build --build-arg JAR_FILE=akhs-configurations/build/libs/akhs-configurations-0.0.1.jar -t akhs/akhs-configurations:0.0.1 .

Run

Required services

For run AKHS, you should deploy the following services:


Without Docker-compose

Important

Your SHOULD deploy required services

For run AKHS, you may run JAR file or run:

  gradle <service>:run

If you use docker-compose, you should run:

  docker-compose build

Partial with Docker-compose

Note

In this solution required services deployed on Docker-compose

Before run AKHS, you should run:

  docker-compose up

For run AKHS, you may run JAR file or run:

  gradle <service>:run

With Docker-compose

Important

Before run AKHS in docker-compose you should build JAR files

For run AKHS, you should run:

  docker-compose up

With Kubernetes

So far empty...


Profiles

  • | - separate exchangeable profiles
  • , - separate required profiles

The expression cloud | local, dev | prod equals the next expression: (cloud or local) and (dev or prod)

Microservice name Profiles
akhs-configurations git | native
akhs-discord cloud | local, dev | prod
akhs-telegram cloud | local, dev | prod
akhs-twitch cloud | local, dev | prod
akhs-youtube cloud | local, dev | prod

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors