deis/controller

Name: controller

Owner: Deis

Description: Deis Workflow Controller (API)

Created: 2015-11-06 20:06:05.0

Updated: 2018-01-08 17:50:15.0

Pushed: 2017-09-21 18:47:56.0

Homepage: https://deis.com

Size: 16982

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

| | Deis Workflow will soon no longer be maintained.
Please read the announcement for more detail. | |—:|—| | 09/07/2017 | Deis Workflow v2.18 final release before entering maintenance mode | | 03/01/2018 | End of Workflow maintenance: critical patches no longer merged |

Deis Controller

Build Status codecov.io Docker Repository on Quay Dependency Status

Deis (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications on your own servers.

For more information about the Deis Workflow, please visit the main project page at https://github.com/deis/workflow.

We welcome your input! If you have feedback, please submit an issue. If you'd like to participate in development, please read the “Development” section below and submit a pull request.

About

The Controller is the central API server for Deis Workflow. It is installed on a Kubernetes cluster, making it easy to deploy and manage applications on your own cluster. Below is a non-exhaustive list of things it can do:

Development

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.

Prerequisites
Docker

Unit tests and code linters for controller run in a Docker container with your local code directory mounted in. You need Docker to run make test.

Kubernetes

You'll want to test your code changes interactively in a working Kubernetes cluster. Follow the installation instructions if you need Kubernetes.

Workflow Installation

After you have a working Kubernetes cluster, you're ready to install Workflow.

Testing Your Code

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.

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:

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.

rt DEIS_REGISTRY=quay.io/
rt IMAGE_PREFIX=arschles
 deploy

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:

ctl get pod --namespace=deis -w | grep deis-controller

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.