Closed ncskier closed 4 years ago
/assign
Above wires were based off discussion with design team- another variation to consider
@mii-w the split-window is interesting. Just to clarify, when the user selects another Trigger from the accordion list, will the right pane with Parameters
and Interceptor
change its content? Each Trigger has its own Interceptor & Parameters, so the YAML split-window view doesn't really make sense to me; I don't think we would want the Parameters
and Interceptor
window to still be there.
Agree with @ncskier. And for the layout, it will come out in the wash when we hand these to Carrie but we need to stick with the existing pattern re: the YAML should appear in a separate tab than the Details etc. Also, per @ncskier 's comment above, the full YAML is for the Event Listener itself, not each trigger (which should have a snippit of the YAML), correct? Making sure we're on the same page.
yeah, I can see why it wouldn't make sense, because the Parameters and Interceptor are specific to a Trigger. I also flipped the order, Interceptor on top (to keep layout kind of consistent with resource templates and Parameters)
In regards to displaying the YAML, I think we should keep it consistent throughout all.
To avoid confusion between overlapping implementation and design iterations, I've created issue #726 to track the design work, and this issue (#671) will only handle the "first pass" implementation.
If you assign yourself to this issue, please coordinate with @mii-w about which design to implement for the "first pass."
We want to start working on our 0.3 release for Triggers, I reckon the last wireframe looks good apart from the interceptor panel which confused me.
I propose interceptor information should display:
Here's my full EventListener for a working set up with one webhook:
apiVersion: v1
items:
- apiVersion: tekton.dev/v1alpha1
kind: EventListener
metadata:
creationTimestamp: 2019-11-26T11:20:47Z
generation: 1
name: tekton-webhooks-eventlistener
namespace: tekton-pipelines
resourceVersion: "687631"
selfLink: /apis/tekton.dev/v1alpha1/namespaces/tekton-pipelines/eventlisteners/tekton-webhooks-eventlistener
uid: cb80cfe6-103e-11ea-ae12-025000000001
spec:
serviceAccountName: tekton-webhooks-extension-eventlistener
triggers:
- binding:
apiversion: v1alpha1
name: simple-pipeline-push-binding
interceptor:
header:
- name: Wext-Trigger-Name
value: adam1-tekton-pipelines-push-event
- name: Wext-Repository-Url
value: https://github.ibm.com/AROBERTS/devops-world-example
- name: Wext-Incoming-Event
value: push
- name: Wext-Secret-Name
value: mytoken
objectRef:
apiVersion: v1
kind: Service
name: tekton-webhooks-extension-validator
namespace: tekton-pipelines
name: adam1-tekton-pipelines-push-event
params:
- name: webhooks-tekton-release-name
value: devops-world-example
- name: webhooks-tekton-target-namespace
value: tekton-pipelines
- name: webhooks-tekton-service-account
value: tekton-dashboard
- name: webhooks-tekton-git-server
value: github.ibm.com
- name: webhooks-tekton-git-org
value: aroberts
- name: webhooks-tekton-git-repo
value: devops-world-example
- name: webhooks-tekton-docker-registry
value: adamroberts
template:
apiversion: v1alpha1
name: simple-pipeline-template
- binding:
apiversion: v1alpha1
name: simple-pipeline-pullrequest-binding
interceptor:
header:
- name: Wext-Trigger-Name
value: adam1-tekton-pipelines-pullrequest-event
- name: Wext-Repository-Url
value: https://github.ibm.com/AROBERTS/devops-world-example
- name: Wext-Incoming-Event
value: pull_request
- name: Wext-Secret-Name
value: mytoken
- name: Wext-Incoming-Actions
value: opened,reopened,synchronize
objectRef:
apiVersion: v1
kind: Service
name: tekton-webhooks-extension-validator
namespace: tekton-pipelines
name: adam1-tekton-pipelines-pullrequest-event
params:
- name: webhooks-tekton-release-name
value: devops-world-example
- name: webhooks-tekton-target-namespace
value: tekton-pipelines
- name: webhooks-tekton-service-account
value: tekton-dashboard
- name: webhooks-tekton-git-server
value: github.ibm.com
- name: webhooks-tekton-git-org
value: aroberts
- name: webhooks-tekton-git-repo
value: devops-world-example
- name: webhooks-tekton-docker-registry
value: adamroberts
template:
apiversion: v1alpha1
name: simple-pipeline-template
- binding:
apiversion: v1alpha1
name: monitor-task-binding
interceptor:
header:
- name: Wext-Trigger-Name
value: github.ibm.com/aroberts/devops-world-example
- name: Wext-Repository-Url
value: https://github.ibm.com/AROBERTS/devops-world-example
- name: Wext-Incoming-Event
value: pull_request
- name: Wext-Secret-Name
value: mytoken
- name: Wext-Incoming-Actions
value: opened,reopened,synchronize
objectRef:
apiVersion: v1
kind: Service
name: tekton-webhooks-extension-validator
namespace: tekton-pipelines
name: github.ibm.com/aroberts/devops-world-example
params:
- name: commentsuccess
value: Success
- name: commentfailure
value: Failed
- name: commenttimeout
value: Unknown
- name: gitsecretname
value: mytoken
- name: gitsecretkeyname
value: accessToken
- name: dashboardurl
value: http://tekton-dashboard:9097/v1/namespaces/tekton-pipelines/endpoints
template:
apiversion: v1alpha1
name: monitor-task-template
status:
address:
hostname: el-tekton-webhooks-eventlistener.tekton-pipelines.svc.cluster.local
conditions:
- lastTransitionTime: 2019-11-26T11:20:52Z
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
- lastTransitionTime: 2019-11-26T11:20:47Z
message: Deployment exists
status: "True"
type: Deployment
- lastTransitionTime: 2019-11-26T11:20:52Z
message: ReplicaSet "el-tekton-webhooks-eventlistener-7b568d968" has successfully
progressed.
reason: NewReplicaSetAvailable
status: "True"
type: Progressing
- lastTransitionTime: 2019-11-26T11:20:47Z
message: Service exists
status: "True"
type: Service
configuration:
generatedName: el-tekton-webhooks-eventlistener
kind: List
metadata:
resourceVersion: ""
selfLink: ""
Thanks @mii-w, so for anyone who picks this up we think the above would be an awesome thing to implement first
Update: it's me, hello
@AlanGreene has approved my PR but I've just added some more feedback in response to his and I'm done for the Christmas break now, thanks all - let's get this in (and I'd like to fix the flashing datatable on hover) later 😄
Merged, it's not perfect (initial approach was with accordions and they were awkward to use and style, then nested expandable datatables but this introduced horrible flashing behaviour and it's not something Carbon recommend or support) - either way we now have all the details pages, cheers all ⛱
This work is under epic https://github.com/tektoncd/dashboard/issues/509
Expected Behavior
I expect to be able to view the details of an EventListener resource in the Dashboard.
This panel should have two tabs,
Details
andYAML
.YAML view
The
YAML
view should display the YAML definition of the EventListener resource (kubectl get eventlistener EL_NAME -oyaml
). The YAML should be formatted like a code snippet.Here is the latest wireframe from #509 for the
YAML
view.Details view
The
Details
view should be a nicely formatted representation of the important information in the EventListener's YAML. TheDetails
view must include the following information:Here is the latest wireframe from #509 for the
Details
view.Actual Behavior
We have no paneling for viewing EventListener resource details.
Additional Info