- Notifications
You must be signed in to change notification settings - Fork53
Deis Workflow Controller (API)
License
deis/controller
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Deis Workflow is no longer maintained. Pleaseread the announcement for more detail. | |
---|---|
09/07/2017 | Deis Workflowv2.18 final release before entering maintenance mode |
03/01/2018 | End of Workflow maintenance: critical patches no longer merged |
Hephy is a fork of Workflow that is actively developed and accepts code contributions. |
Deis (pronounced DAY-iss) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to anyKubernetes 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 athttps://github.com/deis/workflow.
We welcome your input! If you have feedback, pleasesubmit an issue. If you'd like to participate in development, please read the "Development" section below andsubmit a pull request.
The Controller is the central API server forDeis Workflow. It is installed on aKubernetes cluster, making it easy to deploy and manage applications on your own cluster. Below is a non-exhaustive list of things it can do:
- Create a new application
- Delete an application
- Scale an application
- Configure an application
- Create a new user
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.
- Fork this repository
- Make your changes
- Submit a pull request (PR) to this repository with your changes, and unit tests whenever possible.
- If your PR fixes anyissues, make sure you write Fixes #1234 in your PR description (where #1234 is the number of the issue you're closing)
- Deis project maintainers will review your code.
- After two maintainers approve it, they will merge your PR.
Unit tests and code linters for controller run in a Docker container with your local code directorymounted in. You needDocker to runmake test
.
You'll want to test your code changes interactively in a working Kubernetes cluster. Follow theinstallation instructions if you need Kubernetes.
After you have a working Kubernetes cluster, you're ready toinstall Workflow.
When you've built your new feature or fixed a bug, make sure you've added appropriate unit tests and runmake 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:
DEIS_REGISTRY
- A Docker registry that you have push access to and your Kubernetes cluster can pull from- If this isDocker Hub, leave this variable empty
- Otherwise, ensure it has a trailing
/
. For example, if you're usingQuay.io, usequay.io/
IMAGE_PREFIX
- The organization in the Docker repository. This defaults todeis
, but if you don't have access to that organization, set this to one you have push access to.SHORT_NAME
(optional) - The name of the image. This defaults tocontroller
VERSION
(optional) - The tag of the Docker image. This defaults to the current Git SHA (the output ofgit rev-parse --short HEAD
)
Then, runmake 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.
export DEIS_REGISTRY=quay.io/export IMAGE_PREFIX=arschlesmake deploy
After themake deploy
finishes, a new pod will be launched but may not be running. You'll need to wait until the pod is listed asRunning
and the value in itsReady
column is1/1
. Use the following command watch the pod's status:
kubectl get pod --namespace=deis -w | grep deis-controller
About
Deis Workflow Controller (API)