Skip to content

arschles/deis-controller

 
 

Repository files navigation

Deis Workflow v2

Build Status Go Report Card

Deis (pronounced DAY-iss) is an open source PaaS that makes it easy to deploy and manage applications on your own servers. Deis builds on Kubernetes to provide a lightweight, Heroku-inspired workflow.

Work in Progress

Deis Graphic

Deis Workflow v2 is changing quickly. Your feedback and participation are more than welcome, but be aware that this project is considered a work in progress.

Hacking Workflow

First, install deis/etcd as described in its documentation. Ensure that the deis-etcd-service is running and healthy by accessing its port 4001 and seeing that the environment variable DEIS_ETCD_1_SERVICE_HOST is set.

One way to test this by running commands from another pod in the same namespace:

$ kubectl exec alpine -- env | grep DEIS_ETCD_1_SERVICE | sort
DEIS_ETCD_1_SERVICE_HOST=10.247.187.217
DEIS_ETCD_1_SERVICE_PORT=2380
DEIS_ETCD_1_SERVICE_PORT_CLIENT=4100
DEIS_ETCD_1_SERVICE_PORT_PEER=2380
$ kubectl exec alpine -- curl -sS 10.247.187.217:4100/version
{"etcdserver":"2.2.1","etcdcluster":"2.2.0"}

Next build the deis/workflow image and push it to a Docker registry. The $DEV_REGISTRY environment variable must point to a registry accessible to your Kubernetes cluster. 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).

$ make docker-build docker-push

Finally create a PostgreSQL database and the Deis workflow service:

$ make kube-create-all
kubectl create -f manifests/deis-database-rc.yml
replicationcontrollers/deis-database
kubectl create -f manifests/deis-database-service.yml
services/deis-database
kubectl create -f manifests/deis-workflow-rc.yml.tmp
replicationcontrollers/deis-workflow
kubectl create -f manifests/deis-workflow-service.yml
services/deis-workflow
$ kubectl get pod
NAME                        READY     STATUS    RESTARTS   AGE
deis-database-34ch4         1/1       Running   0          12m
deis-etcd-1-140w7           1/1       Running   2          1h
deis-etcd-1-3jib8           1/1       Running   2          1h
deis-etcd-1-qf9ab           1/1       Running   2          1h
deis-etcd-discovery-dp2kp   1/1       Running   0          1h
deis-workflow-e8qks         1/1       Running   0          12m
$ kubectl logs deis-workflow-e8qks
+ export ETCD_PORT=4100
+ ETCD_PORT=4100
+ export ETCD_HOST=10.247.187.217
+ ETCD_HOST=10.247.187.217
...

License

Copyright 2013, 2014, 2015 Engine Yard, Inc.

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

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.

About

[MIRROR] PaaS workflow controller and client for Deis v2

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 76.1%
  • Go 19.5%
  • CSS 1.5%
  • Shell 1.1%
  • HTML 0.9%
  • Makefile 0.4%
  • Other 0.5%