-
Notifications
You must be signed in to change notification settings - Fork 268
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
Bind Workspaces for PipelineRun #2459
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 @marniks7. 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. |
UI: Add workspaces dropdown with all possible volume sources for PipelineRun Support volume sources: configmap, secret, pvc, emptydir Backend: intercept k8s response for configmap, secret or pvc and modify response to contain only non-sensitive data RBAC: allow to list \ watch those volume sources Support Optional Workspaces
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR @marniks7. Overall it looks like a pretty good start but as discussed on Slack could do with being broken into a series of smaller changes so we can iterate on it more easily and do a more complete review.
I have some general comments:
- we only need to filter Secrets, the other resources do not contain sensitive information and we will actually be using ConfigMaps for other functionality in the near future and will require their full content
- when filtering the data it should only affect resources of the correct kind, it shouldn't affect other resources that happen to have 'secret' elsewhere in the API path (e.g. namespace, resource name, etc.)
- need to confirm that any websocket messages are also filtered, or block websocket connections for Secrets
- the user should be able to differentiate between types of resource when configuring the workspace, e.g. identify which resource named 'foo' is a Secret vs. ConfigMap vs. PVC. We could include the type in the option text as you suggested on the issue but I think it's worth exploring other approaches here to see what works best
- test resources should be no larger / more complex than needed to verify functionality, e.g. no need to include large cert values in secrets
- it should be possible to run the Cypress E2E tests in isolation and against any environment (e.g. local dev environment), shouldn't rely on setup from e2e-tests.sh creating specific resources etc.
- new files should just have current year in copyright header
I think the next step would be to open a PR with just the back end changes providing the new resources with filtering etc.
Let me know if you have any questions.
Hi @AlanGreene
|
ConfigMaps should not be used for sensitive info, I don't know why the author suggests that
The e2e tests can execute commands on the host if needed, e.g. run If the Dashboard already has permissions to access / modify the resources in question you can also use |
@marniks7: PR needs rebase. 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. |
Hi @AlanGreene , is there any plan to merge this pr? |
Thanks for your interest @triThirty. There are a number of outstanding issues that need to be addressed (some outlined in the description and comments above) and we're working through them at the moment. This PR will not be merged in its current form but we do plan to enable this functionality in a future release, keep an eye on #1283 for updates. |
Changes
Implements #1283
Workspaces for:
VolumeSource
s:https://tekton.dev/docs/pipelines/workspaces/#projected
https://tekton.dev/docs/pipelines/workspaces/#csi
Features:
https://tekton.dev/docs/pipelines/workspaces/#optional-workspaces
Notes:
configmaps
,secrets
orpersistentvolumeclaim
data by modifying response from k8s: only minimal required amount of data is preserved. Such filtration is applied to all urls withsecret
orconfigmap
orpersistentvolumeclaim
in the path.configmaps
,secrets
,persistentvolumeclaims
(list
andwatch
verbs) were added to the ClusterRoletekton-dashboard-backend
.Submitter Checklist
As the author of this PR, please check off the items in this checklist:
Do we need any other docs?
functionality, content, code)
See the contribution guide
for more details.