The Wayback Machine - https://web.archive.org/web/20190827162214/https://github.com/tektoncd/dashboard
Skip to content
A dashboard for Tekton!
JavaScript Go CSS Shell Python Dockerfile
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Image .github Add a few docs that were missing 📝 Apr 30, 2019
Image .storybook Update root storybook config to include sub-packages Aug 16, 2019
Image cmd/dashboard add endpoints api Aug 9, 2019
Image config Add sha256 values to images with latest tag Aug 23, 2019
Image config_frontend Advocate using ko in developer docs (#55) Apr 17, 2019
Image docs add doc for new extension types Aug 2, 2019
Image ingress HTTPS support - via Ingress Aug 13, 2019
Image packages Continue moving components to @tektoncd/dashboard-components Aug 16, 2019
Image pkg Updated pipeline.go to remove triggers and change some Params to Reso… Aug 23, 2019
Image src Add missing defaultMessage for PipelineRuns error Aug 20, 2019
Image tekton Add sha256 values to images with latest tag Aug 23, 2019
Image test Updated pipeline.go to remove triggers and change some Params to Reso… Aug 23, 2019
Image testdata/web serve static resources, allow building of combined front and back end… Apr 25, 2019
Image .browserslistrc Adding initial commit for front-end Apr 8, 2019
Image .dockerignore serve static resources, allow building of combined front and back end… Apr 25, 2019
Image .editorconfig fix indentation, update editor config rules May 1, 2019
Image .eslintrc.js Update root storybook config to include sub-packages Aug 16, 2019
Image .gitignore Add structure and base config to enable converting front end to monorepo Aug 13, 2019
Image .prettierrc Adding initial commit for front-end Apr 8, 2019
Image CONTRIBUTING.md Add a few docs that were missing 📝 Apr 30, 2019
Image DEVELOPMENT.md add endpoints api Aug 9, 2019
Image Dockerfile Add structure and base config to enable converting front end to monorepo Aug 13, 2019
Image Dockerfile_race_test Add informer controller, restructure packages and refactor tests Jul 3, 2019
Image Dockerfile_test Add informer controller, restructure packages and refactor tests Jul 3, 2019
Image Gopkg.lock Updated pipeline.go to remove triggers and change some Params to Reso… Aug 23, 2019
Image Gopkg.toml add endpoints api Aug 9, 2019
Image LICENSE Initial commit Apr 4, 2019
Image OWNERS Add Megan Wright as reviewer Jul 25, 2019
Image README.md Updated pipeline.go to remove triggers and change some Params to Reso… Aug 23, 2019
Image babel.config.js Add structure and base config to enable converting front end to monorepo Aug 13, 2019
Image code-of-conduct.md Add a few docs that were missing 📝 Apr 30, 2019
Image install-dev.sh Add dev install script, modify readme to use, pipeline definitions in… Jun 11, 2019
Image jest.config.js Add structure and base config to enable converting front end to monorepo Aug 13, 2019
Image lerna.json Add structure and base config to enable converting front end to monorepo Aug 13, 2019
Image minishift-delete-dashboard.sh Minishift install and delete for different namespace Jul 15, 2019
Image minishift-install-dashboard.sh Minishift install and delete for different namespace Jul 15, 2019
Image package-lock.json Update eslint-utils Aug 26, 2019
Image package.json Move components to the @tektoncd/dashboard-components package Aug 16, 2019
Image webpack.common.js Add structure and base config to enable converting front end to monorepo Aug 13, 2019
Image webpack.dev.js Add Cluster task navigation Jun 27, 2019
Image webpack.prod.js Improve front-end production build May 7, 2019

README.md

Tekton Dashboard

License

Tekton Dashboard is a general purpose, web-based UI for Tekton Pipelines. It allows users to manage and view Tekton Pipeline and Task runs and the resources involved in their creation, execution, and completion.

Dashboard UI workloads page

Pre-requisites

Tekton Pipelines must be installed in order to use the Tekton Dashboard. Instructions to install Tekton Pipelines can be found here. For 0.6.0 of Tekton Pipelines, use master. To continue using Tekton Pipelines 0.5.2, you should use the published 0.1.1 release here.

Install Dashboard

Installing the latest release

  1. Run the kubectl apply command to install the Tekton Dashboard and its dependencies:

    kubectl apply --filename https://github.com/tektoncd/dashboard/releases/download/v0.1.1/release.yaml

    (Previous versions will be available at previous/$VERSION_NUMBER, e.g. https://storage.googleapis.com/tekton-releases/previous/v0.1.0/release.yaml.)

  2. Run the kubectl get command to monitor the Tekton Dashboard component until all of the components show a STATUS of Running:

    kubectl get pods --namespace tekton-pipelines

    Tip: Instead of running the kubectl get command multiple times, you can append the --watch flag to view the component's status updates in real time. Use CTRL + C to exit watch mode.

You are now ready to use the Tekton Dashboard, optionally with the Tekton Webhooks Extension (see our Getting Started guide).

Nightly builds

The Tekton Dashboard has a hosted image of the latest builds located at gcr.io/tekton-nightly/dashboard:latest To install the Dashboard using this image:

kubectl apply -f config/release/gcr-tekton-dashboard.yaml

Alternatively, the dashboard can be installed through the same GitHub release asset:

curl -L https://github.com/tektoncd/dashboard/releases/download/v0/gcr-tekton-dashboard.yaml | kubectl apply -f -

Development installation of the Dashboard uses ko:

$ docker login
$ export KO_DOCKER_REPO=docker.io/<mydockername>
$ ./install-dev.sh

The install-dev.sh script will build and push an image of the Tekton Dashboard to the Docker registry which you are logged into. Any Docker registry will do, but in this case it will push to Dockerhub. It will also apply the Pipeline0 definition and task: this allows you to import Tekton resources from Git repositories. It will also build the static web content using npm scripts.

Optionally set up the Ingress endpoint

An Ingress definition is provided in the ingress directory, and this can optionally be installed and configured. If you wish to access the Tekton Dashboard, for example on your laptop that has a visible IP address, you can use the freely available nip.io service. A worked example follows.

Create the Ingress:

kubectl apply ingress/basic-dashboard-ingress.yaml

Retrieve a publicly available IP address (in this case running on a laptop connected to a public network):

ip=$(ifconfig | grep netmask | sed -n 2p | cut -d ' ' -f2)

Now modify the host property for our Ingress to use the IP obtained above, with the tekton-dashboard prefix and the .nip.io suffix:

kubectl patch ing/tekton-dashboard -n tekton-pipelines --type=json -p='[{"op": "replace", "path": "/spec/rules/0/host", "value": '""tekton-dashboard.${ip}.nip.io""}]

