An open API service indexing awesome lists of open source software.

https://github.com/zextras/carbonio-catalog-service

Carbonio services catalog
https://github.com/zextras/carbonio-catalog-service

carbonio-component

Last synced: 3 months ago
JSON representation

Carbonio services catalog

Awesome Lists containing this project

README

          

# Carbonio Catalog Service

## How to build ⚙

Build using maven:

```bash
mvn clean install
```

## How to run locally 🚀

The command below will open a tunnel to a remote VM and start the
application locally.

```bash
HOST=kc-dev1 make run_dev
```

You can check application is up and running by opening
http://localhost:10000/q/dev-ui

## How to install 🏁

Install `carbonio-catalog` via apt:

```bash
sudo apt install carbonio-catalog
```

or via yum:

```bash
sudo yum install carbonio-catalog
```

After the installation you must run `pending-setups` to configure it correctly.

## Open-api documentation

The openapi documentation is updated on every package build. It is located in `src/main/resources/open-api.yaml`.

## Port Forwarding

Run the `tunnel.sh` script to establish a secure tunnel from your local machine to the required services on a remote VM
cluster.

### Usage

Execute with hostname and optional domain:

```
./tunnel.sh -n [hostname] [-d domain]
```

- -n: Hostname of the server.
- -d: Optional domain, defaults to demo.zextras.io.

### Example

```bash
./tunnel.sh -n myserver -d example.com
```

## Makefile Overview

Summary of the available commands:

### Basic

- clean: clean the project, removing all files generated by the previous build.
- compile: compiles the project without running tests.
- test: runs the complete Maven build cycle, including tests.

### System Management

By default, we assume that `carbonio-catalog` will be installed in the same node as consul in the cluster.
If you have it installed in a different node (ex: `kc-dev1-mbox`) you can pass `NODE=mbox` variable to
the `make sys-*` script.
You still need to pass the `HOST=kc-dev1` in order to tell which cluster you want to reach.

- sys-status: Connects via SSH to the specified host and checks the status of carbonio-catalog.
- sys-stop: Stops the carbonio-catalog service on the remote server.
- sys-start: Starts the carbonio-catalog service on the remote server.

### Deployment

By default, we assume that `carbonio-catalog` will be installed in the same node as consul in the cluster.
If you have it installed in a different node (ex: `kc-dev1-mbox`) you can pass `NODE=mbox` variable to
the `make upload` script.
You still need to pass the `HOST=kc-dev1` in order to tell which cluster you want to reach.

- upload: Removes existing artifacts from the carbonio-catalog directory on the remote server and uploads new ones.
- sys-install: Cleans and compiles the project, then build `.deb` package and install it on remote server.
- sys-deploy: A comprehensive command that cleans, compiles, stops the system service, uploads new artifacts, and then
restarts the service.

### Service Info (multi-node environment)

You can check in how many nodes are running a specific service and his health status.

```bash
# from script
./service_info.sh -s my-service -h kc-dev1
```

```bash
# from makefile
export HOST=kc-dev1
export SERVICE_ID=my-service
make info
```

## Copyright and Licensing notices
All non-software material (such as, for example, names, images, logos,
sounds) is owned by Zextras s.r.l. and is licensed under CC-BY-NC-SA
https://creativecommons.org/licenses/by-nc-sa/4.0/.
Where not specified, all source files owned by Zextras s.r.l. are licensed
under AGPL-3.0-only