Skip to content

cezarguimaraes/tkn-dash

Repository files navigation

tkn-dash

License Go Report Card CI

tkn-dash is a barebones, lightweight and fast alternative to Tekton Dashboard.

image

Some of its highlights are:

  • no deployment required: can be used as a command line tool.
  • syntax highlighting of step's script fields, powered by alecthomas/chroma
  • can be used without cluster access by parsing JSON exports of Tekton resources.
  • blazingly fast™
  • powered by HTMX.

Installing

  • Via go install:
go install github.com/cezarguimaraes/tkn-dash@latest
  • Self-contained executables for Linux, Windows and Mac are available on the releases page.

For cluster deployment instructions, read Kubernetes Deployment.

Usage

  • Start the server on a random port, using local kubernetes credentials and open a browser to it:

    tkn-dash -browser
  • On a specific port:

    tkn-dash -browser -addr :8000
  • Using Tekton resources snapshots - does not require cluster credentials:

    tkn-dash -browser tmp/*.json

    For this scenario, snapshots could have been created as follows:

    mkdir tmp
    kubectl get taskruns -o json > tmp/trs.json
    kubectl get pipelineruns -o json > tmp/prs.json

Kubernetes Deployment

To quickly create a local kubernetes cluster using minikube, refer to Tekton dashboard tutorial.

A release file is made available on every release.

  • Apply the release.yaml file:
    VERSION=<latest tag without v>
    kubectl apply -f https://github.com/cezarguimaraes/tkn-dash/releases/download/v${VERSION}/release.yaml
  • Note the release does not include a Service resource. To create a ClusterIP service, run:
    kubectl expose deployment -n tkn-dash tkn-dash --type=ClusterIP

For local access, port-forwarding is possible:

kubectl port-forward -n tkn-dash deployment/tkn-dash 8000

Then access http://localhost:8000/ in your browser.