blob: 98b4a8003dcc97cb5af24f26d476b35df526dfab [file] [log] [blame] [view]
<!--
{% comment %}
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to you under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
{% end comment %}
-->
# 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 |