ac1ba926b0
docs(hacking.md): add upx in list of requirements |
||
---|---|---|
api | ||
chart | ||
cmd | ||
docs | ||
pkg | ||
tests | ||
.dockerignore | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
glide.lock | ||
glide.yaml | ||
versioning.mk |
README.md
Prow: Streamlined Kubernetes Development
NOTE: Prow is experimental and does not have a stable release yet.
Prow is a tool for developers to create and deploy cloud-native applications on Kubernetes. It can be used to
- Install any application onto Kubernetes; Prow is language-agnostic and customizable.
- Work with any Kubernetes cluster that supports Helm
- Intelligently manage and upgrade Helm releases
- Create Helm Charts that can be packaged for delivery to your ops team
Prow, the Elevator Pitch
Prow is a tool to install applications onto a Kubernetes cluster.
Prow has two parts: a client (prow) and a server (prowd). Prowd runs inside of your Kubernetes
cluster alongside Tiller and packages a Docker image, uploads it to a Docker Registry and
installs a chart using that image. Prow runs on your laptop, CI/CD, or wherever you want it to run
and uploads your application to Prowd via prow up
.
Usage
Because Prow is currently experimental, there is no stable release out yet and users are expected to build the project from source until we get some automation up in here. Please see this doc to get started hacking on Prow.
Now that's all done, start from a source code repository and let Prow create the Kubernetes packaging:
$ cd my-app
$ ls
app.py
$ prow create --pack=python
--> Created chart/
--> Created Dockerfile
--> Ready to sail
Now start it up!
$ prow up
--> Building Dockerfile
--> Pushing 127.0.0.1:5000/my-app:08db751fccc4fc01c8b2ee96111525ea43f064f2
--> Deploying to Kubernetes
Release "my-app" does not exist. Installing it now.
--> code:DEPLOYED
That's it! You're now running your Python app in a Kubernetes cluster.
Behind the scenes, Prow handles the heavy lifting:
- Builds a container image from application source code
- Pushes the image to a registry
- Packages a Helm chart from application source code
- Installs the chart to Kubernetes, deploying the application
After deploying, you can run prow up
again to create new releases when
application source code has changed.