The Tekton Dashboard is a general purpose, web-based UI for Tekton Pipelines.
This helm chart is a lightweight way to deploy, configure and run Tekton Dashboard on a k8s cluster.
- Helm v2 or v3
- Kubernetes >= 1.15 (it's driven by the version of Tekton Pipelines installed)
- Depending on the configuration you will need admin access to be able to install the CRDs
- Tekton Pipelines deployed in the target cluster (see Tekton Pipelines Helm Chart)
This chart deploys the Tekton Dashboard. It should run on k8s as well as OpenShift.
It includes various options to create rbac resources, control pods placement and resources, etc...
All options are documented in the Chart Values section.
Various configuration examples are document in the Try it out section.
- Add the Tekton helm charts repo
helm repo add eddycharly https://eddycharly.github.io/tekton-helm
- Install (or upgrade)
# This will install Tekton Dashboard in the tekton namespace (with a my-dashboard release name)
# Helm v2
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard
# Helm v3
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard
- Install (or upgrade) without CRDs (assuming CRDs have already been deployed by an admin)
# This will install Tekton Dashboard in the tekton namespace (with a my-dashboard release name)
# Helm v2
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --no-crd-hook
# Helm v3
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --skip-crds
- Install (or upgrade) without creating RBAC resources (assuming RBAC resources have been created by an admin)
# This will install Tekton Dashboard in the tekton namespace (with a my-dashboard release name)
# Helm v2
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --set rbac.create=false --set rbac.serviceAccountName=svcAccountName
# Helm v3
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --set rbac.create=false --set rbac.serviceAccountName=svcAccountName
Look below for the list of all available options and their corresponding description.
To uninstall the chart, simply delete the release.
# This will uninstall Tekton Dashboard in the tekton namespace (assuming a my-dashboard release name)
# Helm v2
helm delete --purge my-dashboard
# Helm v3
helm uninstall my-dashboard --namespace tekton
Current chart version is 0.6.4
Key | Type | Description | Default |
---|---|---|---|
dashboard.affinity |
object | Dashboard affinity rules | {} |
dashboard.annotations |
object | Dashboard pod annotations | See values.yaml |
dashboard.image.pullPolicy |
string | Dashboard docker image pull policy | "IfNotPresent" |
dashboard.image.repository |
string | Dashboard docker image repository | "gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard" |
dashboard.image.tag |
string | Dashboard docker image tag | nil |
dashboard.ingress.annotations |
object | Dashboard ingress annotations | {} |
dashboard.ingress.enabled |
bool | Enable dashboard ingress | false |
dashboard.ingress.hosts |
list | Dashboard ingress host names | [] |
dashboard.nodeSelector |
object | Dashboard node selector | {} |
dashboard.readOnly |
bool | Drives running the dashboard in read only mode | false |
dashboard.resources |
object | Dashboard resource limits and requests | {} |
dashboard.securityContext |
object | Dashboard pods security context | {} |
dashboard.service.annotations |
object | Dashboard service annotations | {} |
dashboard.service.port |
int | Dashboard service port | 9097 |
dashboard.service.portName |
string | "http" |
|
dashboard.service.type |
string | Dashboard service type | "ClusterIP" |
dashboard.tolerations |
list | Dashboard tolerations | [] |
extensions |
list | Kubernetes resources extensions list | See values.yaml |
fullnameOverride |
string | Fully override resource generated names | "" |
nameOverride |
string | Partially override resource generated names | "" |
rbac.create |
bool | Create RBAC resources | true |
rbac.serviceAccountName |
string | Name of the service account to use when rbac.create is false | nil |
version |
string | Tekton dashboard version used to add labels on deployments, pods and services | nil |
You can look directly at the values.yaml file to look at the options and their default values.
This chart should deploy correctly with default values.
You will find examples below of how to customize the deployment of a release with various options. The list of examples is by no means exhaustive, it tries to cover the most used cases.
If you feel something is incomplete, missing or incorrect please open an issue and we'll do our best to improve this documentation.
Before deploying Tekton Dashboard you should have Tekton Pipelines deployed.
You can use Helm to deploy Tekton Pipelines on you cluster, see Installing instructions.
Create a yaml file called pod-resources.yaml
looking like this (the name doesn't really matters):
dashboard:
resources:
requests:
cpu: 0.5
memory: 128m
limits:
cpu: 1
memory: 256m
Use the previously created file to pass the values to helm:
# This will install Tekton Dashboard in the tekton namespace (with a my-dashboard release name)
# Helm v2
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --values pod-resources.yaml
# Helm v3
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --values pod-resources.yaml
# This will install Tekton Dashboard in the tekton namespace (with a my-dashboard release name)
# Helm v2
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --set dashboard.readOnly=true
# Helm v3
helm upgrade --install my-dashboard --namespace tekton eddycharly/dashboard --set dashboard.readOnly=true