You can then access the Tekton Dashboard at tekton-dashboard.${ip}.nip.io. This endpoint is also returned via the "get Tekton Dashboard Ingress" API.

Install on OpenShift

  1. Assuming you want to install the Dashboard into the tekton-pipelines namespace:

    kubectl apply --filename https://github.com/tektoncd/dashboard/releases/download/v0.1.1/openshift-tekton-dashboard.yaml --validate=false
  2. Access the dashboard by determining its route with kubectl get route tekton-dashboard -n tekton-pipelines This has been tested with the following OpenShift security settings (from oc get scc):

    NAME               PRIV      CAPS      SELINUX     RUNASUSER          FSGROUP     SUPGROUP    PRIORITY   READONLYROOTFS   VOLUMES
    anyuid             false     []        MustRunAs   RunAsAny           RunAsAny    RunAsAny    10         false            [configMap downwardAPI emptyDir persistentVolumeClaim projected secret]
    hostaccess         false     []        MustRunAs   MustRunAsRange     MustRunAs   RunAsAny    <none>     false            [configMap downwardAPI emptyDir hostPath persistentVolumeClaim projected secret]
    hostmount-anyuid   false     []        MustRunAs   RunAsAny           RunAsAny    RunAsAny    <none>     false            [configMap downwardAPI emptyDir hostPath nfs persistentVolumeClaim projected secret]
    hostnetwork        false     []        MustRunAs   MustRunAsRange     MustRunAs   MustRunAs   <none>     false            [configMap downwardAPI emptyDir persistentVolumeClaim projected secret]
    node-exporter      false     []        RunAsAny    RunAsAny           RunAsAny    RunAsAny    <none>     false            [*]
    nonroot            false     []        MustRunAs   MustRunAsNonRoot   RunAsAny    RunAsAny    <none>     false            [configMap downwardAPI emptyDir persistentVolumeClaim projected secret]
    privileged         true      [*]       RunAsAny    RunAsAny           RunAsAny    RunAsAny    <none>     false            [*]
    restricted         false     []        MustRunAs   MustRunAsRange     MustRunAs   RunAsAny    <none>     false            [configMap downwardAPI emptyDir persistentVolumeClaim projected secret]
    

Enable TLS for dashboard access via Ingress

Will only work in the cluster node

Pre-requisites:

  1. Tekton pipelines & dashboard installed
  2. dashboard repo cloned

Steps:

  1. Edit ingress/ingress-https-setup.sh with all the necessary info
  2. Run the script from within the dashboard repo
  3. Access dashboard via https://tekton-dashboard.<IP_ADDRESS>.nip.io

Install on Minishift

Either follow the instructions for OpenShift above or use the operator install as per the instructions below.

  1. Install tektoncd-pipeline-operator
  2. Checkout the repository

If you want to install the Dashboard into the tekton-pipelines namespace:

  • Install the Dashboard ./minishift-install-dashboard.sh

If you want to install the Dashboard into any other namespace:

  • Install the Dashboard ./minishift-install-dashboard.sh -n {NAMESPACE}
  1. Wait until the pod tekton-dashboard-1 is running in the namespace the Dashboard is installed into

Accessing the Dashboard on Minishift

The Dashboard can be accessed by running kubectl --namespace tekton-pipelines port-forward svc/tekton-dashboard 9097:9097 If installed into a namespace other than tekton-pipelines then the Dashboard can be accessed by running kubectl --namespace $NAMESPACE port-forward svc/tekton-dashboard 9097:9097 You can access the web UI at http://localhost:9097/

Uninstalling the Dashboard on Minishift

The Dashboard can be uninstalled on Minishift by running the command ./minishift-delete-dashboard.sh Use -n {NAMESPACE} on the end of the command if installed into a namespace other than tekton-pipelines

Accessing the Dashboard

The Dashboard can be accessed through its ClusterIP Service by running kubectl proxy. Assuming tekton-pipelines is the install namespace for the Dashboard, you can access the web UI at localhost:8001/api/v1/namespaces/tekton-pipelines/services/tekton-dashboard:http/proxy/.

An alternative way to access the Dashboard is using kubectl port-forward e.g. if you installed the Tekton Dashboard into the tekton-pipelines namespace (which is the default) you can access the Dashboard with kubectl --namespace tekton-pipelines port-forward svc/tekton-dashboard 9097:9097 and then just open localhost:9097.

Want to contribute

We are so excited to have you!

You can’t perform that action at this time.