Dashboard: Display versions in the meow (Tekton Dashboard, Tekton Pipelines)

Created on 27 Nov 2019  路  13Comments  路  Source: tektoncd/dashboard

We've seen users ask about the current Tekton version running on a few occasions now and it'd be useful to display this information in our UI so users don't need to check image references to figure out what's running.

An example of how this can be done:

1) Displaying the Tekton Dashboard version is straight forward: it could be master or 0.2.1 for example.

For displaying an exact version number, we could have a file checked in that's queried, only against our branch, do something fancy at release pipeline time, or just have a hardcoded string we add to our frontend code after we cut a branch but before we run the release pipeline.

I prefer the latter for simplicity.

2) Displaying the Tekton Pipelines version is less trivial - I believe (@vdemeester can you confirm this?) we're going to move towards using image tags instead of large hashes.

When installing Tekton Pipelines through the OpenShift Pipelines operator, there is a human interpretable image tag (e.g. 0.7.0) that we could retrieve by querying the deployment information, or perhaps by looking at the Tekton CRDs.

3) How about displaying the detected Triggers version too?

Note, this is only relatively simple when we assume there's one version of Tekton installed 馃槃

Most helpful comment

Just be aware that the annotation/label will change to pipeline.tekton.dev/release instead of tekton.dev/release (because it's just the tekton pipeline release version)

All 13 comments

I've seen some tools include version info in the tooltip on the logo / title, something like this:
image

What type of version info can we access? Some formats are obviously more user friendly / useful than others
image
image

As for how we get the info into the UI, I generally prefer not having to manually update version strings as it can be error prone and restricts us to only updating for full releases. I think it would be useful to include something for nightly / dev builds too.

@AlanGreene good points, yep I like the Tekton cat giving the information.

We could offer up an endpoint that would serve up the install information (e.g. the image IDs - after interrogating our own deployment information and anything else we care for).

For proper release versions, this would work if we start to tag our images with the version and we use that (instead of using the ID that comes out of ko - the big hash).

Short of that (and this is a manual approach indeed) an alternative would be to add app version labels into our yaml that we can interrogate to get a version string.

/aasign

/unassign

Ready to be picked up again now

/assign

It seems unnaturally difficult to figure out what version you're running (you have to use the hash). I've created issues in the Pipeline & Triggers repos to add version labels to the deployments:

Even though we aren't using the version label in this issue, to be proactive I think that we should add a version label to the Dashboard deployment. @CarolynMabbott do you think this is a good idea, and would you like to add it to your PullRequest (https://github.com/tektoncd/dashboard/pull/935)? If you think it need a little more discussion and/or it doesn't belong in your PullRequest, then I can create a new issue in the Dashboard to match the Pipeline & Triggers issues.

@ncskier good points, @vdemeester FYI because of the cri-o implications (if we were to go with the tag approach as well as the digest, perhaps we need a second yaml too bc of this). So having version somewhere would be a real improvement.

@ncskier The tag would have been the only displayed with the method i put in in the PR. However I have changed it now to use a label instead on the deployment so it wont break on Openshift

Just be aware that the annotation/label will change to pipeline.tekton.dev/release instead of tekton.dev/release (because it's just the tekton pipeline release version)

See here https://github.com/tektoncd/pipeline/pull/1894/files#diff-d56e306ce931c2991f18ef68b6b501a3R37

Now merged (though not part of the meow - we have a dedicated page and this gives us room to display plenty more useful information too)

It'll be in the 0.5.1 release (and of course master) 馃樃

Was this page helpful?
0 / 5 - 0 ratings