Skip to content

Commit 61bb52d

Browse files
committed
doc(README.md): add hacking & install instructions and standard license
1 parent ac37791 commit 61bb52d

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

README.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,72 @@ This package provides a the Deis Builder, a git server to respond to `git push`e
2525
4. Starts a builder pod according to these rules:
2626
- If a `Dockerfile` is present, starts a [`dockerbuilder`](https://github.com/deis/dockerbuilder) pod, configured to download the code to build from the URL computed in the previous step (`dockerbuilder` and Dockerfile builder are not currently supported. See https://github.com/deis/dockerbuilder/pull/1 for prototype `dockerbuilder` code).
2727
- Otherwise, starts a [`slugbuilder`](https://github.com/deis/slugbuilder) pod, configured to download the code to build from the URL computed in the previous step.
28+
29+
# Hacking Builder
30+
31+
First, install [helm](http://helm.sh) and [boot up a kubernetes cluster][install-k8s]. Next, add the
32+
`deis` repository to your chart list:
33+
34+
```console
35+
$ helm repo add deis https://github.com/deis/charts
36+
```
37+
38+
Then, install the Deis chart!
39+
40+
```console
41+
$ helm install deis/deis
42+
```
43+
44+
The chart will install the entire Deis platform onto Kubernetes. You can monitor all the pods that it installs by running:
45+
46+
```console
47+
$ kubectl get pods --namespace=deis
48+
```
49+
50+
Once this is done, SSH into a Kubernetes minion, and run the following:
51+
52+
```
53+
$ curl -sSL http://deis.io/deis-cli/install.sh | sh
54+
$ sudo mv deis /bin
55+
$ kubectl get service deis-workflow
56+
$ deis register 10.247.59.157 # or the appropriate CLUSTER_IP
57+
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
58+
$ eval $(ssh-agent) && ssh-add ~/.ssh/id_rsa
59+
$ deis keys:add ~/.ssh/id_rsa.pub
60+
$ deis create --no-remote
61+
Creating Application... done, created madras-radiator
62+
$ deis pull deis/example-go -a madras-radiator
63+
Creating build... ..o
64+
```
65+
66+
If you want to hack on a new feature, rebuild your code, build the deis/builder image and push it to a Docker registry. The `$DEIS_REGISTRY` environment variable must point to a registry accessible to your Kubernetes cluster. If you're using a locally hosted Docker registry, you may need to configure the Docker engines on your Kubernetes nodes to allow `--insecure-registry 192.168.0.0/16` (or the appropriate address range).
67+
68+
```console
69+
$ make build docker-build docker-push
70+
```
71+
72+
Next, you'll want to remove the `deis-builder` [replication controller](http://kubernetes.io/v1.1/docs/user-guide/replication-controller.html) and re-create it to run your new image.
73+
74+
```console
75+
kubectl delete --namespace=deis rc deis-builder
76+
make kube-rc
77+
```
78+
79+
## Installation
80+
81+
The following steps assume that you have the [Docker CLI](https://docs.docker.com/) and [Kubernetes CLI](http://kubernetes.io/v1.1/docs/user-guide/kubectl-overview.html) installed and correctly configured.
82+
83+
```
84+
make deploy kube-service
85+
```
86+
87+
## License
88+
89+
Copyright 2013, 2014, 2015 Engine Yard, Inc.
90+
91+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at <http://www.apache.org/licenses/LICENSE-2.0>
92+
93+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
94+
95+
96+
[install-k8s]: http://kubernetes.io/gettingstarted/

0 commit comments

Comments
 (0)