Skip to content
Snippets Groups Projects
Alexander Lovett's avatar
Alexander Lovett authored
V2.0.14.RELEASE

See merge request alexander.lovett/looking-glass-service!13
35852e2f
History

Looking Glass Service

Project Description

Looking Glass is an application which allows users to send commands such as ping, traceroute etc to routers within an organisation's network. The command execution results are retrieved in either xml or text format. It also provides BGP routing tables as a configurable feature.

The following rest endpoints are exposed by the backend

Rest API Method Input Parameters Description
/rest/routers/all GET Username and Password Retrieves a list of all routers
/rest/commands/all GET Username and Password Retrieves a list of all commands
/rest/user/getLoggedInUser GET - Retrieves logged in user details
/submit POST List of selected routers, Command to be executed, Arguments if required, Display format Executes the query on a selected router and returns the result

Pre-requisites

Local Build

git clone gitlab@gitlab.geant.net:live-projects/looking-glass-service.git
cd looking-glass-service
mvn clean install

Local Deploy

With maven

mvn spring-boot:run 

From Jar

java -jar target/looking-glass-service-0.0.1-SNAPSHOT.jar

When the server starts, the application should be running here

https://localhost:8009/

Local Setup for Angular

To make frontend development easier, we can use angular CLI for rapid development. In this we don't need to build or deploy the application for every change. For this to work you need to install node.js and then use npm to install angular-cli

npm install @angular/cli --global

This will install the angular-cli and you can now use ng commands to build and deploy. The angular-js app is located in the web folder.

git clone gitlab@gitlab.geant.net:live-projects/looking-glass-service.git
cd looking-glass-service/src/main/web

Build

ng build

Deploy

ng serve -o

This will host the application on

http://localhost:4200/

To install/remove modules

npm install <modules_name> --save
npm remove <modules_name> --save

CICD Pipelines

Release Process

Versioning

Authors