Website • Slack • Forum • Twitter
Helm Tiller Controller
This project is abandoned because Tiller's authorization requirements can't be implemented using a TPR controller. You can find more details here: helm/helm#1586 (comment)
The new plan is to add auth support to Tiller directly. Here is the ticket for that: helm/helm#1918
# dev build
./hack/make.py
# Install/Update dependency (needs glide)
glide slow
# Build Docker image
./hack/docker/setup.sh
# Push Docker image (https://hub.docker.com/r/appscode/tillerc/)
./hack/docker/setup.sh push
# Create 3rd party objects Release & ReleaseVersion (one time setup operation)
kubectl create -f ./api/extensions/helm.yaml
# Deploy to Kubernetes (one time setup operation)
kubectl run tc --image=appscode/tillerc:<tag> --replicas=1
# Deploy new image
kubectl set image deployment/tc tc=appscode/tillerc:<tag>
- This implements install and delete release.
- For api object we used the proto generated go structs. In a proper implementation, we will use just strings as ENUMs instead of protoc generated ints, etc.
- We have taken code from Helm repo and adapted them to make sure everything compiles.
- You can find the api types here: https://github.com/appscode/tillerc/blob/master/api/types.go
- Client interfaces are here: https://github.com/appscode/tillerc/tree/master/client/clientset
- Controller: https://github.com/appscode/tillerc/blob/master/pkg/tiller/release_server.go#L117
- Sample YAML: https://github.com/appscode/tillerc/blob/master/fixtures/release.yaml