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
- Vidya Ambadipudi (Geant) - vidya.ambadipudi@geant.org