Commit Graph

109 Commits

Author SHA1 Message Date
JeromeJu 1d2bff5959
chore(release): release v1.24.0 (#3487) 2025-05-22 22:13:03 -04:00
Aaron Prindle 1ae9a8416c
chore(release): release v1.23.2 (#3243) 2024-07-09 15:42:43 -07:00
Aaron Prindle c93ecd3120
chore(release): release v1.23.1 (#3189) 2024-06-07 14:45:23 -07:00
Aaron Prindle 98df8ebfc7
chore(release): release v1.23.0 (#3163) 2024-05-13 22:53:52 -07:00
Aaron Prindle 02860eff08
chore(release): release v1.22.0 (#3086) 2024-03-25 20:55:27 -07:00
Aaron Prindle 6f57367e51
chore(release): release v1.21.1 (#3050) 2024-03-06 14:10:02 -08:00
Aaron Prindle d7f7bc11bf
chore(release): release v1.21.0 (#3033) 2024-02-29 10:49:49 -08:00
Aaron Prindle 4165614130
chore(release): release v1.20.1 (#2996) 2024-02-09 18:20:07 -08:00
JeromeJu 13d4349fde
chore(release):release v1.20.0 (#2955) 2024-01-17 12:35:10 -08:00
Aaron Prindle e994fad435
chore(release): release v1.19.2 (#2919) 2023-12-19 09:53:18 -08:00
Aaron Prindle 8d40aa97d9
chore(release): release v1.19.1 (#2905) 2023-12-14 17:48:03 -08:00
Aaron Prindle 1556a56004
chore(release): release v1.19.0 (#2880) 2023-11-29 15:25:51 -05:00
tal66 4196c08f43
fix: makefile container-diff on darwin (#2842) 2023-11-17 13:36:58 -08:00
Aaron Prindle 06b7c1de93
chore(release): release v1.18.0 (#2836) 2023-11-07 11:04:05 -08:00
Aaron Prindle f894e63706
chore(release): release v1.17.0 (#2789) 2023-10-18 09:56:32 -07:00
Aaron Prindle a144a7872a
chore(release): release v1.16.0 (#2755) 2023-09-22 11:50:50 -07:00
JeromeJu 237778c179
chore(release): release v1.15.0 (#2711) 2023-08-29 14:31:43 -07:00
Aaron Prindle 2ca710a2a2
chore(release): release v1.14.0 (#2683) 2023-08-15 13:40:17 -07:00
Aaron Prindle fc81aa9e76
chore(release): release v1.13.0 (#2642) 2023-07-26 16:08:50 -07:00
Aaron Prindle 9a30501c44
chore(release): release v1.12.1 (#2604) 2023-06-29 12:17:24 -04:00
Aaron Prindle f611791c95
chore(release): release v1.12.0 (#2601) 2023-06-28 14:31:38 -04:00
Aaron Prindle 0790e8b77b
chore(release): release v1.11.0 (#2552) 2023-06-08 15:07:17 -07:00
Ferran Vidal 507fe00b42
Use a multistage image to remove all redundancies on Dockerfiles (#2547)
As all Kaniko variants should be upgraded at once, all following the same specifications, it is easier for maintainers to bump Go or other image dependencies in a single place.

On top of that, there were an issue building `ppc64le` images because of a semantic error on the if condition that checks the arch used.

Signed-off-by: Ferran Vidal <ferran.vidal.p@gmail.com>
2023-06-05 09:20:40 -07:00
Aaron Prindle 43d2eafcf2
chore(release): release v1.10.0 (#2529) 2023-05-24 18:36:02 -07:00
Chuang Wang 5690c33246
Release v1.9.2 (#2450)
Signed-off-by: Chuang Wang <chuangw@google.com>
2023-03-27 10:38:11 -04:00
Joël Pepper 14ea7c4071
Fix Integration tests (#2425)
* fix(ci): Bump golangci-lint to 1.51.1

* chore(lint): fix gofmt and goimport issues

* chore(lint): fix linter issues

- Adapted error comparison according to linter recommendation
- Disabled noctx linting for http request where canceling makes no sense
- Disabled nilerror linting where nil error is returned on purpose
- Disabled makezero linter where slice is explicitly deepcopied

* chore(ci): Update go version in tests workflows

* fix(ci): Allow boilerplate years from 2000-2099

Previously the regex only allowed the copyright notice to contain the
years 2018,2019,2020,2021, or 2022. This commit widens to regex to
20\d\d allowing any year in the range [2000-2099]

* feat(ci): Replace minikube with k3s for intregration tests

The existing setup for minikube is very complicated, replicating most of
the setup steps for a full kubernetes cluster in an only partially
supported minikube configuration (driver=none). Furthermore the existing
setup has been broken for sometime, likely, at least in part due to the
changes to CNI and CRI in recent kubernetes versions.

Since what we actually need is only a running Kubernetes cluster on the
node and access to a registry on localhost:5000, we can switch the
extremely complicated minikube setup for a lightweight cluster using
k3s. Minikube came with a default addon for running a registry on every
node, but the same is not the case for k3s, instead we make use of the
package helm controller and its HelmChart CR to deploy twuni/docker-registry.helm
and expose it on localhost using the integrated LoadBalancer controller.

* fix(test-684): pin base container version

The dockerfile for the regression test connected to issue 684 used a
rolling tag as base image, making it flaky and fail since it was
introduced.

This commit pins the base image to the digest of bionic-20200219, which,
based on the date of the commit that introduced to the dockerfile would
be the most newest ubuntu build and likely what the "rolling" tag
resolved to back then. Since this also an image from the pre-oci days of
ubuntu, this circumvents a bug in container-diff as well
(https://github.com/GoogleContainerTools/container-diff/issues/389)
2023-03-21 12:30:54 -04:00
Chuang Wang 7a0d42a4a4
Release v1.9.1 (#2267) 2022-09-26 15:17:44 -04:00
Chuang Wang a8498c762f
Release v1.9.0 (#2117)
Highlights
- Installed binaries are missing from image #2049
- proc: detect kubernetes runtime by mounts #2054
- Fixes #2046: make target stage lookup case insensitive #2047
- Fix: Refactor LayersMap to correct old strange code behavior #2066
- Fix missing setuid flags on COPY --from=build operation #2089
- Fixes #2046: make target stage lookup case insensitive #2047
- Add GitLab CI credentials helper #2040
- And a number of dependency bumps
2022-08-10 11:49:43 -04:00
Lukas aad03dc285
fix: getUIDandGID is able to resolve non-existing users and groups (#2106)
* fix: getUIDandGID is able to resolve non-existing users and groups

A common pattern in dockerfiles is to provide a plain uid and gid number, which doesn't neccesarily exist inside the os.

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* test: add chown dockerfile

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore: format

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore: add comment

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* tests: fix chown dockerfile

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* refactor: split up getIdsFromUsernameAndGroup func

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* fix: implement raw uid logic for LookupUser

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* test: add dockerfiles for integration test

* fix: lookup user error message

* test: add dockerfiles for non-existing user testcase

* fix: forgot error check

* tests: fix syscall credentials test

* chore: add debug output for copy command

* tests: set specific gid for integration dockerfile

* tests: fix syscall credentials test

github runner had the exact uid that i was testing on, so the groups were not empty

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* tests: fix test script

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore: apply golangci lint checks

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* fix: reset file ownership in createFile if not root owned

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore: logrus.Debugf missed format variable

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore(test-script): remove go html coverage

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* test(k8s): increase wait timeout

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
2022-07-12 10:21:37 -04:00
Lukas 8710ce3311
fix(Dockerfile): use temporary busybox mount to create /kaniko directory (#2155)
* ci(minikube): always install latest binary and run as root

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore: remove docker unmask because minikube handles this

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* debug: view run folder and user ids

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* debug: log minikube if start fails

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* debug: start cri-docker before starting minikube cluster

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* Revert "debug: start cri-docker before starting minikube cluster"

This reverts commit 8923941358.

* debug: include verbose minikube output

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* fix(minikube): cri-dockerd move command

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore(minikube): copy minikube profile from root to user

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* fix(minikube): change dirs to $HOME directory in config.json

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* fix(minikube): enable registry on start

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore: run as non root

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* cleanup

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* docs(minikube-script): update

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* deploy: create kaniko.tar

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* deploy: create kaniko folder in dockerfiles with 777 permissions via mount

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore(Dockerfile): remove ARG

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* docs(Dockerfile): add comment to kaniko dir creation

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* fix(Dockerfile): mount whole busybox image

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* fix(Dockerfile): use musl busybox

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* chore(Dockerfile): use musl busybox in debug image

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>

* typo

Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
2022-07-08 09:34:31 -04:00
claudex 3fd30ead0c
Fix the /kaniko directory permissions in container (#2009)
* Fix the /kaniko directory permissions in container

Create /kaniko directory with world permission to allow the creation of
sub directories by any user when the executor is run as non root. This
can lower the security but shouldn't have any impact in a container.

The tar unpack is the only way I found to have a directory with specific
permission as the image is created from "scratch" which doesn't have any
tool to change the permission otherwise.

Fixes #1363

* Avoid blackbox tar file creation

Use the Makefile to create the tar file use to create kaniko directory
in scratch container. This avoid having a "blackbox" binary file with
the empty directory.
2022-06-27 16:45:52 -04:00
Chuang Wang 1e0ab6fca6
Add release notes for v1.8.1 (#2029) 2022-04-03 16:21:38 -07:00
Chuang Wang fce9b7daa4
release v1.8 (#1972) 2022-03-08 17:45:57 -08:00
Jason Hall e38452ef4b
Set DOCKER_BUILDKIT=1 in make images (#1906) 2022-02-10 09:22:56 -08:00
Jason Hall 59c2d2d08f
Collapse integration test workflows into one config (#1855)
* Collapse integration test workflows into one config

Remove last traces of Travis, including env vars and `make travis-setup`
and badges in README

* fix lint

* make integration tests pass on PRs
2021-12-22 20:04:40 -05:00
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 13ea7d8292
release: v1.7.0 (#1771)
* release: v1.7.0

* add self serve instructions:

* more instructions

* Update CHANGELOG.md
2021-10-19 00:57:15 -07:00
Tejal Desai 1da17b6e9b
chore: add workflows for pr tests (#1766)
* chore: add workflows for pr tests

* fix unit tests

* fix formatting

* chore: fix gobuild

* change minikube script

* chore: fix lint install script

* chore: ignore and fix tests

* fix lint and run gofmt

* lint fixes

* k8s executor image only

* fix Makefile

* fix travis env variables

* more info on k8s tests

* fix travis run

* fix

* fix

* fix

* fix log

* some more changes

* increase timeout

* delete travis.yml and fix multiple copy tests

* fix registry mirror

* fix lint

* add concurency

* last attemot to fix k8 integrations

* diff id for diff workflows
2021-10-18 23:22:44 -07:00
Tejal Desai a0c96b4edc
release v1.6 (#1634) 2021-04-26 09:38:29 -07:00
priyawadhwa 588fd06564
Release 1.5.2 with signed kaniko images (#1608)
* Add cloudbuild job for signing releases

* Add cosign to github actions

* Update to 1.5.2 to release and sign images
2021-03-30 14:29:37 -07:00
Tejal Desai eda57e5400
release notes for v1.5.1 (#1589)
* release notes for v1.5.1

* release notes for v1.5.1
2021-02-22 22:31:40 -08:00
Tejal Desai 5afb142c69
release v1.13.0 (#1470) 2020-10-29 10:13:16 -07:00
Tejal Desai 6c70f167df
release notes (#1442) 2020-09-30 17:23:56 -07:00
Tejal Desai 60d2e981d9
prepare release for v1.1.0 (#1441) 2020-09-30 17:11:17 -07:00
Tejal Desai 61f0e76ec2 prepare for v1.0.0 release 2020-08-17 18:51:17 -07:00
Tejal Desai 11024f258d new implementation for run 2020-08-13 13:43:07 -07:00
Tejal Desai 4ec9f206c8
Merge pull request #1379 from tejal29/fix_use_new_run
fix use new run marker
2020-08-13 09:46:20 -07:00
Tejal Desai 9a12c6f88e gofmt 2020-08-12 18:54:53 -07:00
Tejal Desai df3a57d293 upgrade version 2020-06-30 10:23:50 -07:00