Skip to content
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

WIP: Add support for using CSIVolumeSource as workspaces #4825

Closed
wants to merge 1 commit into from

Conversation

vdemeester
Copy link
Member

@vdemeester vdemeester commented May 3, 2022

Changes

This adds support for using kubernetes CSI
volumes (https://kubernetes.io/docs/concepts/storage/volumes/#csi) as
workspaces.

This opens a lot of possibility as it would enable users to use
alternative volumes for their workspace. An example is the Secrets
Store CSI
Driver (https://secrets-store-csi-driver.sigs.k8s.io/introduction.html)
to use Hashicorp Vault.

It could also open doors for Tekton to ship its own CSI driver to
share data between tasks without the need of a PVC.

Signed-off-by: Vincent Demeester [email protected]

/kind feature
/cc @tektoncd/core-maintainers @imjasonh @abayer

Closes #4446

This still needs

  • Figure out if I need to write a TEP or not 🙏🏼
  • Tests
  • Docs

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Docs included if any changes are user facing
  • Tests included if any functionality added or changed
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including
    functionality, content, code)
  • Release notes block below has been filled in
    (if there are no user facing changes, use release note "NONE")

Release Notes

Add support to use any CSI volume driver as a workspace

@tekton-robot tekton-robot requested a review from abayer May 3, 2022 14:14
@tekton-robot tekton-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note Denotes a PR that will be considered when it comes time to generate release notes. labels May 3, 2022
@tekton-robot tekton-robot requested review from imjasonh and a team May 3, 2022 14:14
@tekton-robot tekton-robot added the kind/feature Categorizes issue or PR as related to a new feature. label May 3, 2022
@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign vdemeester
You can assign the PR to them by writing /assign @vdemeester in a comment when ready.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label May 3, 2022
@tekton-robot
Copy link
Collaborator

The following is the coverage report on the affected files.
Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/workspace_validation.go 100.0% 96.4% -3.6

@dibyom
Copy link
Member

dibyom commented May 3, 2022

Thank you @vdemeester

Re: Figure out if I need to write a TEP or not 🙏🏼

My $0.02 - The new experimental TEP process says we should start with a issue or a PR labelled [design-idea] and that "if the change is agreed to be small enough that a doc is not warranted and PRs can be opened and merged directly, " - IMO this is a good example of an instance where we can skip the design doc and merge :)

@imjasonh
Copy link
Member

imjasonh commented May 3, 2022

My $0.02 - The new experimental TEP process says we should start with a issue or a PR labelled [design-idea] and that "if the change is agreed to be small enough that a doc is not warranted and PRs can be opened and merged directly, " - IMO this is a good example of an instance where we can skip the design doc and merge :)

Yes! This is exactly the kind of change I'd like for us to at least consider as not needing a TEP. FWIW I think it's possible, since this is both a relatively small and relatively well understood addition to the API. The only real gap I see is a testing plan, but I believe in @vdemeester to come up with something for that.

@vdemeester
Copy link
Member Author

Yes! This is exactly the kind of change I'd like for us to at least consider as not needing a TEP. FWIW I think it's possible, since this is both a relatively small and relatively well understood addition to the API. The only real gap I see is a testing plan, but I believe in @vdemeester to come up with something for that.

Yes, that's why it's a WIP right now 😝

@vdemeester vdemeester added the kind/design Categorizes issue or PR as related to design. label May 3, 2022
This adds support for using kubernetes CSI
volumes (https://kubernetes.io/docs/concepts/storage/volumes/#csi) as
workspaces.

This opens a lot of possibility as it would enable users to use
alternative volumes for their workspace. An example is the Secrets
Store CSI
Driver (https://secrets-store-csi-driver.sigs.k8s.io/introduction.html)
to use Hashicorp Vault.

It could also open doors for Tekton to ship its own CSI driver to
share data between tasks without the need of a PVC.

Signed-off-by: Vincent Demeester <[email protected]>
@vdemeester vdemeester force-pushed the 4446-csi-workspace branch from fee2a9c to 3443590 Compare May 6, 2022 12:16
@tekton-robot
Copy link
Collaborator

The following is the coverage report on the affected files.
Say /test pull-tekton-pipeline-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/apis/pipeline/v1beta1/workspace_validation.go 100.0% 96.4% -3.6

@tekton-robot
Copy link
Collaborator

@vdemeester: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
pull-tekton-pipeline-build-tests 3443590 link /test pull-tekton-pipeline-build-tests

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

@vdemeester
Copy link
Member Author

Closing in favor of #5030 😉

@vdemeester vdemeester closed this Jul 5, 2022
@vdemeester vdemeester deleted the 4446-csi-workspace branch July 5, 2022 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/design Categorizes issue or PR as related to design. kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CSI volumes as workspaces
4 participants