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
- Host: GitHub
- URL: https://github.com/zextras/carbonio-catalog-service
- Owner: zextras
- License: agpl-3.0
- Created: 2024-08-19T10:17:28.000Z (almost 2 years ago)
- Default Branch: devel
- Last Pushed: 2026-01-26T14:24:58.000Z (5 months ago)
- Last Synced: 2026-01-27T03:20:16.026Z (5 months ago)
- Topics: carbonio-component
- Language: HTML
- Size: 271 KB
- Stars: 0
- Watchers: 7
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: COPYING
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