myrtea-engine-api

command module
v5.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2022 License: MIT Imports: 15 Imported by: 0

README

GitHub go.mod Go version Build Status Go Report Card codecov GitHub license

Myrtea

Myrtea is a platform dedicated to the monitoring of business processes (in real-time or not), with a strong focus on decision assistance.

Installation

Pre-requisite

Myrtea needs two external backbone components to run :

  • An instance of PostgreSQL v10+
  • An instance or cluster of Elasticsearch v6.x (v7+ is currently not supported)

These two components can be easily started using docker containers :

# Quick single elasticsearch node startup
docker run -d --name myrtea-elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.7.0

# Quick postgresql instance startup
docker run -d --name myrtea-postgres -p 5432:5432 -e POSTGRES_DB="postgres" -e POSTGRES_USER="postgres" -e POSTGRES_PASSWORD="postgres" -v "$PWD/resources/model.sql:/docker-entrypoint-initdb.d/1-init.sql" postgres:11.0-alpine
From Source

Myrtea Engine-API requires Go version 1.14 or newer, the Makefile requires GNU make.

git clone https://github.com/myrteametrics/myrtea-engine-api.git
cd ./myrtea-engine-api
make swag build

From there, you can either run the compiled binary with :

make run

Or generate a fresh and ready to use docker image :

make docker-build-local
With Docker

Our favored way to ship and install Myrtea is by using docker images and containers.

# This docker image might not be available as you read this (and you might need to build it yourself following the "From Source" section)
docker pull <myrtea-engine:v5.0.0>
docker run -d --name myrtea-engine -p 9000:9000 <myrtea-engine:v5.0.0>

This image can be configured using a configuration file mounted in the container with -v $PWD/config/engine-api.toml:/app/config/engine-api.toml.

It can also be configured using environment variables prefixed by MYRTEA_. (example: -e MYRTEA_API_ENABLE_SECURITY=false to disable security)

With Docker Compose

You can also build a myrtea server instance in a single command with docker compose. Two compose files are included in the project: dev and prod (default).

As we are in docker containers, please replace all localhost occurrences in the config/engine-api.toml file with the container name linking to it.

Please make sure you have done all the required configurations.

Production

You can create an .env file containing the following environment variables:

POSTGRES_DB: db
POSTGRES_USER: pg-user
POSTGRES_PASSWORD: pg-pass

Then enter the command:

docker-compose --env-file .env up
Development

No need to configure anything else here, just enter the following command:

docker-compose -f docker-compose.dev.yml up

Documentation

See the Getting Started documentation for more infos on the application settings

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

GitHub license

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internals
app
coordinator
Package coordinator implements all features necessary to initialize and monitor elasticsearch components
Package coordinator implements all features necessary to initialize and monitor elasticsearch components

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL