A tool for developers to create cloud-native applications on Kubernetes.
Перейти к файлу
Matthew Fisher ac1ba926b0 Merge pull request #60 from technosophos/docs/59-upx-requirement
docs(hacking.md): add upx in list of requirements
2017-02-10 11:23:14 -08:00
api dump docker build and docker push logs regardless of log level 2017-02-09 22:01:31 -08:00
chart Merge pull request #25 from deis/trunc-63 2017-02-08 10:55:27 -08:00
cmd modify default chart over `helm create` with `prow create` 2017-02-09 22:25:56 -08:00
docs docs(hacking.md): add upx in list of requirements 2017-02-10 12:22:10 -07:00
pkg modify default chart over `helm create` with `prow create` 2017-02-09 22:25:56 -08:00
tests fix chart referencing .Values.repository 2017-02-09 17:29:21 -08:00
.dockerignore chore(.dockerignore): ignore files outside rootfs/ 2017-02-08 16:53:08 -07:00
.gitignore use testdata in README example 2017-01-23 11:56:36 -08:00
Dockerfile bump to alpine 3.5 2017-01-30 14:54:03 -08:00
LICENSE docs(LICENSE): update to match GitHub and Kubernetes conventions 2017-02-09 12:35:10 -07:00
Makefile first draft of docs 2017-02-10 08:44:21 -08:00
README.md first draft of docs 2017-02-10 08:44:21 -08:00
glide.lock rebase on top of helm master 2017-02-08 10:53:11 -08:00
glide.yaml rebase on top of helm master 2017-02-08 10:53:11 -08:00
versioning.mk rename to deis/prow 2017-01-23 11:09:48 -08:00

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.