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

Promote the provenance field in *Run status #6309

Closed
chuangw6 opened this issue Mar 7, 2023 · 7 comments · Fixed by #6495
Closed

Promote the provenance field in *Run status #6309

chuangw6 opened this issue Mar 7, 2023 · 7 comments · Fixed by #6495
Assignees
Labels
area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) kind/feature Categorizes issue or PR as related to a new feature.

Comments

@chuangw6
Copy link
Member

chuangw6 commented Mar 7, 2023

Feature looking for Promotion

The field provenance that was introduced into TaskRun/PipelineRun status in a recent release is an alpha feature gated by the dedicated feature flag enable-provenance-in-status. This ticket is requesting to promote and move the feature out of the feature flag. Specifically, remove the dedicated feature and make it available under beta.

Current Feature Version

enable-provenance-in-status: true

Raise Feature Version

enable-api-fields: beta

Pipeline Release

v0.42

Issues Reported by the Users

Usage in Dogfooding Cluster

None

Examples/Tests

  • e2e test
  • usage example in Chains (where the invocation.configsource and invocation.environment in the provenance are populated with the value from the provenance field.)
@chuangw6 chuangw6 added the kind/feature Categorizes issue or PR as related to a new feature. label Mar 7, 2023
@chuangw6
Copy link
Member Author

chuangw6 commented Mar 7, 2023

/assign

@vdemeester
Copy link
Member

/area roadmap

@tekton-robot tekton-robot added the area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) label Mar 8, 2023
@chuangw6
Copy link
Member Author

chuangw6 commented Mar 9, 2023

Before moving this to beta, we should get renaming its subfield done mainly to make sure the name here is not specific to a particular version of SLSA spec.

chuangw6 added a commit to chuangw6/pipeline that referenced this issue Apr 5, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 2, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 2, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 2, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 2, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 2, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 3, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 3, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 3, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 3, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 3, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 4, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 5, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 5, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 5, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 8, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 8, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 9, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 9, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
@chuangw6
Copy link
Member Author

Suggesting we promote this feature directly to stable. The reason is that, unlike an API field that is specified by the user, this provenance field is part of TaskRun/PipelineRun status that will be directly populated by the controller. And this behaviour in the controller is quite stable. Specifically, the value of the subfield Provenance.RefSource is derived from remote resolution which spits out the source information where the remote pipeline/task came from. And the subfield Provenance.FeatureFlags just records the feature flag configmap.

In addition, if we promote this to beta first, that means, beta flag must be enabled for V1 api, whereas both beta and stable (and alpha) are acceptable for v1beta1 api. However, there is no way in V1's admission webhook to check the feature flag for this particular field b/c as mentioned above this field is only populated in the controller. Instead, we have to do this in the controller:

if it's v1 API:
   if beta is enabled:
          populate the field
if it's v1beta1 API:
   populate the field.

@chuangw6
Copy link
Member Author

chuangw6 commented May 10, 2023

cc @tektoncd/core-maintainers for thoughts

@lbernick
Copy link
Member

@chuangw6 I don't think the snippet you included will work as intended: we have no way of knowing in the reconciler what version a taskrun/pipelinerun was created as; we only operate on the stored version of the api. This means swapping a stored version would be a breaking change, which it's not meant to be. This is another problem related to #6592.

I don't have much insight on the stability of this feature in particular.

chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 17, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 17, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
@chuangw6
Copy link
Member Author

Thank you @lbernick for the input. That's helpful to know!

Updates from the discussion on May 15, 2023 API WG Meeting, we wanted to promote this feature to beta first. The way to do that is to keep the dedicated feature flag enable-provenance-in-status, but enable it by default with the installation of tekton pipeline. Once we thinks this feature is ready for stable, we will completely remove the feature flag from the code.

The implementation is done in #6495.

cc @tektoncd/core-maintainers.

Please leave a comment if anyone has any thought or comment on this.

chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 19, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was gated by the dedicated feature
flag named `enable-provenance-in-status`.

This PR moves the field out of the feature flag.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 19, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was an alpha feature gated by
the dedicated feature flag named `enable-provenance-in-status` which is
disabled by default.

Now, we move this feature to beta by enabling this feature flag by default
with the installation of Tekton Pipelines. In future, we will completely
remove this feature flag once we feel this feature is stable.

Signed-off-by: Chuang Wang <chuangw@google.com>
chuangw6 added a commit to chuangw6/pipeline that referenced this issue May 19, 2023
Fixes tektoncd#6309.

Prior, the `provenance` field in status was an alpha feature gated by
the dedicated feature flag named `enable-provenance-in-status` which is
disabled by default.

Now, we move this feature to beta by enabling this feature flag by default
with the installation of Tekton Pipelines. In future, we will completely
remove this feature flag once we feel this feature is stable.

Signed-off-by: Chuang Wang <chuangw@google.com>
tekton-robot pushed a commit that referenced this issue May 19, 2023
Fixes #6309.

Prior, the `provenance` field in status was an alpha feature gated by
the dedicated feature flag named `enable-provenance-in-status` which is
disabled by default.

Now, we move this feature to beta by enabling this feature flag by default
with the installation of Tekton Pipelines. In future, we will completely
remove this feature flag once we feel this feature is stable.

Signed-off-by: Chuang Wang <chuangw@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants