Skip to content

ShiftForward/malamute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

239 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Malamute

Deploy Logger Service

DeployLoggerService

The Deploy Logger Service is built for documenting and record the release of new versions of projects (deploys) and its modules.

The core of the project was developed using Scala and Spray providing a RESTful API documented through Swagger. A webapp for viewing information built in Backbone and Bootstrap Paper Template.

Additionally, there is a Ruby SDK for easy integration in Ruby based systems.

Screenshots

Projects Dashboard

Dashboard

Project Deploys

Deploys

Project Modules

Modules

Deploy Details

Deploy Details

Configuration

A configuration file is available in /src/main/resources/reference.conf.

logger-service { apiVerion = "0.1" apiConfig = ${api-config} persistence = ${slick-db.sqlite} interface = "0.0.0.0" port = 8000 } 

API Reference

get /api/project/{projName}/deploy/{deployId} Returns a Deploy get /apiproject/{projName}/clients Returns a List of Clients post /api/project/{projName}/deploy/{deployId}/event Add a event to a deploy get /api/project/{projName}/client/{clientName} Returns a Module List delete /api/project/{projName} Returns a Project get /api/project/{projName} Returns a Project get /api/project/{projName}/deploys Returns a List of Deploy post /api/project/{projName}/deploy Returns a Deploy post /api/project Returns a Project get /api/projects Returns an array of Projects get /api/ping Returns a pong 

More information is available at Swagger on http://localhost:8000/swagger

Using the API

With this API you can easily integrate the Deploy Logger Service with your existent deploy scripts or services like jenkins-ci.

Example of a cURL for creating a project:

curl -X POST --header "Content-Type: application/json; charset=UTF-8" --header "Accept: */*" -d "{ \"name\": \"malamute\", \"description\": \"Deploy Logger Service\", \"git\": \"https://github.com/ShiftForward/malamute\" }" "http://localhost:8000/api/project" 

Build & Run

Building

sbt compile 

Run

sbt run 

Test

Tests are present in /test/scala/eu.shiftforward.deploylogger/DeployLoggerRouteSpec.scala

To run the tests simple do

sbt test 

Utilities

In addition to the main project there is a Ruby SDK that simplifies the process of integration the Deploy Logger Service. An example of using is available at /DeployScript/sample.rb

Authors

Malamute was created by João Pedro Dias and supported by Bruno Maia and Luís Fonseca at ShiftForward.

Contributing

We encourage you to contribute to Malamute! Submit bug reports and suggestions for improvements through GitHub's issues and your own improvements through pull requests.

Licenses

malamute is licensed under MIT. See LICENSE for details.

ShiftForward

About

Deploy Logger Service - Documenting and recording the release of new product versions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors