go-deploy is an API that is used to create container applications and virtual machines built on top of kthcloud using Kubernetes with KubeVirt.
It is hosted at https://api.cloud.cbh.kth.se/deploy/v2 using kthcloud authentication.
go-deploy can be hosted locally using the setup.sh
script found under the scripts/local
directory. The script will set up an entire local environment with every service installed in a Kind Kubernetes cluster on your local machine.
Refer to the local environment documentation for more information.
Contributions, issues, and feature requests are welcome!
You can install a local development environment by following the local environment documentation.
Remember to run the tests before creating a pull request.
go test ./test/acc/...
go build -o go-deploy . # Build
./go-deploy --mode=test # Start
# Wait for the API to return 200 on /healthz
until $(curl --output /dev/null --silent --head --fail http://localhost:8080/healthz); do
echo "Waiting for API to start"
sleep 1
done
go test ./test/e2e/... # Run e2e tests
The code base is documented using godoc. You can view the documentation by running the documentation server locally.
- Install godoc
go install golang.org/x/tools/cmd/godoc
- Run godoc
godoc -http=:6060
- Visit http://localhost:6060/pkg/go-deploy/
The API is documented using OpenAPI 3.0 specification and is available at https://api.cloud.cbh.kth.se/deploy/v2/docs/index.html.
You can also run the API locally by setting up the local environment and visiting http://localhost:8080/v2/docs/index.html.
Contributions, issues, and feature requests are welcome!
If you have any questions or feedback, open an Issue or join Discord channel.
go-deploy is open-source software licensed under the MIT license.
If you have any questions or feedback, open an Issue or join Discord channel.