93 Commits
Author SHA1 Message Date
Davanum Srinivas bef5cca2ea Update gcb-docker-gcloud to v20260729-0b834bafc6 in all locations
Also update build/pause/cloudbuild.yaml and build/dependencies.yaml to
keep them in sync with test/images/cloudbuild.yaml, fixing the
verify-external-dependencies-version check.
2026-07-29 09:33:38 -07:00
upodroid 7d4827cdba refactor image-util script that builds e2e test-images 2026-04-16 23:19:36 +03:00
zylxjtu e6bea155c5 Add the windows 2025 support for pause image 2026-02-11 22:28:37 +00:00
ArkaSaha30 44b4682a32 Use jq docker image for pause windows build
This commit will use jq docker image to parse
`windows-pause-image-base` manifest for windows pause build.

Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2025-06-17 22:38:10 +05:30
ArkaSaha30 249801b7cc Fix windows-pause-image-base:<tag>@<digest> invalid reference format
This commit will fix the windows pause image build logic to be able to build from `windows-pause-image-base:<tag>@<digest>`,
which currently only accepts `windows-pause-image-base:<tag>` due to which build is failing with `invalid reference format`.

Ref: https://prow.k8s.io/view/gs/kubernetes-ci-logs/logs/post-kubernetes-push-image-pause/1889748429312102400
Discussion: https://kubernetes.slack.com/archives/CCK68P2Q2/p1742839354591189?thread_ts=1742832454.449449&cid=CCK68P2Q2

Updates the pause windows build logic to remove hardcoded values:
OSVERSION ?= 1809 ltsc2022
And dynamically resolve the OSVERSIONS from `windows-pause-image-base`
which separate manifests per os.version and corresponding digests.

Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2025-06-06 00:42:58 +05:30
Mark RossettiandBenjamin Elder 26fe80855d Update build/pause/Makefile
pin windows-pause-image-base to specific manifest digest

Co-authored-by: Benjamin Elder <bentheelder@google.com>
2025-02-11 16:55:05 -08:00
Mark Rossett faa23642f5 Bump windows pause image base to mcr.microsoft.com/oss/kubernetes/windows-pause-image-base:v0.4.1
Signed-off-by: Mark Rossett <marosset@microsoft.com>
2025-02-11 15:47:20 -08:00
Benjamin Elder 043da7164d update gcb-docker-gcloud to latest, and pin digest
this is a staging repository, which has lower security than registry.k8s.io, so we should REALLY be pinning it.

TODO: This is one of the few places we still depend on GCR to build things. We should consider promoting this image to registry.k8s.io or using a different image.
2024-05-23 13:51:40 -07:00
Benjamin Elder 7aa5693fa3 containerize wincat build 2024-05-23 12:31:40 -07:00
Lubomir I. Ivanov 7871949990 build/pause: add -v flag to the Windows pause binary
Make the Windows pause.exe have the same -v flag as the Linux
pause binary.

_stricmp is documented here:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strcmp-wcscmp-mbscmp?view=msvc-170

The VERSION definition is passed on compile time for both OSes
in the Makefile via CFLAGS:

  $(TRIPLE)-gcc $(CFLAGS) -o $@ $^ && \

Add 3.10 version entry in the changelog.
2024-05-23 16:09:17 +03:00
Paco Xu 70c9eefff3 add --sbom=false --provenance=false for windows servercore cache build 2023-11-04 21:11:05 +08:00
Paco Xu 2259ac2444 pause: add --provenance=false during etcd multi-arch build 2023-11-03 14:32:54 +08:00
Humble Chirammal 85c385d410 Update the container images used in cloudbuild to their latest version
This carry below GOLLANG_VERSION which got many CVE fixes:

/workspace # echo $GOLANG_VERSION
1.20.5
/workspace #

CVE-2023-29403 and Go issue https://go.dev/issue/60272.
CVE-2023-29404 and CVE-2023-29405:
  Go issues https://go.dev/issue/60305 and https://go.dev/issue/60306
