Files
kubernetes/build/dependencies.yaml
T
Dan Winship 562bc43ae4 Fix TCP_CLOSE_WAIT test to use agnhost rather than distroless-iptables
Originally, this test used the conntrack binary to check the conntrack
state, so it used the distroless-iptables image (the base of the
kube-proxy image) as a helper, since that contained the conntrack
binary. But later, we removed conntrack from that image after
kube-proxy no longer needed it, and the test got updated to read
/proc/net/nf_conntrack directly. Thus, there is no longer any reason
to be using distroless-iptables (and forcing the distroless-iptables
image to contain "sleep", "cat", and "grep").

(The test still had code to use the conntrack binary if
/proc/net/nf_conntrack was unavailable, but this fallback would never
be used because the image it was using never contained that binary.)
2026-11-03 14:28:41 -05:00

250 lines
11 KiB
YAML

dependencies:
# This file specifies dependencies that zeitgeist must check.
# The zeitgeist version in use is determined by hack/tools/go.mod.
# Bumping that may require changes to this file (in particular if
# the file format changes).
# CNI plugins
- name: "cni"
version: 1.9.1
refPaths:
- path: cluster/gce/config-common.sh
match: WINDOWS_CNI_VERSION=
- path: cluster/gce/gci/configure.sh
match: DEFAULT_CNI_VERSION=
- path: test/e2e_node/remote/utils.go
match: cniVersion[\t\n\f\r ]*=
- path: hack/local-up-cluster.sh
match: CNI_PLUGINS_VERSION=
# CoreDNS
- name: "coredns-kube-up"
version: 1.15.0
refPaths:
- path: cluster/addons/dns/coredns/coredns.yaml.base
match: registry.k8s.io/coredns
- path: cluster/addons/dns/coredns/coredns.yaml.in
match: registry.k8s.io/coredns
- path: cluster/addons/dns/coredns/coredns.yaml.sed
match: registry.k8s.io/coredns
- name: "coredns-kubeadm"
version: 1.15.0
refPaths:
- path: cmd/kubeadm/app/constants/constants.go
match: CoreDNSVersion =
# CRI Tools
- name: "crictl"
version: 1.37.0
refPaths:
- path: cluster/gce/windows/k8s-node-setup.psm1
match: CRICTL_VERSION =
- path: cluster/gce/gci/configure.sh
match: DEFAULT_CRICTL_VERSION=
# protoc
- name: "protoc"
version: 23.4
refPaths:
- path: hack/lib/protoc.sh
match: PROTOC_VERSION=
# etcd
- name: "etcd"
version: 3.7.1
refPaths:
- path: cluster/gce/manifests/etcd.manifest
match: etcd_docker_tag|etcd_version
- path: cluster/gce/upgrade-aliases.sh
match: ETCD_IMAGE|ETCD_VERSION
- path: cmd/kubeadm/app/constants/constants.go
match: DefaultEtcdVersion =
- path: hack/lib/etcd.sh
match: ETCD_VERSION=
- path: staging/src/k8s.io/sample-apiserver/artifacts/example/deployment.yaml
match: registry.k8s.io/etcd
- path: test/utils/image/manifest.go
match: configs\[Etcd\] = Config{list\.GcEtcdRegistry, "etcd", "\d+\.\d+.\d+(-(alpha|beta|rc).\d+)?(-\d+)?"}
- path: test/e2e/testing-manifests/statefulset/etcd/statefulset.yaml
match: registry.k8s.io/etcd:\d+\.\d+\.\d+(-\d+)?
# agnhost - E2E test image
- name: "agnhost"
version: 2.66.1
refPaths:
- path: test/utils/image/manifest.go
match: configs\[Agnhost\] = Config{list\.PromoterE2eRegistry, "agnhost", "\d+\.\d+\.\d+"}
- path: test/images/kitten/BASEIMAGE
match: agnhost:\d+\.\d+\.\d+-
- path: test/images/nautilus/BASEIMAGE
match: agnhost:\d+\.\d+\.\d+-
- path: test/e2e/testing-manifests/kubectl/agnhost-primary-pod.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
- path: test/e2e/testing-manifests/serviceloadbalancer/netexecrc.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
- path: test/e2e/dra/test-driver/deploy/example/pod-inline.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
- path: test/e2e/dra/test-driver/deploy/example/pod-external.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
- path: test/e2e/dra/test-driver/deploy/example/pod-external-toleration.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
- path: test/fixtures/pkg/kubectl/cmd/auth/rbac-resource-plus.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
- path: test/fixtures/doc-yaml/user-guide/multi-pod.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
- path: hack/testdata/pod-with-large-name.yaml
match: registry.k8s.io/e2e-test-images/agnhost:\d+\.\d+\.\d+
# sample-device-plugin - E2E test image
- name: "sample-device-plugin"
version: "1.8.0"
refPaths:
- path: test/e2e/testing-manifests/sample-device-plugin/sample-device-plugin.yaml
match: registry.k8s.io/e2e-test-images/sample-device-plugin:\d+\.\d+
- path: test/e2e/testing-manifests/sample-device-plugin/sample-device-plugin-control-registration.yaml
match: registry.k8s.io/e2e-test-images/sample-device-plugin:\d+\.\d+
- name: "node-problem-detector"
version: 1.35.2
refPaths:
- path: test/e2e_node/image_list.go
match: const defaultImage
#- path: cluster/gce/windows/k8s-node-setup.psm1
# match: DEFAULT_NPD_VERSION
# This should ideally be updated to match the golang version in .go-version
# but we can dynamically fetch go if the base image is out of date.
# This allows us to ship go updates more quickly.
#
# NOTE: To fully patch all binaries, go-runner and the related base images
# should also be updated, but go-runner is much harder to exploit and has
# far less relevancy to go updates for Kubernetes more generally.
- name: "registry.k8s.io/kube-cross: dependents"
version: v1.38.0-go1.27.3-trixie.0
refPaths:
- path: build/build-image/cross/VERSION
# Golang pre-releases are denoted as `1.y<pre-release stage>`
# Example: go1.16rc1
#
# This entry is a stub of the major version to allow dependency checks to
# pass when building Kubernetes using a pre-release of Golang.
- name: "golang: 1.<major>"
version: 1.27
refPaths:
- path: build/build-image/cross/VERSION
- path: hack/lib/golang.sh
match: minimum_go_version=go([0-9]+\.[0-9]+)
# Base images
- name: "registry.k8s.io/debian-base: dependents"
version: trixie-v1.0.1
refPaths:
- path: test/conformance/image/Makefile
match: BASE_IMAGE_VERSION\?=
- path: test/images/pets/peer-finder/BASEIMAGE
match: registry\.k8s\.io\/build-image\/debian-base-amd64:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)
- path: test/images/resource-consumer/BASEIMAGE
match: registry\.k8s\.io\/build-image\/debian-base-amd64:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)
- path: test/images/pets/zookeeper-installer/BASEIMAGE
match: registry\.k8s\.io\/build-image\/debian-base-amd64:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)
- path: test/images/nonroot/BASEIMAGE
match: registry\.k8s\.io\/build-image\/debian-base-amd64:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)
- path: test/images/regression-issue-74839/BASEIMAGE
match: registry\.k8s\.io\/build-image\/debian-base-amd64:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)
- path: cluster/gce/gci/configure-helper.sh
match: registry\.k8s\.io\/build-image\/debian-base:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)
- path: pkg/volume/plugins.go
match: registry\.k8s\.io\/build-image\/debian-base:[a-zA-Z]+\-v((([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)
- name: "registry.k8s.io/distroless-iptables: dependents"
version: v0.11.2
refPaths:
- path: build/common.sh
match: __default_distroless_iptables_version=
- name: "registry.k8s.io/go-runner: dependents"
version: v2.4.0-go1.27.3-trixie.0
refPaths:
- path: build/common.sh
match: __default_go_runner_version=
- name: "registry.k8s.io/pause"
version: 3.10.2
refPaths:
- path: build/pause/Makefile
match: TAG\s*\?=
- name: "registry.k8s.io/pause: dependents"
version: 3.10.2
refPaths:
- path: cluster/gce/config-common.sh
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: cluster/gce/gci/configure-helper.sh
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: cluster/gce/windows/smoke-test.sh
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: cmd/kubeadm/app/constants/constants.go
match: PauseVersion\s+=
- path: hack/testdata/pod-with-precision.json
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: staging/src/k8s.io/kubectl/testdata/set/multi-resource-yaml.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: staging/src/k8s.io/kubectl/testdata/set/namespaced-resource.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/cmd/core.sh
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/fixtures/pkg/kubectl/cmd/set/multi-resource-yaml.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/fixtures/pkg/kubectl/cmd/set/namespaced-resource.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/benchmark-controller.json
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-default.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-node-affinity.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-pod-affinity.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-pod-anti-affinity.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-preferred-pod-affinity.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-preferred-pod-anti-affinity.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-preferred-topology-spreading.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-secret-volume.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/integration/scheduler_perf/templates/pod-with-topology-spreading.yaml
match: registry.k8s.io\/pause:\d+\.\d+\.\d+
- path: test/utils/image/manifest.go
match: configs\[Pause\] = Config{list\.GcRegistry, "pause", "\d+\.\d+\.\d+"}
- path: test/images/agnhost/fakeregistryserver/images.txt
match: pause\s
- name: "registry.k8s.io/build-image/setcap: dependents"
version: trixie-v1.0.1
refPaths:
- path: build/common.sh
match: __default_setcap_version=
# cadvisor
- name: "gcr.io/cadvisor/cadvisor: dependents"
version: "v0.47.2"
refPaths:
- path: test/e2e_node/resource_collector.go
match: gcr.io\/cadvisor\/cadvisor:v\d+\.\d+\.\d+
- path: test/e2e_node/image_list.go
match: gcr.io\/cadvisor\/cadvisor:v\d+\.\d+\.\d+
# GCB docker gcloud image
- name: "gcb-docker-gcloud: dependents"
version: v20260729-0b834bafc6@sha256:77257657315bf94c1bba8f2471b1e210a75005ba8f589d94a48eeb8da176f007
refPaths:
- path: build/pause/cloudbuild.yaml
match: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud
- path: test/images/cloudbuild.yaml
match: gcr.io/k8s-staging-test-infra/gcb-docker-gcloud