ICOS Shell is a component part of the ICOS Project
- Shell Backend: server running as component of the ICOS controller
- Shell Client: CLI tool interfacing the Shell Backend
Building and running the ICOS Shell Backend with Docker
cd backend
docker build -t "shell-backend" .
docker run --volume ./config.yml:/app/config.yml -p 8080:8080 shell-backend:latest
Building and running the ICOS Shell Client with go
cd client
go build -o icos-shell
./icos-shell -h
When updating OpenAPI, modify the openapi.yaml
file from the root directory and regenerate both Shell Backend and Client with:
openapi-generator-cli generate -g go-server -i openapi.yaml -o backend/ --additional-properties=packageName=shellbackend
openapi-generator-cli generate -g go -i openapi.yaml -o client/pkg/openapi --additional-properties=packageName=openapi,isGoSubmodule=true
rm client/pkg/openapi/go.mod client/pkg/openapi/go.sum
Add commands to the Shell Client with cobra-cli
, more info here.
Current version of docs can be found in:
Generate documentation OpenAPI docs for Shell Backend and CLI docs for Shell Client with:
openapi-generator-cli generate -g markdown -i openapi.yaml -o backend/docs/
cd client/
go run main.go create docs --path docs
The lighthouse registration service is released under the Apache license 2.0. Copyright © 2022-2024 Marc Michalke & Francisco Carpio, Technische Universität Braunschweig. All rights reserved.
🇪🇺 This work has received funding from the European Union's HORIZON research and innovation programme under grant agreement No. 101070177.