CVE-2023-29402 and Go issue https://go.dev/issue/60167

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-08-03 00:09:53 +05:30
Bjorn Neergaard 31c7551947 pause: remove obsolete Windows buildx workaround
The issue this workaround set out to address has been resolved in
buildx for some time; there is no longer a need to preserve it.

Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com>
2023-01-13 10:01:44 -07:00
Sascha Grunert c032d7993a Bump gcb-docker-gcloud to v20221007-69e0da97ef
Update the container images used in cloudbuild to their latest version.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2022-11-23 16:03:28 +01:00
Mark Rossetti ecd543be04 Remove out-of-support Windows 20H2 images
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-10-12 14:43:51 -07:00
Mark Rossetti 5375102131 Updating base container image for pause image on Windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-06-08 18:12:54 -07:00
Davanum Srinivas 50bea1dad8 Move from k8s.gcr.io to registry.k8s.io
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-05-31 10:16:53 -04:00
James Sturtevant c5e341d5e0 Remove unsupported Windows SAC images from pause image
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2022-01-11 12:40:19 -08:00
Aaron Crickenberger 42a955b3ae use k8s-staging-test-infra/gcb-docker-gcloud 2021-09-24 06:54:40 -07:00
Claudiu Belu 18936d4785 updates pause image references
The pause:3.6 image has been published.

Also updates older / incorrect references.
2021-08-29 21:50:05 -07:00
Nicolas Belovoskey 95b0f2a775 Added Windows Server 2022 tag to all OS versions 2021-08-18 14:16:03 -07:00
Nicolas Belovoskey 6ac627271d Added Windows Server 2022 2021-08-18 13:56:42 -07:00
Kubernetes Prow Robot 8b9f02836d Merge pull request #103156 from claudiubelu/windows-osversion-cleanup
images: Removes OS Version workaround for manifest list images
2021-08-12 09:10:00 -07:00
aram price f9efd14d44 TAG used when building pause is configurable
This change allows the  `TAG` value in the pause Makefile to be
overridden from the environment. Defaults to existing hard-coded value
in `build/pause/Makefile`
2021-08-06 10:49:38 -07:00
Claudiu Belu a7c48e9707 images: Removes OS Version workaround for manifest list images
For manifest lists containing Windows images, it is important to also have the "os.version"
annotation set, as it is needed by the Windows nodes, so they can pull the appropriate image
from the list.

Previously, the docker manifest CLI did not have the capability to set it, so, we had to set
it outselves in the manifest list's image JSON file. This is no longer necessary since
docker 20.10.0, which includes docker manifest annotate --os-version.

The docker installed in the image gcr.io/k8s-testimages/gcb-docker-gcloud:v20210622-762366a
satisfies this version requirement.
2021-06-24 13:39:44 +00:00
Sascha Grunert b167fc24d7 Update pause image to v3.5
Update dependencies and the test images to use pause 3.5. We also
provide a changelog entry for the new container image version.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-05-25 09:04:46 +02:00
Claudiu Belu b53958342d pause image: Uses kube-cross image to build windows binaries
kube-cross:v1.16.3-1 contains x86_64-w64-mingw32, which will allow us to
build Windows binaries. With this, we won't have to rely on the dockerhub
image dockcross/windows-static-x64.
2021-04-26 14:33:06 +00:00
Sascha Grunert aad711f399 Run pause image as non-root user and group
We now build the pause image to use a pseudo user and group 65535:65535.
This increases the security aspect of the container image, if a
vulnerability would directly affect the pause container.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2021-03-11 09:29:45 +01:00
Benjamin Elder 56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot f4801a7c85 Merge pull request #98799 from claudiubelu/images/cleanup-run
images: Removes containers after they've run
2021-02-22 22:24:11 -08:00
Claudiu Belu 41cdd40a2e images: Removes containers after they've run
Not all instances of docker run has the --rm argument, which means that they'll
persist after they've finished. This can cause storage to remain occupied needlessly.
2021-02-05 10:07:26 +00:00
pacoxu f4d843682d update pause image changelogs for 3.3-3.4.1
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-02-01 15:09:31 +08:00
Kubernetes Prow Robot 8abe3714d2 Merge pull request #97853 from claudiubelu/patch-1
pause image: Fixes clean make action
2021-01-12 20:20:35 -08:00
Ernest Wong 747eec42fe pause: encode Windows OS version in image tag instead of repository
Signed-off-by: Ernest Wong <chuwon@microsoft.com>
2021-01-08 18:02:28 -05:00
Claudiu Belu b428c7ff33 pause image: Fixes clean make action
The ``.container-$OS-$ARCH`` make subaction is creating files with the same name, and ``clean`` is meant to delete them. However, the ``clean``'s rm regex is not quite correct.
2021-01-08 18:31:04 +02:00
Claudiu Belu ad97a5b7a5 pause image: Adds 20H2 Windows OS Version base image
A new Windows image has been released in the second half of 2020 with the tag 20H2.
We are going to need a pause image for it as well.

The image tag can be found here: https://hub.docker.com/_/microsoft-windows-nanoserver
2020-12-14 04:24:07 -08:00
3f7c09e601 pause image: Disable DiagTrack service on Windows image
It has been observed that the DiagTrack service in the pause
image is consuming a non-trivial amount of CPU. We don't need
this service in the pause image, so we should disable it.

We can disable the service by running chntpw in a docker buildx Linux stage
and then copy the SYSTEM file back to the final Windows image.

Co-Authored-By: Mark Rossetti <marosset@microsoft.com>
Co-Authored-By: Davanum Srinivas <davanum@gmail.com>
2020-11-04 10:24:25 +00:00
Claudiu Belu f8b70860d5 pause image: Stricter registry prefix regex 2020-10-26 07:42:49 -07:00
Claudiu BeluandBen Moss fd1e1138d6 pause image: moves wincat binary location
Co-authored-by: Ben Moss <moss.127@gmail.com>
2020-09-26 07:37:02 -07:00
Ben MossandClaudiu Belu 82ac28cc52 Adds support for building Windows pause image
We can use docker buildx in order to build and push Windows images from the same Linux
node, as long as the Dockerfile does not have any RUN commands in the Windows step.

We also need to create a non-default builder instance in order to be able to
build and push Windows images.

The Windows images have to be built and pushed directly to the registry. Because of
this, the make target "push" has been removed (the target "all" will build and push
the images).

We need wincat for a few kubectl proxy scenarios.

For Windows containers without Hyper-V isolation, the host OS Version and the
Container OS Version need to match, which is why we added multiple Windows OS Versions
to the building process.

Adds support for Windows OS Versions: 1809, 1903, 1909, 2004.

Bumps pause image version to 3.4.

Co-Authored-By: Claudiu Belu <cbelu@cloudbasesolutions.com>
Co-Authored-By: Ben Moss <bmoss@pivotal.io>

Signed-off-by: Leah Hanson <lhanson@pivotal.io>
2020-09-26 06:26:24 -07:00
Stephen Augustus 90c223fa5c [VDF] Remove references to us.gcr.io/k8s-artifacts-prod
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-07-22 16:08:30 -04:00
Stephen Augustus 03a1489623 build: Build pause:3.3 image
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-05-01 20:35:48 -04:00
Stephen Augustus 8b47cbba4f build: Add build-image OWNERS to debian-{base,iptables} and pause dirs
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-05-01 03:20:46 -04:00
Stephen Augustus 2431de4255 build: Split out building for debian-{base,iptables} and pause images
- Eliminates a failure in one image build from prevent the others
- Allows subdir approvers ownership over individual builds
- Makes cleanup a little easier if one or more of these images go away

Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-05-01 03:20:46 -04:00
Davanum Srinivas a7b9ba784b Add cloudbuild.yaml for debian-base/debian-iptables and pause
Tested this locally using:
```
gcloud builds submit --config build/cloudbuild.yaml .
```

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-04-28 12:01:39 -04:00
Stephen Augustus e64169d6b5 build: Enable kube-cross push/pull from K8s Infra GCR
- Search/replace Google Infra kube-cross locations for K8s Infra
- Update kube-cross make targets
  - Don't attempt to pre-pull image (docker build --pull)
    This prevents CI failures when the image under test doesn't exist
    yet in the registry.
  - 'make all' now builds and pushes the kube-cross image
  - Allow 'TAG' to be specified via env var
  - Use 'KUBE_CROSS_VERSION' to represent the kube-cross version
  - Tag kube-cross images with both a kubernetes version
    ('git describe') and a kube-cross version
- Add a GCB (Google Cloud Build) config file (cloudbuild.yaml)

Signed-off-by: Stephen Augustus <saugustus@vmware.com>
2020-02-26 16:51:01 -05:00
Kubernetes Prow Robot 1e84adb6af Merge pull request #88139 from BenTheElder/pause-manifest
switch pause to docker manifest instead of manifest-tool
2020-02-13 22:44:30 -08:00
Benjamin Elder 20b1597302 switch pause to docker manifest instead of manifest-tool 2020-02-13 14:53:19 -08:00
Benjamin Elder 719b328663 add a changelog note for pause 3.2 2020-02-13 14:22:03 -08:00