Skip to content

Phillezi/go-deploy

 
 

Repository files navigation

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.

🛠️ Local environment

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.

🤝 Contributing

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.

Acceptance Tests

go test ./test/acc/...

End-to-End Tests

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

📚 Docs

Codebase

The code base is documented using godoc. You can view the documentation by running the documentation server locally.

  1. Install godoc go install golang.org/x/tools/cmd/godoc
  2. Run godoc godoc -http=:6060
  3. Visit http://localhost:6060/pkg/go-deploy/

API

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.

📝 License

go-deploy is open-source software licensed under the MIT license.

📧 Contact

If you have any questions or feedback, open an Issue or join Discord channel.

About

Creation and management of resources on kthcloud

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 93.2%
  • Shell 4.3%
  • TypeScript 2.0%
  • CSS 0.2%
  • JavaScript 0.1%
  • Dockerfile 0.1%
  • HTML 0.1%