Developer's Helper to Docker, Kubernetes, and Terraform. Fully automatic, without any config or question 🙌
GEPP takes your app and Dockerize it, sets up a Kubernetes cluster and runs your app in it, configure K8s resources and produce Terraform file for Azure deployments, and more! All are happening in seconds!
Requirements:
app
variable for WYSGIRun:
docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v $PWD:/project -e PROJECT_NAME=${PWD##*/} guray/gepp:0.1-alpha5
GEPP provides developers to easily run their apps as containerized apps in Kubernetes. Here is what it is aiming:
It is mostly a repetitive task to Dockerize your project and generating YAMLs that look like ones in other projects/microservices. In addition to replaying the same steps, it may easily consume a lot of time to set up to Dockerize your app, write YAMLs for Kubernetes deployment(and define resources), configure autoscheduler, write Ingress manifests for L7 routing/LB, create Kubernetes services etc. After all of these, you should deploy a Kubernetes cluster, either locally or on a remote target; than connect to it, upload & deploy your app.
GEPP is being developed to shorten these procedures to a fully(or mostly) automatic, yet useful process. Just run gepp
inside a directory and wait for your localhost-port pair to connect your app.
For interactively using GEPP run gepp -i
or gepp --interactive
. (Currently works for only additional ports)
You will find Dockerfile, .dockerignore, Kubernetes YAMLS, AKS definition for deploying it with Terraform in your directory.
Currently, it is in 0.1-alpha
stage. It should work without any problems but has not tested in wild, nor all the intended features has been implemented yet. If you are encountering a problem, please open an issue.
PR's are more than welcome!
The proposal of this project consists of these steps: