Skip to content

kaggis/argo-web-api

 
 

Repository files navigation

Jenkins Build Status Test Coverage

Travis Build Status

swagger ui Swagger UI

ARGO Web-API

ARGO is a flexible and scalable framework for monitoring status, availability and reliability of services provided by infrastructures with medium to high complexity. It can generate multiple reports using customer defined profiles (e.g. for SLA management, operations etc) and has built-in multi-tenant support in the core framework.

Description

The ARGO Web API provides the Serving Layer of ARGO. It is comprised of a high performance and scalable datastore and a multi-tenant REST HTTP API, which is used for retrieving the Status, Availability and Reliability reports and the actual raw metric results.

Installation

  1. Install Golang and bzr library

  2. Install godep tool

     go get github.com/tools/godep
    
  3. Create a new work space and setup your environment:

     mkdir ~/go-workspace
     export GOPATH=~/go-workspace
     export PATH=$PATH:GOPATH
    

You may add the export lines into the ~/.bashrc or the ~/.bash_profile file to have the GOPATH and PATH environment variables properly setup upon every login.

  1. Get the latest version and all dependencies (Using Godep):

     godep update ...
    
  2. To build the service use the following command:

     go build
    
  3. To run the service use the following command:

     ./argo-web-api
    

For a list of options use the following command:

    ./argo-web-api -h
  1. To run the unit-tests with coverage results:

     gocov test ./... | gocov-xml > coverage.xml
    
  2. To generate and serve godoc (@port 6060)

     godoc -http=:6060
    

Postman tests

Once you finished with the installation you can run the postman tests that are located in the ./postman directory.

Run with Postman Client

If you have a postman client you can import the files to your collections and environment variables respectively.

Run from command line

if you prefer to use the command line you may follow the steps showed bellow

Declare the variables bellow

  • COMMIT should be the commit of the artifact that is deployed

  • TOKEN is an access token that is set in the service

     $ cd postman && npm install newman 
     $ ./node_modules/newman/bin/newman.js run ./argo-web-api_tests.json  -k -e ./postman/env.json --env-var last_commit=$COMMIT api_key=$TOKEN
    

Credits

The ARGO Messaging Service is developed by GRNET

The work represented by this software was partially funded by:

  • EGI Foundation
  • EGI-ENGAGE project through the European Union (EU) Horizon 2020 program under Grant number 654142.
  • EOSC-Hub project through the European Union (EU) Horizon 2020 program under Grant number 77753642.
  • EUDAT2020 European Union’s H2020 Program under Contract No. 654065.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.0%
  • Other 1.0%