Commit Graph

58 Commits

Author SHA1 Message Date
Jason Hall b1b6962726
Share the Go build cache when building in Dockerfiles (#1853)
On my machine this makes image rebuilds go from ~5m to 1.5s.

This also required setting DOCKER_BUILDKIT=1 in integration test image
builds.

I also took the opportunity to bump the Go version used in those tests
to Go 1.17 to match the image build processes, and tidied up the
workflow files a bit too (renaming for consistency, typos, whitespace,
etc.)
2021-12-22 12:43:12 -05:00
Jason Hall f694212385
Use golang:1.17 and build from reproducible source (#1848)
* cleanup: Correctly use buildx TARGETARCH

* undo changes to Go version

* Use golang:1.17 and build from reproducible source

This change updates the Go version used to build kaniko and credential
helpers to Go 1.17, which uses Go modules by default. This means that we
can build outside of $GOPATH, from source fetched from the Go module
proxy.

This change also simplfies our builds of credential helpers to simply
`go install` them at a pinned version, for reproducibility and
simplicity.

This also changes `make images` and `make push` to build and push the
slim executor image as well.
2021-12-20 22:01:37 -05:00
Tejal Desai 3b42fe45ea
chore: add release workflow on pr (#1785)
* chore: add release workflow on pr

* remove linux/s390x

* use keys

* set up platforms

* cancel

* update keys

* add secrets to env

* All platforms added for kaniko

Co-authored-by: Kun-Lu <kun.lu@ibm.com>

* echi

* add mt 1300, remove push

* Remove

* final change

* break executor and executor-slim

Co-authored-by: Kun-Lu <kun.lu@ibm.com>
2021-10-19 18:58:02 -07:00
Tejal Desai 1c705f3541
bring them back (#1783) 2021-10-19 13:01:40 -07:00
Tejal Desai 4e8aae7c06
Revert ppce4 and other unintentional changes (#1781)
* Revert "fix dockefiles for deploy"

This reverts commit 63613adb82.

* revert unintentional test changes
2021-10-19 12:40:14 -07:00
Tejal Desai cf4822c31c
Run docker_credentials_gcr in warmer (#1780)
* run docker_credentials_gcr in warmer

* fix tests

* fix dockerfiles

* fix boilerplate

* mend

* fix

* another lint
2021-10-19 12:25:42 -07:00
Tejal Desai 21bb75717c
fix dockefiles for deploy gcr binsry (#1776) 2021-10-19 02:16:40 -07:00
Tejal Desai 63788dba63
fix dockefiles for deploy (#1774) 2021-10-19 01:50:44 -07:00
Tejal Desai a67ba0af65
fix dockefiles for deploy (#1773) 2021-10-19 01:30:35 -07:00
Tejal Desai a4daeb2cd7
chore: fix release pipeline (#1772) 2021-10-19 01:15:50 -07:00
Tejal Desai badd66506d
Add s390x support to docker images (#1769)
1. add s390x support to docker images `executor`, `executor(slim)`,
   `executor(debug)` and `warmer`. Fixes #1462 and #1665.

2. Address the building issue of dependency `docker-credential-gcr`
   in Dockerfiles. This issue was introduced when recent commits
   in `docker-credential-gcr` removed the Makefile.

Signed-off-by: Kun-Lu <kun.lu@ibm.com>

Co-authored-by: Kun-Lu <kun.lu@ibm.com>
2021-10-19 00:01:47 -07:00
Anbraten d82d7368fb
Make /bin/sh available to debug image (#1748) 2021-10-18 11:45:31 -07:00
Sascha Schwarze 2d4db8e0ec
Use up-to-date ca-certificates during build (#1580) 2021-02-22 21:25:00 -08:00
Tejal Desai fc93da2f26
Fix release pipeline (#1561)
* fix debug cloud build

* fix cloudbuild release

* add workflow

* fix release

* use push action

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* Trigger Build

* add

* add parallel steps

* add parallel steps

* fix pathc

* fix dockerfile

* fix dockerfile

* add executor

* deploy

* test
2021-02-08 09:59:16 -08:00
Tejal Desai b540dd0df2
fix debug cloud build (#1560) 2021-01-28 11:19:35 -08:00
Tejal Desai 9cd3a65900
fix busybox (#1557) 2021-01-28 10:45:04 -08:00
Tejal Desai ffd35dbe12
Mutli-arch support (#1531)
* initial commit

* remove bazel jobs

* fix arch

* more fixes after testing and code review comments

* fix build platform

* add individual cloudbuild.yaml as its taking 45 mins for a cloud build trigger

* add buildx plugin

* add more debugging

* update busybox version to fix CVE-2018-1000500

* fix

* lint + more debug

* fix

* fix

* fix

* remove images from cloudbiuld

* move CI job back to docker

* one more fix

* lets see

* bring it back

* move CI job back to docker

* remove aerg from top

* live restart config

* remove live restore as minikube setup failed

* add --force-systemd

* add --force-systemd and docker driver none

* change the --run flag

* docker info and some logs removed

* fix docker command

* upgrade version for buildx to 0.5.1

* remove docker service from travis.yml and add systemd cgroup config

* move the docker config up

* move them back to docker build

* fix

* fix all dockerfiles

* fix warmer

* fix

* rm bazel jobs

* add more logs

* fix debug

Co-authored-by: ankitm123 <ankitmohapatra123@gmail.com>
2021-01-25 17:49:19 -08:00
ankitm123 4373ede9fa
fix: update busybox version to fix CVE-2018-1000500 (#1532)
Signed-off-by: ankitm123 <ankitmohapatra123@gmail.com>
2020-12-22 21:46:43 -08:00
Chris Mellard 1d12985648
feat: Added in docker cred helper for Azure Container Registry sourcing auth tokens directly from environment to debug image (#1458) 2020-10-28 14:01:59 -07:00
Tejal Desai 0c386e3f4a
fix docker-credential-gcr helper being called for multiple registries (#1439)
* fix multiple registryies docker-credential-gcr

* Update pkg/executor/push.go
2020-09-30 16:43:16 -07:00
Alex Szakaly 97e5042fbb
Fix docker-credential-gcr owner and group id
During image build we extract archives as root which is
capable to preserve owner and group.

With option `--no-same-owner` we drop all the user and
group information, defaults to current user (root).

To avoid future issues: add option above to all tar
execution.

Fixes #1303

Signed-off-by: Alex Szakaly <alex.szakaly@gmail.com>
2020-06-09 09:58:22 +02:00
Tejal Desai 9ec838bd9b
copy all files from busybox image 2020-06-04 12:53:40 -07:00
Tejal Desai 2214da37e2
Update Dockerfile_debug 2020-06-04 12:11:15 -07:00
Tejal Desai c0f699d3f1
removed ununsed stage 1 2020-06-04 11:59:41 -07:00
Tejal Desai 813fbeb634
Merge branch 'master' into useAmd64 2020-06-04 11:55:39 -07:00
Tejal Desai 994a412d0b some more renames 2020-06-02 16:08:46 -07:00
Tejal Desai cbf3073fda rename whitelist to ignorelist 2020-06-02 15:56:27 -07:00
Thomas Strömberg 885c4daba7
Merge pull request #1251 from yw-liu/master
Add /etc/nsswitch.conf for /etc/hosts name resolution
2020-05-20 09:03:33 -07:00
yw-liu c91d46e75f add nsswitch.conf 2020-05-20 21:32:43 +08:00
Tejal Desai ba0cb81823
Update Dockerfile_debug 2020-05-20 01:00:55 -07:00
Chris Sng ec770e207d
Update docker-credentials-gcr to support auth with GCP Artifact Registry 2020-05-08 12:44:44 +09:00
Tejal Desai 254ba7be68 add 64 busybox 2020-05-07 19:31:25 -07:00
Daniel Marks f5a811779b Fixed directory creation - missed -p option. 2020-05-05 15:24:29 +02:00
Daniel Marks 9e7f8414d3 Moved directory creation to build container. 2020-05-05 12:11:29 +02:00
Daniel Marks 5b3afb447b Readded the /kaniko/.docker directory
This directory was implicitly removed with commit
8a020010b7 and breaks several peoples
builds as some examples and documentation expect the directory to exist.
2020-05-05 11:45:43 +02:00
Sam Stoelinga 1b662e7834
Merge pull request #1140 from samos123/fix-1122-public-gcr
Add ability to use public GCR repos without being authenticated
2020-03-24 10:31:58 -07:00
Tejal Desai d1cf3afdce
Merge pull request #1121 from carlossg/acr-help
Use the correct name for acr helper
2020-03-17 16:06:12 -07:00
Sam Stoelinga 8a020010b7 Add ability to use public GCR image
Kaniko by default used to configure the GCR credential helper however
this caused Kaniko to fail when trying to use a base image from a public
GCR image. This patch makes it possible to use public GCR images as base
image when using docker even when you're not authenticated to GCR.

Co-authored-by: Nate Williams <nate.williams@files.com>
2020-03-17 09:09:41 -07:00
Ben Einaudi 8b8be5c418 Migrate to golang 1.14
* Upgrade go.mod file

* Upgrade travis file

* Run rm -rf vendor && go mod tidy && go mod vendor to upgrade vendor/modules.txt according to golang 1.14

* Upgrade golangci-lint version
2020-03-15 10:20:43 +01:00
Carlos Sanchez 7d345f13d2 Use the correct name for acr helper
Add it to debug and warmer images too
2020-03-10 18:15:17 +01:00
Ben Einaudi b73c2c10c8 Allow user to provide registry certificate
Fixes #1100
Fixes #1101
2020-03-08 18:17:50 +01:00
Anthony Davies ed22afc19b Rebase fix for PR #646
I needed this for my arm64 k8s cluster. I have zero Go experience but
enough experience with other things to fix the rebase (I think!). This
patch is working fine on my cluster.
2020-01-20 13:43:45 +11:00
slmagus c0b7ef33d5 revert distroless repo from testing fork 2019-10-16 12:03:42 -04:00
slmagus 297fd9743b use the binary-bin directory as bazel-genfiles does not exist 2019-10-16 11:55:41 -04:00
Tejal Desai bbc1b71105
Merge pull request #648 from Dopingus/UpdateGolang112
Update base image to golang:1.12
2019-10-04 01:43:51 -07:00
Thao-Nguyen Do e7fd0d4db5
Update golang to 1.12 in debug image 2019-04-29 09:16:48 +02:00
Warren Seymour 319bfde932 Include warmer in debug image
When using Kaniko with certain build systems, such as GitLab CI, it is necessary to use the 'debug' image and override the entrypoint, so that an arbitrary build script can be executed within the container.  Unfortunately, the 'warmer' binary is not available in the 'debug' image, making it impossible to perform a base image cache warmup using such build systems.

This patch addresses this by ensuring that the 'out/warmer' target is made in the initial stage, and that all 'out' files are copied to '/kaniko' in the final stage.
2019-03-15 10:20:13 +00:00
dlorenc 9f65174cb8
Generate the config.json from gcloud rather than relying on a hardcoded one. (#551)
marketplace.gcr.io now requires auth, but our credential helper doesn't know that.
2019-02-04 16:53:59 -06:00
dlorenc 9d10516698
Reorder the Dockerfile for faster iterations. (#515) 2019-01-09 10:39:41 -08:00
Vincent Behar d10e3f5b74
Whitelist /busybox in the debug image
In the debug image, declare /busybox as a volume so that it is automatically whitelisted, because we don't want to delete it when building multi-stages images.

FYI this is required when using Jenkins, because we need to use the debug kaniko image to be able to start the container "doing nothing" (with /busybox/cat) before building (by executing /kaniko/executor directly inside the container)
See https://issues.jenkins-ci.org/browse/JENKINS-52576
2018-09-28 10:55:08 +02:00