-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Tekton Results integration DEMO #3860
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @xinnjie. Thanks for your PR. I'm waiting for a tektoncd member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/hold |
da5a3e7
to
b3c2bea
Compare
You may find setup cumbersome. Here is a demonstration video. demo.mov |
da5a3e7
to
b3c2bea
Compare
Thanks for the PR @xinnjie. It's great to see there's still interest from the community in making progress on integration of Tekton Results in the Dashboard. That said, there are a number of issues with the approach taken in this PR. Fundamentally, we would much prefer to have the loading of data from either Results or from the k8s API happen transparently to the user in the API / data layer of the Dashboard as previously discussed in tektoncd/results#82. This means that there would be no separate 'TaskRuns by Results' pages, the existing pages would be populated with the data from whichever source is configured. Before implementing the integration, it would be helpful to take a step back and look at a mapping between the views and functionality currently provided by the Dashboard and the API support currently available in Results. As part of this, identify in detail any gaps on both sides. This would include things like:
Once we have that detailed set of desired features and functionality, we can explore the requirements for the UX design, supporting architecture and technical implementation details for any changes that may be required in the Dashboard to facilitate them. There are a number of changes already planned for the Dashboard in early 2025 that may impact the approach taken for the integration of Results data into the UI, including:
I'm currently on vacation so if you have any further comments or questions I may not get a chance to respond until I return in the new year. Thanks again for the PR, your detailed description, and the demo recordings. |
Closing the PR, but feel free to continue discussion here. |
Changes
This is a demo for Tekton Results to integrate with Tekton Dashboard.
Related to tektoncd/results#82
Please focus on front-end part.
I want to know if there are any unwanted decisions made here .I'd like to propose a TEP about the integration in a few days.
Included functionality:
TaskRuns by Results
in side navigation bar.TaskRuns by Results
display all TaskRuns provided by Tekton Results APITaskRuns by Results
I will call API provided by Tekton Results ResultsAPI for short.
Impletation details
Resources URL mapping
There are about 3 types of resources in Tekton Results:
Result
,Record
,Log
, read Results Data Model for detail.Here
Record
ofTaskRun
type andLog
is involved.Data accessing to ResultsAPI
Dashboard frontend sends requests to Dashboard backed, and Dashboard backend forwards all requests to Results backend.
How dashboard frontend queries resources of ResultAPI remains unclear and needs to be discussed. Implemantation in demo is merely for convenience. One of the goal should be taking advange of existing kubernates access control mechanism.
Need a plan design for how this is going to be, as mentioned in #3002 (comment)
New
TaskRunsByResults
Component Instead of reusingTaskRuns
TaskRunsByResults
component compared toTaskRuns
.TaskRuns
behavior directly.Basicly, I think a little boilerplate code here is better than mixing Results resources with TaskRun resources.
Snapshots:
Setup
In dashboard repo root directory:
To enable log feature, checkout this branch in results repo root directory:
More decisions to make
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
functionality, content, code)
/kind <type>
. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tepRelease Notes