Skip to content

Latest commit

 

History

History
167 lines (116 loc) · 6.45 KB

README.md

File metadata and controls

167 lines (116 loc) · 6.45 KB

Tekton Dashboard Helm Chart

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.

Requirements

  • 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)

Description

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.

Installing

  • 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.

Uninstalling

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

Version

Current chart version is 0.6.4

Chart Values

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.

Try it out

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.

Deploy Tekton Pipelines

Before deploying Tekton Dashboard you should have Tekton Pipelines deployed.

You can use Helm to deploy Tekton Pipelines on you cluster, see Installing instructions.

Configure pod resources

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

Deploy a read only dashboard

# 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