A simple Kubernetes workflow controller. TODO: add more explanations.
$ ./workflow-controller --kubeconfig=$HOME/.kube/config
Now you can create a Workflow resource via
$ kubectl create -f .../examples/hello_workflow/workflow.yaml
At this point the workflow-controller will start to handle the jobs.
To run workflow-controller
in a Kubernetes pod you should run this command
$ kubectl create -f .../deployment/k8s/workflow-controller-rbac.yaml -n kube-system
$ kubectl create -f .../deployment/k8s/workflow-controller-dpl.yaml -n kube-system
Then you may want to test a workflow example like this:
$ kubectl create -f .../examples/hello_workflow/workflow.yaml
You can found in the charts
folder the workflow-controller
the helm chart for deploying the Kubernetes workflow-controller
controller.
$ helm install --name wf charts/workflow-controller
NAME: wf
LAST DEPLOYED: Tue Jan 9 23:41:13 2018
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
wf-workflow-controller 1 1 1 0 0s
This project is using goreleaser and an additional script for releasing also the Helm chart.
For starting the delivery, you need to clone this repository, then:
zsh hack/release.sh <version> <remove-git>
a concreate example is: zsh hack/release.sh v1.0.1 upstream
This script:
- generates locally the helm chart with the requested version.
- updates the helm repo index file (
index.yaml
) file with the new release. - creates a new changeset with all changes generated by the new release version, then tag this changeset.
- push changeset and associated tag to the remote git repository.