Skip to content

icos-project/Shell

Repository files navigation

ICOS Shell

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

diagram

Build and run

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

Shell Client

Building and running the ICOS Shell Client with go

cd client
go build -o icos-shell
./icos-shell -h

Development

OpenAPI

When updating OpenAPI, modify the openapi.yaml file from the root directory and regenerate both Shell Backend and Client with:

Shell Backend

openapi-generator-cli generate -g go-server -i openapi.yaml -o backend/ --git-repo-id Shell --git-user-id icos-project --additional-properties=packageName=shellbackend

Shell Client

openapi-generator-cli generate -g go -i openapi.yaml -o client/pkg/openapi --git-repo-id Shell --git-user-id icos-project --additional-properties=packageName=openapi,isGoSubmodule=true

rm client/pkg/openapi/go.mod client/pkg/openapi/go.sum

CLI

Add commands to the Shell Client with cobra-cli, more info here.

Documentation

Important: URL's for lighthouse and controllers cannot contain '/' characters!

Current version of docs can be found in:

Generate docs

Generate documentation OpenAPI docs for Shell Backend and CLI docs for Shell Client with:

Shell Backend

openapi-generator-cli generate -g markdown -i openapi.yaml -o backend/docs/

Shell Client

cd client/
go run main.go create docs --path docs

Legal

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published