Skip to content

feat: clean up pvc after pipelinerun#3281

Open
merll wants to merge 9 commits into
mainfrom
APL-1897
Open

feat: clean up pvc after pipelinerun#3281
merll wants to merge 9 commits into
mainfrom
APL-1897

Conversation

@merll
Copy link
Copy Markdown
Collaborator

@merll merll commented May 27, 2026

📌 Summary

This PR adds an annotation to build PipelineRun resources, allowing for Tekton to drop the volumes after the build has finished.

Also a label has been added for the "affinity assistant" which coschedules pods on the same node. Removing the Istio sidecars should speed up the startup of these pods.

🔍 Reviewer Notes

🧹 Checklist

  • Code is readable, maintainable, and robust.
  • Unit tests added/updated

@merll merll requested review from Ani1357 and j-zimnowoda as code owners May 27, 2026 10:08
@svcAPLBot
Copy link
Copy Markdown
Contributor

svcAPLBot commented May 27, 2026

Comparison of Helm chart templating output:

# rabbitmq-cluster-operator/templates/messaging-topology-operator/validating-webhook-configuration.yaml

# team-ns/templates/builds/buildpack.yaml

@@ metadata.annotations @@
# tekton.dev/v1/PipelineRun/buildpacks-build-demo-java2-v0-0-1
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

@@ metadata.labels @@
# tekton.dev/v1/PipelineRun/buildpacks-build-demo-java2-v0-0-1
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ spec.resourcetemplates.0.metadata.labels @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-ext-repo-buildpacks-public-trigger
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ spec.resourcetemplates.0.metadata.annotations @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-ext-repo-buildpacks-public-trigger
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

# team-ns/templates/builds/docker.yaml

@@ metadata.annotations @@
# tekton.dev/v1/PipelineRun/docker-build-demo-ext-repo-private
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

@@ metadata.labels @@
# tekton.dev/v1/PipelineRun/docker-build-demo-ext-repo-private
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ metadata.annotations @@
# tekton.dev/v1/PipelineRun/docker-build-demo-ext-repo-public
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

@@ metadata.labels @@
# tekton.dev/v1/PipelineRun/docker-build-demo-ext-repo-public
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ metadata.annotations @@
# tekton.dev/v1/PipelineRun/docker-build-demo-java1-v0-0-1
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

@@ metadata.labels @@
# tekton.dev/v1/PipelineRun/docker-build-demo-java1-v0-0-1
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ spec.resourcetemplates.0.metadata.labels @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-ext-repo-private-trigger
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ spec.resourcetemplates.0.metadata.annotations @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-ext-repo-private-trigger
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

@@ spec.resourcetemplates.0.metadata.labels @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-ext-repo-public-trigger
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ spec.resourcetemplates.0.metadata.annotations @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-ext-repo-public-trigger
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

@@ spec.resourcetemplates.0.metadata.labels @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-java3-v0-0-1
! + one map entry added:
+ sidecar.istio.io/inject: "false"

@@ spec.resourcetemplates.0.metadata.annotations @@
# triggers.tekton.dev/v1alpha1/TriggerTemplate/trigger-template-demo-java3-v0-0-1
! - one map entry removed:
- sidecar.istio.io/inject: "false"
! + one map entry added:
+ tekton.dev/auto-cleanup-pvc: "true"

# tekton-pipeline/templates/config-defaults-cm.yaml

@@ data @@
! + one map entry added:
+ default-affinity-assistant-pod-template: |
+   labels:
+     sidecar.istio.io/inject: "false"

# values-repo.yaml

@merll merll changed the title feat: remove pvc after pipelinerun feat: clean up pvc after pipelinerun May 27, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Tekton build configuration so build PipelineRuns can clean up generated PVCs after completion and avoid Istio sidecar injection for build-related pods.

Changes:

  • Adds PVC cleanup annotations to docker and buildpack PipelineRun templates.
  • Moves Istio sidecar opt-out metadata from annotations to labels on PipelineRun resources.
  • Adds a Tekton affinity assistant default pod template intended to disable Istio sidecar injection.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
values/tekton-pipelines/tekton-pipelines.gotmpl Adds default affinity assistant pod template configuration.
charts/team-ns/templates/builds/docker.yaml Updates docker build PipelineRun metadata for PVC cleanup and sidecar opt-out.
charts/team-ns/templates/builds/buildpack.yaml Updates buildpack PipelineRun metadata for PVC cleanup and sidecar opt-out.

Comment thread charts/team-ns/templates/builds/docker.yaml
Comment thread charts/team-ns/templates/builds/docker.yaml
Comment thread charts/team-ns/templates/builds/buildpack.yaml
Comment thread charts/team-ns/templates/builds/buildpack.yaml
Comment on lines +41 to +42
labels:
sidecar.istio.io/inject: "false"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants