argo-web-api

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.

https://github.com/argoeu/argo-web-api

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

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.

Basic Info
Statistics
  • Stars: 4
  • Watchers: 11
  • Forks: 12
  • Open Issues: 0
  • Releases: 25
Created almost 12 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

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 Unions H2020 Program under Contract No. 654065.

Owner

  • Name: ARGOeu
  • Login: ARGOeu
  • Kind: organization

Α team working with the latest technologies about accounting, monitoring, messaging and eSeal Capabilities

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: EOSC Recommender System Metrics
message: Measuring and Monitoring the Availability and Reliability of Electronic Infrastructures
type: software
authors:
  - given-names: Kostas
    family-names: Kagkelidis
    email: kaggis@admin.grnet.gr
    affiliation: GRNET S.A.
  - given-names: Agelos 
    family-names: Tsalapatis
    email: agelostsal@admin.grnet.grr
    affiliation: GRNET S.A.
  - given-names: Themis
    family-names: Zamani
    email: themis@admin.grnet.gr
    affiliation: GRNET S.A.
  - given-names: Kostas 
    family-names: Koumantaros
    email: kkoum@admin.grnet.grr
    affiliation: GRNET S.A.
  - given-names: Chrysa 
    family-names: Thermolia
    email: cthermolia@admin.grnet.grr
    affiliation: GRNET S.A.
  - given-names: Christos 
    family-names: Kanellopoulos 
  - given-names: Anastasis 
    family-names: Andronidis 
  - given-names: Avraam 
    family-names: Tsantekidis
  - given-names: Kostas 
    family-names: Evangelou 
  - given-names: Makis 
    family-names: Tsantekidis 
  - given-names: Nikos 
    family-names: Triantafillidis 
  - given-names: Paschalis 
    family-names: Korosoglou 
  - given-names: Pavlos 
    family-names: Daoglou

GitHub Events

Total
  • Release event: 1
  • Delete event: 22
  • Issue comment event: 21
  • Push event: 12
  • Pull request review event: 5
  • Pull request event: 63
  • Create event: 33
Last Year
  • Release event: 1
  • Delete event: 22
  • Issue comment event: 21
  • Push event: 12
  • Pull request review event: 5
  • Pull request event: 63
  • Create event: 33

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 174
  • Average time to close issues: 7 days
  • Average time to close pull requests: 24 days
  • Total issue authors: 1
  • Total pull request authors: 6
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.28
  • Merged pull requests: 86
  • Bot issues: 1
  • Bot pull requests: 91
Past Year
  • Issues: 0
  • Pull requests: 35
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 days
  • Issue authors: 0
  • Pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 0.2
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 22
Top Authors
Issue Authors
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (90)
  • kaggis (65)
  • themiszamani (13)
  • cthermolia-grnet (2)
  • kevangel79 (2)
  • kkoumantaros (1)
Top Labels
Issue Labels
dependencies (1) javascript (1)
Pull Request Labels
dependencies (89) javascript (65) go (16) wip (1)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 74
proxy.golang.org: github.com/ARGOeu/argo-web-api
  • Versions: 37
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 3.5%
Average: 6.8%
Dependent packages count: 7.0%
Stargazers count: 7.3%
Dependent repos count: 9.3%
Last synced: 6 months ago
proxy.golang.org: github.com/argoeu/argo-web-api
  • Versions: 37
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 3.5%
Average: 6.8%
Dependent packages count: 7.0%
Stargazers count: 7.3%
Dependent repos count: 9.3%
Last synced: 6 months ago

Dependencies

go.mod go
  • github.com/ARGOeu/go-lru-cache v0.0.0-20131004110929-c228b0b719e1
  • github.com/Sirupsen/logrus v0.11.6-0.20170317143214-10f801ebc38b
  • github.com/aristanetworks/goarista v0.0.0-20200521140103-6c3304613b30
  • github.com/cznic/b v0.0.0-20160716091950-bcff30a622db
  • github.com/cznic/mathutil v0.0.0-20181122101859-297441e03548
  • github.com/cznic/strutil v0.0.0-20181122101858-275e90344537
  • github.com/golang/mock v1.4.3
  • github.com/gorilla/context v0.0.0-20150820051245-1c83b3eabd45
  • github.com/gorilla/handlers v0.0.0-20160816184729-a5775781a543
  • github.com/gorilla/mux v0.0.0-20150908165839-49c024275504
  • github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e
  • github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0
  • github.com/samuel/go-zookeeper v0.0.0-20161028232340-1d7be4effb13
  • github.com/stretchr/testify v1.4.0
  • github.com/tsuna/gohbase v0.0.0-20170228230348-31c6161099f0
  • github.com/twinj/uuid v0.0.0-20150629100731-70cac2bcd273
  • gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f
  • gopkg.in/gcfg.v1 v1.2.0
  • gopkg.in/mgo.v2 v2.0.0-20160818020120-3f83fa500528
  • gopkg.in/warnings.v0 v0.1.1
  • gopkg.in/yaml.v2 v2.3.0
go.sum go
  • 208 dependencies
website/package-lock.json npm
  • 1401 dependencies
website/package.json npm
  • @docusaurus/core 2.0.0-alpha.63
  • @docusaurus/preset-classic 2.0.0-alpha.63
  • @mdx-js/react ^1.5.8
  • clsx ^1.1.1
  • react ^16.8.4
  • react-dom ^16.8.4