This guide explains how to use the installer to build, install or uninstall the Dashboard using the installer script.
It covers the following topics:
The installer script makes it easy to install the Tekton Dashboard by allowing command line options to customize the manifests at install time.
For example, this allows the installer script to ensure that the deployed Dashboard and the RBAC permissions are consistent.
Notes:
-
These instructions don't cover the frontend, make sure you build the frontend first.
-
The
installerscript usesko. Before it can build and push the dashboard docker image you will have to define theKO_DOCKER_REPOenvironment variable.You can use a remote repository like Docker Hub or set it to
ko.localto avoid dealing with auth / network issues for an external repository. See ko usage for more info.export KO_DOCKER_REPO='ko.local' # or use an external repository # export KO_DOCKER_REPO='docker.io/myusername'
The help command shows the supported commands and options by the script:
./scripts/installer helpIt will produce output similar to the following:
Global command syntax:
installer COMMAND [OPTIONS]
Accepted commands:
help|h Prints this help
install|i Installs the dashboard
uninstall|u Uninstalls the dashboard
build|b Builds the manifests and dashboard docker image
Accepted options:
[--debug] Prints additional messages in the console
[--extensions-rbac] Enable ClusterRole aggregation for easier management of extensions RBAC
[--external-logs <logs-provider-url>] External URL from which to fetch logs when logs are not available in the cluster
[--ingress-secret <secret>] Will add SSL support to the ingress
[--ingress-url <url>] Will create an additional ingress with the specified URL
[--log-format <log-format>] Specifies the log format (json or console), default is json
[--log-level <log-level>] Specifies the log level (debug, info, warn, error, dpanic, panic, fatal), default is info
[--logout-url <logout-url>] Will set up the logout URL
[--namespace <namespace>] Will override install namespace
[--nightly] Will download manifests from the nightly releases channel
[--output <file>] Will output built manifests in the file instead of in the console
[--pipelines-namespace <namespace>] Override the namespace where Tekton Pipelines is installed (defaults to Dashboard install namespace)
[--platform <platform>] Override the platform to build for
[--read-write] Will build manifests for a read/write deployment
[--stream-logs false] Will disable log streaming and use polling instead
[--tag <tag>] Tag used for the image produced by ko
[--tenant-namespaces <namespaces>] Will limit the visibility to the specified comma-separated namespaces only
[--triggers-namespace <namespace>] Override the namespace where Tekton Triggers is installed (defaults to Dashboard install namespace)
[--version <version>] Will download manifests for specified version or build everything using kustomize/koThe install command is used to install the Tekton Dashboard in a cluster. It supports both Kubernetes and OpenShift.
Examples below illustrate the main install options:
- Installing on Kubernetes
- OpenShift with Tekton Pipelines and Triggers installed by OpenShift Pipelines Operator
- Installing in a custom namespace
- Installing for single namespace visibility
- Install ingress
To install the Tekton Dashboard on Kubernetes, using the default options, run the command:
./scripts/installer installThis will install the Dashboard in the tekton-pipelines namespace and assumes that Tekton Pipelines and Triggers are also installed in the tekton-pipelines namespace.
To install the Tekton Dashboard on OpenShift after installing Tekton Pipelines and Triggers using OpenShift Pipelines Operator, run the command:
./scripts/installer install --namespace openshift-pipelinesAlternatively, take one of the official release manifests and replace any reference to the tekton-pipelines namespace with openshift-pipelines for the same result.
You can install the Dashboard in the namespace of your choice, this works whatever the platform (Kubernetes / OpenShift) and install method (OpenShift Pipelines Operator / manifests).
To tell the installer script the target namespace of your choice, add the --namespace option:
CUSTOM_NAMESPACE=my-namespace
./scripts/installer install --namespace $CUSTOM_NAMESPACETo install the Dashboard add the --read-write option when calling the installer script:
./scripts/installer install --read-writeLimited namespace visibility restricts the Tekton Dashboard actions scope and resources that can be seen to a subset of namespaces in the cluster.
To install for limited namespace visibility run the following command:
TENANT_NAMESPACES=my-namespace1,my-namespace2
./scripts/installer install --tenant-namespaces $TENANT_NAMESPACESThe installer script can create an ingress for your Dashboard service, to enable ingress creation add --ingress-url and optionally --ingress-secret if the ingress needs TLS support.
./scripts/installer install --ingress-url my-dashboard.my-domain.com --ingress-secret my-tls-certificateTo uninstall the Dashboard, use the uninstall instead of the install command.
./scripts/installer uninstallThe installer script can be used to build the Dashboard docker image and the YAML manifests (taking care of command line options) by using the build command when calling the script:
./scripts/installer buildThis will NOT deploy the resulting manifest in the target cluster but will build and push the Dashboard docker image to whichever docker repo was configured for ko to work with and will display the YAML manifests in the console output.
The build command is useful when you want to ensure everything builds correctly without altering the current deployment. It can help verifying the generated manifests are correct when a change was made in the base or overlays used by kustomize too.
Official Dashboard releases provide multi-platform images supporting the following:
linux/amd64linux/arm64linux/ppc64lelinux/s390x
The installer script's build and install commands will build an image for linux/amd64 by default.
To override the platform in cases where the target cluster is running on a different architecture, add --platform <platform> where <platform> is a value from the list of supported values, for example:
./scripts/installer install --platform linux/arm64or build a multi-platform image by specifying all or a comma-separated list of supported platforms:
./scripts/installer install --platform allThis behaviour can also be controlled using the GOOS and GOARCH environment variables.
See the ko documentation for further details.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License. Code samples are licensed under the Apache 2.0 License.