GithubHelp home page GithubHelp logo

kthcloud / go-deploy Goto Github PK

View Code? Open in Web Editor NEW
3.0 0.0 1.0 44.42 MB

Creation and management of resources on kthcloud

Home Page: https://api.cloud.cbh.kth.se/deploy

License: MIT License

Go 93.12% Dockerfile 0.07% Shell 4.38% HTML 0.07% CSS 0.17% JavaScript 0.14% TypeScript 2.05%
go golang kthcloud

go-deploy's Introduction

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.

go-deploy's People

Contributors

saffronjam avatar pierrelefevre avatar phillezi avatar shaerpour avatar

Stargazers

 avatar Sai Man Wong avatar Harsha Krishna avatar

Forkers

phillezi

go-deploy's Issues

Create new user tiers

  • Base user (KTH SSO)

    • 1 core
    • 4 GB ram
    • 20 GB storage
    • 5 deployments
    • No GPU
  • Middle tier

    • 8 cores
    • 50 GB ram
    • 500 GB storage
    • 20 Deployments
    • Autoselect B tier GPU
  • Power User

    • 20 cores
    • 100GB ram
    • 2 TB storage
    • 100 Deployments
    • Choose GPU (Access to A tier RTX cards)
  • Admin

    • Unlimited

Template sizes for deploy

  • 8 cores, 20 cores pro
  • disk 500gb (pro user 2 tb)
  • fix in cloud init to use 100% of disk
  • 2048 mhz for all users
  • 50 gb ram (100 gb pro user)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.