-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Base entrypoint image on distroless #3286
Conversation
The only reason it was based on busybox was to have access to `cp`, which it used to copy its binary to /tekton/tools for use in later steps. Instead of relying on `cp`, this adds a "cp mode" to the entrypoint binary itself. When invoked with the positional args `cp <src> <dst>`, it copies src to dst using Go's os and io packages.
/kind feature |
/lgtm FWIW :D |
/kind feature |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dlorenc The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/test pull-tekton-pipeline-integration-tests |
I am not sure I follow entirely this, before this change, we just need to ensure that entrypoint image is multi-arch (just like This just bakes |
Yep, exactly. It was based on Basing on
I don't think we should consider it a breaking change. The "debug stuff" was only present in the |
Well, we are not copying
Isn't
We do publish the entrypoint image, so any user could use it as its own, independently of what Tekton does with it. I do agree it would be weird to use it (instead of an |
Right right. Copying it's functionality, is what I meant.
(from https://viz.kontain.me)
I think I still consider that far enough outside intended use that if it breaks anybody it's because they were doing something we don't expect to support. (Hyrum's Law, of course, aside). |
https://github.com/GoogleContainerTools/distroless#base-operating-system Interesting, it seems to track debian π πΌ |
Reopening #2562 which for some reason GitHub/Prow won't let me reopen π€·ββοΈ
With
ko
gaining multi-arch support, this change is becoming a bit more relevant, since it makes every TaskRun require acp
binary in the base image, which makes it harder to support multi-arch support in Tekton.The only reason it was based on busybox was to have access to
cp
,which it used to copy its binary to /tekton/tools for use in later
steps.
Instead of relying on
cp
, this adds a "cp mode" to the entrypointbinary itself. When invoked with the positional args
cp <src> <dst>
,it copies src to dst using Go's os and io packages.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
See the contribution guide for more details.
Double check this list of stuff that's easy to miss:
cmd
dir, please updatethe release Task to build and release this image.
Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
cc @mattmoor @afrittoli @vdemeester