Storm
A tool to deploy Go apps in kubernetes cluster
How it works
It works by creating/building application binary on the client side, this binary will be uploaded through http post-form
request. On arrival to
storm
server, the following events takes place.
- Uploaded binary is moved to a
tmp
folder along with a predefinedDockerfile
- A docker image will be built for the app using the previously mentioned
Dockerfile
- The produced docker image is pushed to the provided
docker registry
- A kubernetes service is created at this point. A service of type
LoadBalancer
orNodePort
is created depending on whether user specified the deployment to betest/local
orproduction
. A service typeLoadBalancer
is created forproduction
andNodePort
type is creating fortest
- A kubernetes deployment is created including all the necessary and user-defined environment variables
- Repeat
Requirements
- Go 1.11+
- Kubernetes
- Docker and docker-compose
Installation
Server Installation
...
Client Installation
go install github.com/adigunhammedolalekan/storm/client/cmd
Usage
In your Go project directory; execute
storm init
To initialize/setup a project to be deployed by storm, and thenstorm deploy
to deploy a project