https://github.com/amadeusitgroup/workflow-controller
Kubernetes workflow controller
https://github.com/amadeusitgroup/workflow-controller
cronjob job kubernetes kubernetes-controller workflow
Last synced: 6 months ago
JSON representation
Kubernetes workflow controller
- Host: GitHub
- URL: https://github.com/amadeusitgroup/workflow-controller
- Owner: AmadeusITGroup
- License: apache-2.0
- Created: 2016-10-10T15:39:35.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-01-08T22:09:14.000Z (over 5 years ago)
- Last Synced: 2025-04-04T05:11:20.058Z (6 months ago)
- Topics: cronjob, job, kubernetes, kubernetes-controller, workflow
- Language: Go
- Size: 17.9 MB
- Stars: 24
- Watchers: 10
- Forks: 15
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# workflow-controller
[](https://gitter.im/workflow-controller/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
### Build Status
[](https://travis-ci.org/AmadeusITGroup/workflow-controller)
[](https://goreportcard.com/report/github.com/amadeusitgroup/workflow-controller)
[](https://codecov.io/gh/amadeusitgroup/workflow-controller)

A simple Kubernetes workflow controller. TODO: add more explanations.
## Running workflow-controller
### locally
```shell
$ ./workflow-controller --kubeconfig=$HOME/.kube/config
```Now you can create a Workflow resource via
```shell
$ kubectl create -f .../examples/hello_workflow/workflow.yaml
```At this point the workflow-controller will start to handle the jobs.
### Simple deployment
To run `workflow-controller` in a Kubernetes pod you should run this command
```shell
$ 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:
```shell
$ kubectl create -f .../examples/hello_workflow/workflow.yaml
```## Helm deployment
You can found in the `charts` folder the `workflow-controller` the helm chart for deploying the Kubernetes `workflow-controller` controller.
```shell
$ helm install --name wf charts/workflow-controller
NAME: wf
LAST DEPLOYED: Tue Jan 9 23:41:13 2018
NAMESPACE: default
STATUS: DEPLOYEDRESOURCES:
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
wf-workflow-controller 1 1 1 0 0s
```### Developper
#### How to release the workflow-controller
This project is using [goreleaser](https://goreleaser.com/) and an additional script for releasing also the Helm chart.
For starting the delivery, you need to clone this repository, then:
```shell
zsh hack/release.sh
```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.