Malamute
Deploy Logger Service
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
Project Deploys
Project Modules
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
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.