Merge pull request #941 from stijndehaes/feature/cache-warmer-private-reg-support
Support for private registries in the cache warmer
This commit is contained in:
		
						commit
						e19cc228ba
					
				|  | @ -16,16 +16,29 @@ | |||
| 
 | ||||
| FROM golang:1.12 | ||||
| WORKDIR /go/src/github.com/GoogleContainerTools/kaniko | ||||
| # Get GCR credential helper | ||||
| ADD https://github.com/GoogleCloudPlatform/docker-credential-gcr/releases/download/v1.5.0/docker-credential-gcr_linux_amd64-1.5.0.tar.gz /usr/local/bin/ | ||||
| RUN tar -C /usr/local/bin/ -xvzf /usr/local/bin/docker-credential-gcr_linux_amd64-1.5.0.tar.gz | ||||
| RUN docker-credential-gcr configure-docker | ||||
| # Get Amazon ECR credential helper | ||||
| RUN go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login | ||||
| RUN make -C /go/src/github.com/awslabs/amazon-ecr-credential-helper linux-amd64 | ||||
| 
 | ||||
| COPY . . | ||||
| RUN make out/warmer | ||||
| 
 | ||||
| FROM scratch | ||||
| COPY --from=0 /go/src/github.com/GoogleContainerTools/kaniko/out/warmer /kaniko/warmer | ||||
| COPY --from=0 /usr/local/bin/docker-credential-gcr /kaniko/docker-credential-gcr | ||||
| COPY --from=0 /go/src/github.com/awslabs/amazon-ecr-credential-helper/bin/linux-amd64/docker-credential-ecr-login /kaniko/docker-credential-ecr-login | ||||
| COPY files/ca-certificates.crt /kaniko/ssl/certs/ | ||||
| COPY --from=0 /root/.docker/config.json /kaniko/.docker/config.json | ||||
| ENV HOME /root | ||||
| ENV USER /root | ||||
| ENV PATH /usr/local/bin:/kaniko | ||||
| ENV SSL_CERT_DIR=/kaniko/ssl/certs | ||||
| ENV DOCKER_CONFIG /kaniko/.docker/ | ||||
| ENV DOCKER_CREDENTIAL_GCR_CONFIG /kaniko/.config/gcloud/docker_credential_gcr_config.json | ||||
| WORKDIR /workspace | ||||
| RUN ["docker-credential-gcr", "config", "--token-source=env"] | ||||
| ENTRYPOINT ["/kaniko/warmer"] | ||||
|  |  | |||
|  | @ -20,10 +20,12 @@ import ( | |||
| 	"bytes" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"net/http" | ||||
| 	"os" | ||||
| 	"path" | ||||
| 
 | ||||
| 	"github.com/GoogleContainerTools/kaniko/pkg/config" | ||||
| 	"github.com/GoogleContainerTools/kaniko/pkg/creds" | ||||
| 	"github.com/google/go-containerregistry/pkg/name" | ||||
| 	v1 "github.com/google/go-containerregistry/pkg/v1" | ||||
| 	"github.com/google/go-containerregistry/pkg/v1/remote" | ||||
|  | @ -115,7 +117,8 @@ func (w *Warmer) Warm(image string, opts *config.WarmerOptions) (v1.Hash, error) | |||
| 		return v1.Hash{}, errors.Wrapf(err, "Failed to verify image name: %s", image) | ||||
| 	} | ||||
| 
 | ||||
| 	img, err := w.Remote(cacheRef) | ||||
| 	rOpts := []remote.Option{remote.WithTransport(http.DefaultTransport.(*http.Transport)), remote.WithAuthFromKeychain(creds.GetKeychain())} | ||||
| 	img, err := w.Remote(cacheRef, rOpts...) | ||||
| 	if err != nil || img == nil { | ||||
| 		return v1.Hash{}, errors.Wrapf(err, "Failed to retrieve image: %s", image) | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue