Skip to content

Commit c60b185

Browse files
committed
Merge pull request #500 from arschles/readme-beta
doc(README.md): update README to reflect beta status
2 parents 081b8f7 + 6c494b4 commit c60b185

1 file changed

Lines changed: 57 additions & 41 deletions

File tree

README.md

Lines changed: 57 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,89 @@
11
# Deis Workflow v2
22

3-
[![Build Status](https://travis-ci.org/deis/workflow.svg?branch=master)](https://travis-ci.org/deis/workflow) [![codecov.io](https://codecov.io/github/deis/workflow/coverage.svg?branch=master)](https://codecov.io/github/deis/workflow?branch=master)
3+
[![Build Status](https://travis-ci.org/deis/workflow.svg?branch=master)](https://travis-ci.org/deis/workflow)
4+
[![codecov.io](https://codecov.io/github/deis/workflow/coverage.svg?branch=master)](https://codecov.io/github/deis/workflow?branch=master)
5+
[![Docker Repository on Quay](https://quay.io/repository/deisci/controller/status "Docker Repository on Quay")](https://quay.io/repository/deisci/controller)
46

5-
Deis (pronounced DAY-iss) is an open source PaaS that makes it easy to deploy and manage
6-
applications on your own servers. Deis builds on [Kubernetes](http://kubernetes.io/) to provide
7-
a lightweight, [Heroku-inspired](http://heroku.com) workflow.
7+
Deis (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any [Kubernetes](http://kubernetes.io) cluster, making it easy to deploy and manage applications on your own servers.
88

9-
## Work in Progress
9+
For more information about the Deis Workflow, please visit the main project page at https://github.com/deis/workflow.
1010

11-
![Deis Graphic](https://s3-us-west-2.amazonaws.com/get-deis/deis-graphic-small.png)
11+
## Beta Status
1212

13-
Deis Workflow v2 is currently in alpha. Your feedback and participation are more than welcome, but be
14-
aware that this project is considered a work in progress.
13+
This Deis component is currently in beta status, and we welcome your input! If you have feedback, please [submit an issue][issues]. If you'd like to participate in development, please read the "Development" section below and [submit a pull request][prs].
1514

16-
The following features are not ready in Alpha1, but will be coming
17-
soon.
15+
The following features are not ready in Beta, but will be coming soon.
1816

1917
- Complete SSL support
20-
- Dockerfile builds
2118
- Backup and restore features
2219
- Persistent storage (though it can be manually configured)
2320

24-
## Hacking Workflow
21+
# About
2522

26-
First, [obtain a Kubernetes cluster][install-k8s]. Deis Workflow currently targets Kubernetes
27-
v1.1 with the following requirements:
23+
The controller is the central API for the entire Deis Platform. Below is a non-exhaustive list of things it can do:
2824

29-
* Configure Docker's `insecure-registry` parameter to include the subnets used by your Kubernetes installation
30-
* If you are testing the logger components, you must enable `DaemonSet` experimental APIs via `--runtime-config=extensions/v1beta1/daemonsets=true`
25+
* Create a new application
26+
* Delete an application
27+
* Scale an application
28+
* Configure an application
29+
* Create a new user
3130

32-
Next, install [helm](http://helm.sh). Next, add the deis repository to your chart list:
31+
# Development
3332

34-
```console
35-
$ helm repo add deis https://github.com/deis/charts
36-
```
33+
The Deis project welcomes contributions from all developers. The high level process for development matches many other open source projects. See below for an outline.
3734

38-
Then, install Deis!
35+
* Fork this repository
36+
* Make your changes
37+
* [Submit a pull request][prs] (PR) to this repository with your changes, and unit tests whenever possible.
38+
* If your PR fixes any [issues][issues], make sure you write Fixes #1234 in your PR description (where #1234 is the number of the issue you're closing)
39+
* The Deis core contributors will review your code. After each of them sign off on your code, they'll label your PR with LGTM1 and LGTM2 (respectively). Once that happens, you may merge
3940

40-
To work off the latest stable
41+
## Prerequisities
4142

42-
```console
43-
$ helm install deis/deis
44-
```
43+
### Kubernetes
4544

46-
To work off the latest development version
45+
In order to do development on this component, you'll need a working Kubernetes cluster. If you don't have one, follow the [installation instructions][install-k8s] and note that Workflow currently targets version 1.1 with the following requirements:
4746

48-
```console
49-
$ helm install deis/deis-dev
50-
```
47+
* Docker's `insecure-registry` parameter must include the subnets used by your Kubernetes installation
48+
* If you are testing the logger components, you must enable `DaemonSet` experimental APIs via `--runtime-config=extensions/v1beta1/daemonsets=true`
5149

52-
Complete instructions for installing and managing a Deis cluster are
53-
available at https://github.com/deis/docs-v2
50+
### Helm
5451

55-
If you want to retrieve the latest client dev build for OS X or Linux, download the client:
52+
After you have a working Kubernetes cluster, install [helm](http://helm.sh) and run the following commands to add the Deis chart repository and install Deis to your new cluster:
5653

5754
```console
58-
$ curl -sSL http://deis.io/deis-cli/install-v2-alpha.sh | bash
55+
helm repo add deis https://github.com/deis/charts
56+
helm fetch deis/deis-dev
57+
helm generate -x manifests deis-dev
58+
helm install deis-dev
5959
```
6060

61-
If you want to hack on a new feature, build the deis/workflow image and push it to a Docker
62-
registry. The `$DEIS_REGISTRY` environment variable must point to a registry accessible to your
63-
Kubernetes cluster. You may need to configure the Docker engines on your Kubernetes nodes to allow
64-
`--insecure-registry 192.168.0.0/16` (or the appropriate address range).
61+
## Testing Your Code
62+
63+
When you've built your new feature or fixed a bug, make sure you've added appropriate unit tests and run `make test` to ensure your code works properly.
64+
65+
Also, since this component is central to the platform, it's recommended that you manually test and verify that your feature or fix works as expected. To do so, ensure the following environment variables are set:
66+
67+
* `DEIS_REGISTRY` - A Docker registry that you have push access to and your Kubernetes cluster can pull from
68+
* If this is [Docker Hub](https://hub.docker.com/), leave this variable empty
69+
* Otherwise, ensure it has a trailing `/`. For example, if you're using [Quay.io](https://quay.io), use `quay.io/`
70+
* `IMAGE_PREFIX` - The organization in the Docker repository. This defaults to `deis`, but if you don't have access to that organization, set this to one you have push access to.
71+
* `SHORT_NAME` (optional) - The name of the image. This defaults to `controller`
72+
* `VERSION` (optional) - The tag of the Docker image. This defaults to the current Git SHA (the output of `git rev-parse --short HEAD`)
6573

66-
When you want to test changes then commit the changes to your branch and run
74+
Then, run `make deploy` to build and push a new Docker image with your changes and replace the existing one with your new one in the Kubernetes cluster. See below for an example with appropriate environment variables.
6775

6876
```console
69-
$ make deploy
77+
export DEIS_REGISTRY=quay.io/
78+
export IMAGE_PREFIX=arschles
79+
make deploy
7080
```
7181

72-
This will build the required docker images and push them to the registry that was configured, then update and recreate the Replication Controller.
73-
Give it a bit of time for the changes to go live.
82+
After the `make deploy` finishes, a new pod will be launched but may not be running. You'll need to wait until the pod is listed as `Running` and the value in its `Ready` column is `1/1`. Use the following command watch the pod's status:
83+
84+
```console
85+
kubectl get pod --namespace=deis -w | grep deis-controller
86+
```
7487

7588
## License
7689

@@ -82,3 +95,6 @@ Unless required by applicable law or agreed to in writing, software distributed
8295

8396

8497
[install-k8s]: http://kubernetes.io/gettingstarted/
98+
[repl-controller]: http://kubernetes.io/docs/user-guide/replication-controller/
99+
[issues]: https://github.com/deis/workflow/issues
100+
[prs]: https://github.com/deis/workflow/pulls

0 commit comments

Comments
 (0)