You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is there something I have to do to make a Pipeline correctly populate the kaniko task with the stuff it needs?
Expected Behavior
I should be able to specify basic-auth credentials in a Secret, reference the Secret in a ServiceAccount, then build and push an image.
Actual Behavior
error checking push permissions -- make sure you entered the correct tag name, and that you are authenticated correctly, and try again: checking push permission for "[...]...)": POST .../blobs/uploads/: UNAUTHORIZED: unauthorized to access repository: projects/..., action: push: unauthorized to access repository: projects/..., action: push
docker login myserver.com and pushing from local works fine with these credentials.
Mounting a dockerconfig manually using a workspace works fine with these credentials.
Steps to Reproduce the Problem
Create an Pipeline, Secret and ServiceAccount, then submit a PipelineRun that use a kaniko task for a well-known thing.
Additional Info
Kubernetes version:
Output of kubectl version:
Client Version: v1.28.3
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.6+k0s
WARNING: version difference between client (1.28) and server (1.30) exceeds the supported minor version skew of +/-1
Tekton Pipeline version:
Output of tkn version or kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'
The pipeline which does not use the dockerconfig and instead relies on functionality from the docs for mounting docker basic auth does not work. Corresponding service account:
The pipeline which does not use the dockerconfig and instead relies on functionality from the docs for mounting docker basic auth does not work.
Can you share a link for the docs you're referring to here?
Tekton Pipeline version:
…
v0.58.0
It's also worth pointing out that the version of Tekton Pipelines you're running was EOL a year ago.
the kaniko task
Can you confirm specifically which Task you're referring to? Is it the one from the Tekton Catalog or from some other source? Which version of the Task?
Also related to: #7453 - the user here tries a variety of methods simultaneously before discovering that there's no "automatic" credentials mounting process for docker.
I think the expected behavior is that once a service account has an associated secrets key, tekton will set up directories in the right canonical places (such as the config.json for docker) with the right data for every container in every task's pod using that service account. This is kind of what's implied by the docs I linked, but of course, I know better, I know that tekton doesn't do that. It's hard to tell from the documentation is all.
Why this works with the ssh secret and not the docker secret - I don't know!
Can you confirm specifically which Task you're referring to? Is it the one from the Tekton Catalog or from some other source? Which version of the Task?
Yes, kaniko from the catalog. we use 0.5 but it is not materially different from 0.7
Is there something I have to do to make a
Pipeline
correctly populate thekaniko
task with the stuff it needs?Expected Behavior
I should be able to specify basic-auth credentials in a Secret, reference the Secret in a ServiceAccount, then build and push an image.
Actual Behavior
docker login myserver.com
and pushing from local works fine with these credentials.Mounting a
dockerconfig
manually using a workspace works fine with these credentials.Steps to Reproduce the Problem
Create an
Pipeline
,Secret
andServiceAccount
, then submit aPipelineRun
that use akaniko
task for a well-known thing.Additional Info
Kubernetes version:
Output of
kubectl version
:Tekton Pipeline version:
Output of
tkn version
orkubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'
Manifests
Working:
The pipeline which does not use the dockerconfig and instead relies on functionality from the docs for mounting docker basic auth does not work. Corresponding service account:
The text was updated successfully, but these errors were encountered: