blob: 6a5fe74d666b9066eb85fb9600f9a759be9ef043 [file] [log] [blame] [view]
# Frontend for monitoring tool of federated infrastrucuture
A frontend application, used to visualize and manipulate the backend application functionality of the monitoring tool
## Backend requirements
A running instance of the backend application is required for the frontend to function, default port of the backend is **8080**.
## Install & Run
To install and run the app do the following:
```bash
cd scripts/monitoring
npm install
npm run start
```
To view the app Navigate to `http://localhost:4200/`.
## Running Tests
To run tests, run the following command:
```bash
npm run test
```
## API Reference
#### Get all registered workers
```http
GET /workers
```
#### Get specific worker
```http
GET /workers/${id}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `int` | **Required**. Id of the worker to fetch |
#### Register worker for monitoring
```http
POST /workers
```
##### Request body in **JSON** format:
| Body parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `name` | `string` | **Required**. Name of the worker to register |
| `address` | `string` | **Required**. Address of the worker to register |
##### Example:
```json
{
"name": "Worker 1",
"address": "localhost:8001"
}
```
#### Edit registered worker
```http
PUT /workers/${id}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `int` | **Required**. Id of the worker to edit |
##### Request body in **JSON** format:
| Body parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `name` | `string` | Changed name of the worker |
| `address` | `string` | Changed address of the worker |
##### Example:
```json
{
"name": "Worker 42",
"address": "localhost:8005"
}
```
#### Deregister specific worker
```http
DELETE /workers/${id}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `int` | **Required**. Id of the worker to deregister |
---
#### Get all registered coordinators
```http
GET /coordinators
```
#### Get specific coordinator
```http
GET /coordinators/${id}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `int` | **Required**. Id of the coordinator to fetch |
#### Register coordinator for monitoring
```http
POST /coordinators
```
##### Request body in **JSON** format:
| Body parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `name` | `string` | **Required**. Name of the coordinator to register |
| `address` | `string` | **Required**. Address of the coordinator to register |
##### Example:
```json
{
"name": "Coordinator 1",
"address": "localhost:8441"
}
```
#### Edit registered coordinator
```http
PUT /coordinators/${id}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `int` | **Required**. Id of the coordinator to edit |
##### Request body in **JSON** format:
| Body parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `name` | `string` | Changed name of the coordinator |
| `address` | `string` | Changed address of the coordinator |
##### Example:
```json
{
"name": "Coordinator 4",
"address": "localhost:8445"
}
```
#### Deregister specific coordinator
```http
DELETE /coordinators/${id}
```
| Parameter | Type | Description |
| :-------- | :------- | :-------------------------------- |
| `id` | `int` | **Required**. Id of the coordinator to deregister |
## License
[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)