dependencies: # zeitgeist (https://github.com/kubernetes-sigs/zeitgeist) was inspired by # (and now replaces) the cmd/verifydependencies tool to verify external # dependencies across the repo. # # The zeitgeist dependencies.yaml file format is intended to be # backwards-compatible with the original tooling. # # In instances where the file format may change across versions, this meta # dependency check exists to ensure we're pinned to a known good version. # # ref: https://github.com/kubernetes/kubernetes/pull/98845 - name: "zeitgeist" version: "v0.2.0" refPaths: - path: hack/tools/go.mod match: sigs.k8s.io/zeitgeist\ v(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))? # CNI plugins - name: "cni" version: 0.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 ]*= # CoreDNS - name: "coredns-kube-up" version: 1.8.6 refPaths: - path: cluster/addons/dns/coredns/coredns.yaml.base match: k8s.gcr.io/coredns - path: cluster/addons/dns/coredns/coredns.yaml.in match: k8s.gcr.io/coredns - path: cluster/addons/dns/coredns/coredns.yaml.sed match: k8s.gcr.io/coredns - name: "coredns-kubeadm" version: 1.8.6 refPaths: - path: cmd/kubeadm/app/constants/constants.go match: CoreDNSVersion = # CRI Tools - name: "crictl" version: 1.22.0 refPaths: - path: cluster/gce/windows/k8s-node-setup.psm1 match: CRICTL_VERSION = - path: cluster/gce/gci/configure.sh match: DEFAULT_CRICTL_VERSION= # Docker - name: "docker" version: 20.10 refPaths: - path: vendor/k8s.io/system-validators/validators/docker_validator.go match: latestValidatedDockerVersion # etcd - name: "etcd" version: 3.5.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 - path: hack/lib/etcd.sh match: ETCD_VERSION= - path: staging/src/k8s.io/sample-apiserver/artifacts/example/deployment.yaml match: quay.io/coreos/etcd - path: test/e2e/framework/nodes_util.go match: const etcdImage - name: "etcd-image" version: 3.5.1 refPaths: - path: cluster/images/etcd/Makefile match: BUNDLED_ETCD_VERSIONS\?|LATEST_ETCD_VERSION\? - path: cluster/images/etcd/migrate/options.go # Golang - name: "golang: upstream version" version: 1.17.3 refPaths: - path: build/build-image/cross/VERSION - path: cluster/addons/fluentd-elasticsearch/es-image/Dockerfile match: 'FROM golang\:\d+.\d+(alpha|beta|rc)?\.?(\d+)?' - path: staging/publishing/rules.yaml match: 'default-go-version\: \d+.\d+(alpha|beta|rc)?\.?(\d+)?' - path: test/images/Makefile match: GOLANG_VERSION=\d+.\d+(alpha|beta|rc)?\.?\d+ # Golang pre-releases are denoted as `1.y` # 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." version: 1.17 refPaths: - path: build/build-image/cross/VERSION - path: hack/lib/golang.sh match: minimum_go_version=go([0-9]+\.[0-9]+) - name: "golang: etcd release version" version: 1.16.10 refPaths: - path: cluster/images/etcd/Makefile match: 'GOLANG_VERSION\?=\d+.\d+(alpha|beta|rc)?\.?(\d+)?' - name: "k8s.gcr.io/kube-cross: dependents" version: v1.23.0-go1.17.3-bullseye.0 refPaths: - path: build/build-image/cross/VERSION # Base images - name: "k8s.gcr.io/debian-base: dependents" version: bullseye-v1.0.0 refPaths: - path: cluster/images/etcd/Makefile match: BASEIMAGE\?\=k8s\.gcr\.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: cluster/images/etcd/Makefile match: BASEIMAGE\?\=k8s\.gcr\.io\/build-image\/debian-base-arm:[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/images/etcd/Makefile match: BASEIMAGE\?\=k8s\.gcr\.io\/build-image\/debian-base-arm64:[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/images/etcd/Makefile match: BASEIMAGE\?\=k8s\.gcr\.io\/build-image\/debian-base-ppc64le:[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/images/etcd/Makefile match: BASEIMAGE\?\=k8s\.gcr\.io\/build-image\/debian-base-s390x:[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/conformance/image/Makefile match: BASE_IMAGE_VERSION\?= - name: "k8s.gcr.io/debian-iptables: dependents" version: bullseye-v1.1.0 refPaths: - path: build/common.sh match: __default_debian_iptables_version= - path: test/utils/image/manifest.go match: configs\[DebianIptables\] = Config{list\.BuildImageRegistry, "debian-iptables", "[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: "k8s.gcr.io/go-runner: dependents" version: v2.3.1-go1.17.3-bullseye.0 refPaths: - path: build/common.sh match: __default_go_runner_version= - name: "k8s.gcr.io/pause" version: 3.6 refPaths: - path: build/pause/Makefile match: TAG\s*\?= - name: "k8s.gcr.io/pause: dependents" version: 3.6 refPaths: - path: cmd/kubeadm/app/constants/constants.go match: PauseVersion\s+= - path: cmd/kubeadm/app/util/template_test.go match: validTmpl\s+= - path: cmd/kubeadm/app/util/template_test.go match: validTmplOut\s+= - path: cmd/kubeadm/app/util/template_test.go match: doNothing\s+= - path: cmd/kubelet/app/options/container_runtime.go match: defaultPodSandboxImageVersion\s+= - path: hack/testdata/pod-with-precision.json match: k8s.gcr.io\/pause:\d+\.\d+ - path: pkg/kubelet/dockershim/docker_sandbox.go match: k8s.gcr.io\/pause:\d+\.\d+ - path: staging/src/k8s.io/kubectl/testdata/set/multi-resource-yaml.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: staging/src/k8s.io/kubectl/testdata/set/namespaced-resource.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/cmd/core.sh match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/fixtures/pkg/kubectl/cmd/set/multi-resource-yaml.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/fixtures/pkg/kubectl/cmd/set/namespaced-resource.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/benchmark-controller.json match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-default.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-node-affinity.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-pod-affinity.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-pod-anti-affinity.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-preferred-pod-affinity.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-preferred-pod-anti-affinity.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-preferred-topology-spreading.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-secret-volume.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/integration/scheduler_perf/config/pod-with-topology-spreading.yaml match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/utils/runners.go match: k8s.gcr.io\/pause:\d+\.\d+ - path: test/utils/image/manifest.go match: configs\[Pause\] = Config{list\.GcRegistry, "pause", "\d+\.\d+(.\d+)?"} - name: "k8s.gcr.io/setcap: dependents" version: bullseye-v1.0.0 refPaths: - path: build/common.sh match: __default_setcap_version= # metadata-concealment: bump this one first - name: "metadata-concealment" version: "1.6" refPaths: - path: test/images/metadata-concealment/VERSION match: \d.\d # then after merge and successful postsubmit image push / promotion, bump this - name: "metadata-concealment: dependents" version: "1.6" refPaths: - path: test/utils/image/manifest.go match: configs\[CheckMetadataConcealment\] = Config{list\.PromoterE2eRegistry, "metadata-concealment", "\d+\.\d+"}