diff --git a/embedded-bins/Makefile.variables b/embedded-bins/Makefile.variables index 1012b851955c..22edaf6c3c4c 100644 --- a/embedded-bins/Makefile.variables +++ b/embedded-bins/Makefile.variables @@ -31,7 +31,7 @@ containerd_build_go_ldflags = -w -s containerd_build_go_ldflags_extra = -extldflags=-static # renovate: datasource=github-releases depName=kubernetes/kubernetes -kubernetes_version = 1.36.1 +kubernetes_version = 1.37.0-alpha.1 kubernetes_buildimage = $(golang_buildimage) kubernetes_build_go_tags = "providerless" #kubernetes_build_go_cgo_enabled = diff --git a/go.mod b/go.mod index ef17d6c8f61e..523b555c4721 100644 --- a/go.mod +++ b/go.mod @@ -68,23 +68,23 @@ require ( // Kubernetes require ( - k8s.io/api v0.36.1 - k8s.io/apiextensions-apiserver v0.36.1 - k8s.io/apimachinery v0.36.1 - k8s.io/apiserver v0.36.1 - k8s.io/cli-runtime v0.36.1 - k8s.io/client-go v0.36.1 - k8s.io/cloud-provider v0.36.1 - k8s.io/cluster-bootstrap v0.36.1 - k8s.io/component-base v0.36.1 - k8s.io/component-helpers v0.36.1 - k8s.io/cri-api v0.36.1 - k8s.io/kube-aggregator v0.36.1 - k8s.io/kube-proxy v0.36.1 - k8s.io/kubectl v0.36.1 - k8s.io/kubelet v0.36.1 - k8s.io/kubernetes v1.36.1 - k8s.io/mount-utils v0.36.1 + k8s.io/api v0.37.0-alpha.1 + k8s.io/apiextensions-apiserver v0.37.0-alpha.1 + k8s.io/apimachinery v0.37.0-alpha.1 + k8s.io/apiserver v0.37.0-alpha.1 + k8s.io/cli-runtime v0.37.0-alpha.1 + k8s.io/client-go v0.37.0-alpha.1 + k8s.io/cloud-provider v0.37.0-alpha.1 + k8s.io/cluster-bootstrap v0.37.0-alpha.1 + k8s.io/component-base v0.37.0-alpha.1 + k8s.io/component-helpers v0.37.0-alpha.1 + k8s.io/cri-api v0.37.0-alpha.1 + k8s.io/kube-aggregator v0.37.0-alpha.1 + k8s.io/kube-proxy v0.37.0-alpha.1 + k8s.io/kubectl v0.37.0-alpha.1 + k8s.io/kubelet v0.37.0-alpha.1 + k8s.io/kubernetes v1.37.0-alpha.1 + k8s.io/mount-utils v0.37.0-alpha.1 k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 ) @@ -100,7 +100,7 @@ require ( github.com/Masterminds/squirrel v1.5.4 // indirect github.com/Microsoft/hcsshim v0.15.0-rc.1 // indirect github.com/NYTimes/gziphandler v1.1.1 // indirect - github.com/antlr4-go/antlr/v4 v4.13.0 // indirect + github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/briandowns/spinner v1.19.0 // indirect @@ -119,7 +119,7 @@ require ( github.com/containerd/log v0.1.0 // indirect github.com/containerd/plugin v1.1.0 // indirect github.com/containerd/ttrpc v1.2.8 // indirect - github.com/containerd/typeurl/v2 v2.2.3 // indirect + github.com/containerd/typeurl/v2 v2.3.0 // indirect github.com/containernetworking/cni v1.3.0 // indirect github.com/containernetworking/plugins v1.9.1 // indirect github.com/coreos/go-semver v0.3.1 // indirect @@ -135,13 +135,13 @@ require ( github.com/fatih/camelcase v1.0.0 // indirect github.com/fatih/color v1.19.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.1 // indirect github.com/gabriel-vasile/mimetype v1.4.13 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-gorp/gorp/v3 v3.1.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect + github.com/go-openapi/jsonreference v0.21.4 // indirect github.com/go-openapi/swag v0.26.1 // indirect github.com/go-openapi/swag/cmdutils v0.26.1 // indirect github.com/go-openapi/swag/conv v0.26.1 // indirect @@ -158,13 +158,12 @@ require ( github.com/go-playground/universal-translator v0.18.1 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/godbus/dbus/v5 v5.2.2 // indirect - github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/cadvisor v0.56.2 // indirect - github.com/google/cel-go v0.26.0 // indirect + github.com/google/cadvisor v0.57.0 // indirect + github.com/google/cel-go v0.27.0 // indirect github.com/google/certificate-transparency-go v1.1.7 // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/uuid v1.6.0 // indirect @@ -240,8 +239,7 @@ require ( github.com/segmentio/backo-go v1.1.0 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/spf13/cast v1.7.0 // indirect - github.com/stoewer/go-strcase v1.3.0 // indirect - github.com/stretchr/objx v0.5.2 // indirect + github.com/stretchr/objx v0.5.3 // indirect github.com/vishvananda/netns v0.0.5 // indirect github.com/weppos/publicsuffix-go v0.30.0 // indirect github.com/x448/float16 v0.8.4 // indirect @@ -258,37 +256,37 @@ require ( go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 // indirect - go.opentelemetry.io/otel v1.43.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 // indirect - go.opentelemetry.io/otel/metric v1.43.0 // indirect - go.opentelemetry.io/otel/sdk v1.43.0 // indirect - go.opentelemetry.io/otel/trace v1.43.0 // indirect + go.opentelemetry.io/otel v1.44.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.44.0 // indirect + go.opentelemetry.io/otel/metric v1.44.0 // indirect + go.opentelemetry.io/otel/sdk v1.44.0 // indirect + go.opentelemetry.io/otel/trace v1.44.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect + golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect golang.org/x/net v0.56.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/term v0.44.0 // indirect golang.org/x/time v0.15.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/controller-manager v0.36.1 // indirect - k8s.io/cri-client v0.36.1 // indirect + k8s.io/controller-manager v0.37.0-alpha.1 // indirect + k8s.io/cri-client v0.37.0-alpha.1 // indirect k8s.io/klog/v2 v2.140.0 // indirect - k8s.io/kms v0.36.1 // indirect - k8s.io/kube-openapi v0.0.0-20260319004828-5883c5ee87b9 // indirect - k8s.io/metrics v0.36.1 // indirect - k8s.io/streaming v0.36.1 // indirect + k8s.io/kms v0.37.0-alpha.1 // indirect + k8s.io/kube-openapi v0.0.0-20260519202549-bbf5c5577288 // indirect + k8s.io/metrics v0.37.0-alpha.1 // indirect + k8s.io/streaming v0.37.0-alpha.1 // indirect modernc.org/libc v1.72.3 // indirect modernc.org/mathutil v1.7.1 // indirect modernc.org/memory v1.11.0 // indirect @@ -298,44 +296,46 @@ require ( sigs.k8s.io/kustomize/kustomize/v5 v5.8.1 // indirect sigs.k8s.io/kustomize/kyaml v0.21.1 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.4.0 // indirect tags.cncf.io/container-device-interface v1.1.0 // indirect tags.cncf.io/container-device-interface/specs-go v1.1.0 // indirect ) // Replacements duplicated from upstream Kubernetes replace ( - // https://github.com/kubernetes/kubernetes/blob/v1.36.1/go.mod#L227-L259 + // https://github.com/kubernetes/kubernetes/blob/v1.37.0-alpha.1/go.mod#L229-L263 // Keep in sync with renovate.json - k8s.io/api => k8s.io/api v0.36.1 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.36.1 - k8s.io/apimachinery => k8s.io/apimachinery v0.36.1 - k8s.io/apiserver => k8s.io/apiserver v0.36.1 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.36.1 - k8s.io/client-go => k8s.io/client-go v0.36.1 - k8s.io/cloud-provider => k8s.io/cloud-provider v0.36.1 - k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.36.1 - k8s.io/code-generator => k8s.io/code-generator v0.36.1 - k8s.io/component-base => k8s.io/component-base v0.36.1 - k8s.io/component-helpers => k8s.io/component-helpers v0.36.1 - k8s.io/controller-manager => k8s.io/controller-manager v0.36.1 - k8s.io/cri-api => k8s.io/cri-api v0.36.1 - k8s.io/cri-client => k8s.io/cri-client v0.36.1 - k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.36.1 - k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.36.1 - k8s.io/endpointslice => k8s.io/endpointslice v0.36.1 - k8s.io/externaljwt => k8s.io/externaljwt v0.36.1 - k8s.io/kms => k8s.io/kms v0.36.1 - k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.36.1 - k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.36.1 - k8s.io/kube-proxy => k8s.io/kube-proxy v0.36.1 - k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.36.1 - k8s.io/kubectl => k8s.io/kubectl v0.36.1 - k8s.io/kubelet => k8s.io/kubelet v0.36.1 - k8s.io/metrics => k8s.io/metrics v0.36.1 - k8s.io/mount-utils => k8s.io/mount-utils v0.36.1 - k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.36.1 - k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.36.1 - k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.36.1 - k8s.io/sample-controller => k8s.io/sample-controller v0.36.1 + k8s.io/api => k8s.io/api v0.37.0-alpha.1 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.37.0-alpha.1 + k8s.io/apimachinery => k8s.io/apimachinery v0.37.0-alpha.1 + k8s.io/apiserver => k8s.io/apiserver v0.37.0-alpha.1 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.37.0-alpha.1 + k8s.io/client-go => k8s.io/client-go v0.37.0-alpha.1 + k8s.io/cloud-provider => k8s.io/cloud-provider v0.37.0-alpha.1 + k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.37.0-alpha.1 + k8s.io/code-generator => k8s.io/code-generator v0.37.0-alpha.1 + k8s.io/component-base => k8s.io/component-base v0.37.0-alpha.1 + k8s.io/component-helpers => k8s.io/component-helpers v0.37.0-alpha.1 + k8s.io/controller-manager => k8s.io/controller-manager v0.37.0-alpha.1 + k8s.io/cri-api => k8s.io/cri-api v0.37.0-alpha.1 + k8s.io/cri-client => k8s.io/cri-client v0.37.0-alpha.1 + k8s.io/cri-streaming => k8s.io/cri-streaming v0.37.0-alpha.1 + k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.37.0-alpha.1 + k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.37.0-alpha.1 + k8s.io/endpointslice => k8s.io/endpointslice v0.37.0-alpha.1 + k8s.io/externaljwt => k8s.io/externaljwt v0.37.0-alpha.1 + k8s.io/kms => k8s.io/kms v0.37.0-alpha.1 + k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.37.0-alpha.1 + k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.37.0-alpha.1 + k8s.io/kube-proxy => k8s.io/kube-proxy v0.37.0-alpha.1 + k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.37.0-alpha.1 + k8s.io/kubectl => k8s.io/kubectl v0.37.0-alpha.1 + k8s.io/kubelet => k8s.io/kubelet v0.37.0-alpha.1 + k8s.io/metrics => k8s.io/metrics v0.37.0-alpha.1 + k8s.io/mount-utils => k8s.io/mount-utils v0.37.0-alpha.1 + k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.37.0-alpha.1 + k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.37.0-alpha.1 + k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.37.0-alpha.1 + k8s.io/sample-controller => k8s.io/sample-controller v0.37.0-alpha.1 + k8s.io/streaming => k8s.io/streaming v0.37.0-alpha.1 ) diff --git a/go.sum b/go.sum index 2fb20a21c30b..81cc6b871e45 100644 --- a/go.sum +++ b/go.sum @@ -38,8 +38,8 @@ github.com/Microsoft/hcsshim v0.15.0-rc.1 h1:FbbwtQmiD+BVHynGkx5S65JkLyhkEiiTP8n github.com/Microsoft/hcsshim v0.15.0-rc.1/go.mod h1:HWvvUPIy9HF6LotILj1G4VyS065rcLQ6tqj6tMUdOfI= github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= -github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= +github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= +github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= @@ -103,8 +103,8 @@ github.com/containerd/plugin v1.1.0 h1:O+7lczNJVMy8rz0YNx3xGB8tTf5qY4i5abF041Ew1 github.com/containerd/plugin v1.1.0/go.mod h1:qBTum+A8lJ6lO44A19Eo7y1OlcLj4OWFH1DA/vnHmcc= github.com/containerd/ttrpc v1.2.8 h1:xbVu6D4qF2jihdh9rDVOKqUMiFBQk6YctTdo1zk087Y= github.com/containerd/ttrpc v1.2.8/go.mod h1:wyZW2K79t4Hfcxl+GUvkZqRBzJlqFFvgEeeWXa42tyE= -github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= -github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= +github.com/containerd/typeurl/v2 v2.3.0 h1:HZHPhRWo5XMy3QGQoPrUzbW/2ckwjfweHmOwlkIrPAQ= +github.com/containerd/typeurl/v2 v2.3.0/go.mod h1:Qk+PAdUYArVj41TnGi6rJ+48RF0PkcTc4i/taoBcK0w= github.com/containernetworking/cni v1.3.0 h1:v6EpN8RznAZj9765HhXQrtXgX+ECGebEYEmnuFjskwo= github.com/containernetworking/cni v1.3.0/go.mod h1:Bs8glZjjFfGPHMw6hQu82RUgEPNGEaBb9KS5KtNMnJ4= github.com/containernetworking/plugins v1.9.1 h1:8oU6WsIsU3bpnNZuvHp74a6cE1MJwbj2P7s4/yTUNlA= @@ -116,7 +116,6 @@ github.com/coreos/go-systemd/v22 v22.7.0/go.mod h1:xNUYtjHu2EDXbsxz1i41wouACIwT7 github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE= @@ -174,8 +173,8 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.10.1 h1:b0/UzAf9yR5rhf3RPm9gf3ehBPpf0oZKIjtpKrx59Ho= github.com/fsnotify/fsnotify v1.10.1/go.mod h1:TLheqan6HD6GBK6PrDWyDPBaEV8LspOxvPSjC+bVfgo= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/fxamacker/cbor/v2 v2.9.1 h1:2rWm8B193Ll4VdjsJY28jxs70IdDsHRWgQYAI80+rMQ= +github.com/fxamacker/cbor/v2 v2.9.1/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= @@ -191,12 +190,10 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonpointer v0.23.1 h1:1HBACs7XIwR2RcmItfdSFlALhGbe6S92p0ry4d1GWg4= github.com/go-openapi/jsonpointer v0.23.1/go.mod h1:iWRmZTrGn7XwYhtPt/fvdSFj1OfNBngqRT2UG3BxSqY= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/jsonreference v0.21.4 h1:24qaE2y9bx/q3uRK/qN+TDwbok1NhbSmGjjySRCHtC8= +github.com/go-openapi/jsonreference v0.21.4/go.mod h1:rIENPTjDbLpzQmQWCj5kKj3ZlmEh+EFVbz3RTUh30/4= github.com/go-openapi/swag v0.26.1 h1:l5sVEyVpwj+DDYeZyo7wQI/Ebn/mKYIyGB/pFwAfGoQ= github.com/go-openapi/swag v0.26.1/go.mod h1:yNY38BbIVthxbkDtq1UHBCGasBqjakW3lCR6ANzdBEw= github.com/go-openapi/swag/cmdutils v0.26.1 h1:f2iE1ijYaJ3nuu5PaEMx3zpEhzhZFgivCJObWEObLIQ= @@ -245,8 +242,6 @@ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/godbus/dbus/v5 v5.2.2 h1:TUR3TgtSVDmjiXOgAAyaZbYmIeP3DPkld3jgKGV8mXQ= github.com/godbus/dbus/v5 v5.2.2/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -267,10 +262,10 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/cadvisor v0.56.2 h1:ra6p4Nxc4zT8VLbZscWUxhvjsqy+1AzMvuSdEM90o1w= -github.com/google/cadvisor v0.56.2/go.mod h1:CWidr4DqGbkN4aKuOEjLB7Bab3gl01Xxm3co38C3xRU= -github.com/google/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= -github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/cadvisor v0.57.0 h1:2LoXUZIJPR3VQJC1bZmqAGdh09yPfpS7MEeC4fJy80k= +github.com/google/cadvisor v0.57.0/go.mod h1:z6bozbhp/EAWhJqF6KK78MESLoeAhi7pJ9g7fRYGPEc= +github.com/google/cel-go v0.27.0 h1:e7ih85+4qVrBuqQWTW4FKSqZYokVuc3HnhH5keboFTo= +github.com/google/cel-go v0.27.0/go.mod h1:tTJ11FWqnhw5KKpnWpvW9CJC3Y9GK4EIS0WXnBbebzw= github.com/google/certificate-transparency-go v1.1.7 h1:IASD+NtgSTJLPdzkthwvAG1ZVbF2WtFg4IvoA68XGSw= github.com/google/certificate-transparency-go v1.1.7/go.mod h1:FSSBo8fyMVgqptbfF6j5p/XNdgQftAhSmXcIxV9iphE= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= @@ -288,8 +283,8 @@ github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 h1:z2ogiKUYzX5Is6zr/vP9vJGqPwcdqsWjOt+V8J7+bTc= -github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= +github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 h1:EwtI+Al+DeppwYX2oXJCETMO23COyaKGP6fHVpkpWpg= +github.com/google/pprof v0.0.0-20260402051712-545e8a4df936/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -330,7 +325,6 @@ github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= github.com/jonboulle/clockwork v0.5.0 h1:Hyh9A8u51kptdkR+cqRpT1EebBwTn1oK9YfGYbdFz6I= github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= github.com/jsimonetti/rtnetlink/v2 v2.0.1 h1:xda7qaHDSVOsADNouv7ukSuicKZO7GgVUCXxpaIEIlM= @@ -343,8 +337,6 @@ github.com/k0sproject/version v0.8.0 h1:Yh1SFDeBqQ7etrGwffY8bWKdbAUjeBOhiZ6oQuuz github.com/k0sproject/version v0.8.0/go.mod h1:iNV3O8blndsQhxZ8zACfpQhrLDlrTvDlCzx+vgCFtSI= github.com/kardianos/service v1.2.4 h1:XNlGtZOYNx2u91urOdg/Kfmc+gfmuIo1Dd3rEi2OgBk= github.com/kardianos/service v1.2.4/go.mod h1:E4V9ufUuY82F7Ztlu1eN9VXWIQxg8NoLQlmFe0MtrXc= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kisielk/sqlstruct v0.0.0-20201105191214-5f3e10d3ab46 h1:veS9QfglfvqAw2e+eeNT/SbGySq8ajECXJ9e4fPoLhY= github.com/kisielk/sqlstruct v0.0.0-20201105191214-5f3e10d3ab46/go.mod h1:yyMNCyc/Ib3bDTKd379tNMpB/7/H5TjM2Y9QJ5THLbE= github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= @@ -352,7 +344,6 @@ github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -376,7 +367,6 @@ github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffkt github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/logrusorgru/aurora/v3 v3.0.0 h1:R6zcoZZbvVcGMvDCKo45A9U/lzYyzl5NfYIvznmDfE4= github.com/logrusorgru/aurora/v3 v3.0.0/go.mod h1:vsR12bk5grlLvLXAYrBsb5Oc/N+LxAlxggSjiwMnCUc= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= @@ -409,10 +399,10 @@ github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3N github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/moby/api v1.52.0 h1:00BtlJY4MXkkt84WhUZPRqt5TvPbgig2FZvTbe3igYg= -github.com/moby/moby/api v1.52.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc= -github.com/moby/moby/client v0.2.1 h1:1Grh1552mvv6i+sYOdY+xKKVTvzJegcVMhuXocyDz/k= -github.com/moby/moby/client v0.2.1/go.mod h1:O+/tw5d4a1Ha/ZA/tPxIZJapJRUS6LNZ1wiVRxYHyUE= +github.com/moby/moby/api v1.54.1 h1:TqVzuJkOLsgLDDwNLmYqACUuTehOHRGKiPhvH8V3Nn4= +github.com/moby/moby/api v1.54.1/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= +github.com/moby/moby/client v0.4.0 h1:S+2XegzHQrrvTCvF6s5HFzcrywWQmuVnhOXe2kiWjIw= +github.com/moby/moby/client v0.4.0/go.mod h1:QWPbvWchQbxBNdaLSpoKpCdf5E+WxFAgNHogCWDoa7g= github.com/moby/spdystream v0.5.1 h1:9sNYeYZUcci9R6/w7KDaFWEWeV4LStVG78Mpyq/Zm/Y= github.com/moby/spdystream v0.5.1/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= github.com/moby/sys/capability v0.4.0 h1:4D4mI6KlNtWMCM1Z/K0i7RV1FkX+DBDHKVJpCndZoHk= @@ -447,10 +437,10 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w= github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= -github.com/onsi/ginkgo/v2 v2.28.1 h1:S4hj+HbZp40fNKuLUQOYLDgZLwNUVn19N3Atb98NCyI= -github.com/onsi/ginkgo/v2 v2.28.1/go.mod h1:CLtbVInNckU3/+gC8LzkGUb9oF+e8W8TdUsxPwvdOgE= -github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28= -github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg= +github.com/onsi/ginkgo/v2 v2.28.3 h1:4JvMdwtFU0imd8fHx25OJXoDMRexnf8v5NHKYSTTji4= +github.com/onsi/ginkgo/v2 v2.28.3/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= +github.com/onsi/gomega v1.40.0 h1:Vtol0e1MghCD2ZVIilPDIg44XSL9l2QAn8ZNaljWcJc= +github.com/onsi/gomega v1.40.0/go.mod h1:M/Uqpu/8qTjtzCLUA2zJHX9Iilrau25x1PdoSRbWh5A= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/cgroups v0.0.6 h1:tfZFWTIIGaUUFImTyuTg+Mr5x8XRiSdZESgEBW7UxuI= github.com/opencontainers/cgroups v0.0.6/go.mod h1:oWVzJsKK0gG9SCRBfTpnn16WcGEqDI8PAcpMGbqWxcs= @@ -544,14 +534,12 @@ github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiT github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= -github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4= +github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -591,8 +579,6 @@ github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zcalusic/sysinfo v1.1.3 h1:u/AVENkuoikKuIZ4sUEJ6iibpmQP6YpGD8SSMCrqAF0= github.com/zcalusic/sysinfo v1.1.3/go.mod h1:NX+qYnWGtJVPV0yWldff9uppNKU4h40hJIRPf/pGLv4= @@ -635,8 +621,8 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.6 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0/go.mod h1:Sje3i3MjSPKTSPvVWCaL8ugBzJwik3u4smCjUeuupqg= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 h1:CqXxU8VOmDefoh0+ztfGaymYbhdB/tT3zs79QaZTNGY= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0/go.mod h1:BuhAPThV8PBHBvg8ZzZ/Ok3idOdhWIodywz2xEcRbJo= -go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= -go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.19.0 h1:Dn8rkudDzY6KV9dr/D/bTUuWgqDf9xe0rr4G2elrn0Y= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.19.0/go.mod h1:gMk9F0xDgyN9M/3Ed5Y1wKcx/9mlU91NXY2SNq7RQuU= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.19.0 h1:HIBTQ3VO5aupLKjC90JgMqpezVXwFuq6Ryjn0/izoag= @@ -645,10 +631,10 @@ go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0 h1:8UQ go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.43.0/go.mod h1:2lmweYCiHYpEjQ/lSJBYhj9jP1zvCvQW4BqL9dnT7FQ= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.43.0 h1:w1K+pCJoPpQifuVpsKamUdn9U0zM3xUziVOqsGksUrY= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.43.0/go.mod h1:HBy4BjzgVE8139ieRI75oXm3EcDN+6GhD88JT1Kjvxg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 h1:88Y4s2C8oTui1LGM6bTWkw0ICGcOLCAI5l6zsD1j20k= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0/go.mod h1:Vl1/iaggsuRlrHf/hfPJPvVag77kKyvrLeD10kpMl+A= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 h1:RAE+JPfvEmvy+0LzyUA25/SGawPwIUbZ6u0Wug54sLc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0/go.mod h1:AGmbycVGEsRx9mXMZ75CsOyhSP6MFIcj/6dnG+vhVjk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 h1:4YsVu3B8+3qtWYYrsUYgn0OG78pN0rnNPRGX4SbokQI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0/go.mod h1:+wnlSn0mD1ADVMe3v9Z/WIaiz6q6gL2J/ejaAmdmv80= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.44.0 h1:qazEJlUOQzhCpzQpFETGby7EdqjI1wsd0W+6Gg1SCTU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.44.0/go.mod h1:fOD2Yefuxixkx3ahVNf0O/PERb6r4OlbxfATVnYvzCo= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 h1:3iZJKlCZufyRzPzlQhUIWVmfltrXuGyfjREgGP3UUjc= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0/go.mod h1:/G+nUPfhq2e+qiXMGxMwumDrP5jtzU+mWN7/sjT2rak= go.opentelemetry.io/otel/exporters/prometheus v0.65.0 h1:jOveH/b4lU9HT7y+Gfamf18BqlOuz2PWEvs8yM7Q6XE= @@ -661,16 +647,16 @@ go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.43.0 h1:mS47AX77OtFfKG4 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.43.0/go.mod h1:PJnsC41lAGncJlPUniSwM81gc80GkgWJWr3cu2nKEtU= go.opentelemetry.io/otel/log v0.19.0 h1:KUZs/GOsw79TBBMfDWsXS+KZ4g2Ckzksd1ymzsIEbo4= go.opentelemetry.io/otel/log v0.19.0/go.mod h1:5DQYeGmxVIr4n0/BcJvF4upsraHjg6vudJJpnkL6Ipk= -go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= -go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= -go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= -go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= go.opentelemetry.io/otel/sdk/log v0.19.0 h1:scYVLqT22D2gqXItnWiocLUKGH9yvkkeql5dBDiXyko= go.opentelemetry.io/otel/sdk/log v0.19.0/go.mod h1:vFBowwXGLlW9AvpuF7bMgnNI95LiW10szrOdvzBHlAg= -go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= -go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= -go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= -go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -685,7 +671,6 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= @@ -694,13 +679,11 @@ golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= -golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f h1:W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM= +golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f/go.mod h1:J1xhfL/vlindoeF/aINzNzt2Bket5bjo9sdOYzOsU80= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= @@ -712,8 +695,6 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= @@ -729,8 +710,6 @@ golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= @@ -779,16 +758,12 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.46.0 h1:7jTurBkPZu4moS/Uy4OQT1M+QBlsj3wejyZwsT8Z7rk= golang.org/x/tools v0.46.0/go.mod h1:FrD85F8l+NWL+9XWBSyVSHO6Ne4jutsfIFba7AWQ5Ys= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= @@ -798,10 +773,10 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 h1:yQugLulqltosq0B/f8l4w9VryjV+N/5gcW0jQ3N8Qec= -google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478/go.mod h1:C6ADNqOxbgdUUeRTU+LCHDPB9ttAMCTff6auwCVa4uc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa h1:Kjn0N0tCrDgiAFW+lGO4JZ3ck44CehvJQMAwj9QF0G8= +google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:q4lMZS6kskjT5HvCPrnnypcDPVJqT/f4nfxmkE7gryY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -841,60 +816,60 @@ helm.sh/helm/v3 v3.21.1 h1:g4AE2nnAAqSEg3aSBUoqJAKpiEvAKuYeIjk6x9U+vj0= helm.sh/helm/v3 v3.21.1/go.mod h1:MUakFviBniZhRL89rFwl6XZZHorArkWCTIKKX7ugTq0= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.36.1 h1:XbL/EMj8K2aJpJtePmqUyQMsM0D4QI2pvl7YKJ20FTY= -k8s.io/api v0.36.1/go.mod h1:KOWo4ey3TINlXjeHVuwB3i+tXXnu+UcwFBHlI/9dvEo= -k8s.io/apiextensions-apiserver v0.36.1 h1:6JfYmPUsuUIHuN+3QxutXYWj492RqF5fBSx67GYK5Ks= -k8s.io/apiextensions-apiserver v0.36.1/go.mod h1:pLzZin90riwisdzKwv/GoTwENooytoIx5zWJb4Hkby8= -k8s.io/apimachinery v0.36.1 h1:G63Gjx2W+q0YD+72Vo8oY0nDnePVwnuzTmmy5ENrVSA= -k8s.io/apimachinery v0.36.1/go.mod h1:ibYOR00vW/I1kzvi5SF0dRuJ52BvKtfvRdOn35GPQ+8= -k8s.io/apiserver v0.36.1 h1:iMS5V+rPUertv5P9RaqJgmHHTuh4quWpoxchvMUY+JY= -k8s.io/apiserver v0.36.1/go.mod h1:Cby1PbLWztu0GDOxoO6iFOyyqIsziHNEW+w9zVQ22Kw= -k8s.io/cli-runtime v0.36.1 h1:yuC/BGnnj1YYPh6D1P+pZnzinCs6DvMq86yAeNqoqzM= -k8s.io/cli-runtime v0.36.1/go.mod h1:ZQWHGt8xAF7KnviB79vX0lYNyUUqKIpU+LQg7exuFAw= -k8s.io/client-go v0.36.1 h1:FN/K8QIT2CEDt+2WB2HnWrUANZ50AP5GII43/SP2JR0= -k8s.io/client-go v0.36.1/go.mod h1:s6rAnCtTGYDQnpNjEhSaISV+2O8jwruZ6m3QOYBFbtU= -k8s.io/cloud-provider v0.36.1 h1:2XWkuNJgkQHOxR0DtpTeOIEp5FQC++gDpIPo525MGsw= -k8s.io/cloud-provider v0.36.1/go.mod h1:Qf8XEPVkSDT4yl28hbAR+hbomLvXF8tCdltc26J+luc= -k8s.io/cluster-bootstrap v0.36.1 h1:q/aceQqIf4trnesPwU8kPOcWRKtEtBEPJtsdJMMswJ8= -k8s.io/cluster-bootstrap v0.36.1/go.mod h1:WU8fwRLDBJPKnfzeUKYZ+iEnMsa0AVQaoKuOl7IS+S8= -k8s.io/component-base v0.36.1 h1:iG6GsELftXqTNG9HG6kiVjatSgAw1sf5pJ6R5a6N0kA= -k8s.io/component-base v0.36.1/go.mod h1:nf9XPlntRdqO6WMeEWAA5F93Y4ICZQdeT9GeqLDB3JI= -k8s.io/component-helpers v0.36.1 h1:BTrr5fzNSm8TkQfXrKT3N9ioWwiC4n2FTIwGTUo/ccg= -k8s.io/component-helpers v0.36.1/go.mod h1:s38HnzKQRurbUnhI5IV8GwyL/a3lVuNCYZMTd+rITMM= -k8s.io/controller-manager v0.36.1 h1:d1ifPnAe3FFSnnvcDQiM93bGroFT1lF72GEBKsl+cbg= -k8s.io/controller-manager v0.36.1/go.mod h1:jeJUuFlgbgohGJWrm59Wdlgo3WqxssWXgD2sU6HG/Vo= -k8s.io/cri-api v0.36.1 h1:g4vRySdoN5G+FMXC1jfGdUyynsHy2qaHZKZhCXZuEmg= -k8s.io/cri-api v0.36.1/go.mod h1:1gMX7udEAiRCWGS4uxscdbxq6vufwhZt38Ri+XH6P00= -k8s.io/cri-client v0.36.1 h1:Yp5Aquk7gZyBrzUFI2n/S1K3DxRzO0rLmdKwtleHpCQ= -k8s.io/cri-client v0.36.1/go.mod h1:5fF14GCsamGYClcmYFy7YCXc+N88VLuQt10RigK0h6M= -k8s.io/csi-translation-lib v0.36.1 h1:9Sn7idYrOqwWsJk6hnxeit6LdlN2c3Ckny2veYCyjYk= -k8s.io/csi-translation-lib v0.36.1/go.mod h1:UfN3pfuAOwEkmXU86Bmp0Vrn0NPFx1Z/Cpxb9sYkzTY= -k8s.io/dynamic-resource-allocation v0.36.1 h1:nMdVWmGuL+juHRvuBWGTngH2OYUmokwgRftEZArSIyY= -k8s.io/dynamic-resource-allocation v0.36.1/go.mod h1:3dFGuVbN4Ui5M4EaXxFM+AktFQPKqiBAtyYb8zi3zw4= +k8s.io/api v0.37.0-alpha.1 h1:fTnRCeg6apyW4NEMAzh4I0QKmhLrfBn/Wd7ofdiWrWs= +k8s.io/api v0.37.0-alpha.1/go.mod h1:Zb4KyckZ/m8i6rABBg74uJhc6A4crNQo9epNeXftsc0= +k8s.io/apiextensions-apiserver v0.37.0-alpha.1 h1:TkKOlQPlkdsYobMgXFQl9VsAyTpMQdqWjHxg/SkIxpk= +k8s.io/apiextensions-apiserver v0.37.0-alpha.1/go.mod h1:nIcLWPUYzGga34ggNYvrykyyE6yyubk3WnlD9XUZoDg= +k8s.io/apimachinery v0.37.0-alpha.1 h1:1h6p2YVjU618lo3rFTTKELLzWNu/rmOQSY6Yn5VBnSI= +k8s.io/apimachinery v0.37.0-alpha.1/go.mod h1:NCrGZAB1OmwASDtTJ2J0mNYwcgFJSH6FimUsgzQ53d0= +k8s.io/apiserver v0.37.0-alpha.1 h1:gMGcOAIrnvOm1S4f9XujL0BhvwdrHgKqXRGVSdcsCrs= +k8s.io/apiserver v0.37.0-alpha.1/go.mod h1:loFUWegJlav9WgEhxIzSh0McC7BDJdpeLeBj0LCTtNA= +k8s.io/cli-runtime v0.37.0-alpha.1 h1:cSVezBsz9u7E0/ittLz5P884f4YsBqmNMxL1W7F+ai4= +k8s.io/cli-runtime v0.37.0-alpha.1/go.mod h1:MazoVjr7oeaSTYrV2rJq4pxQL5eKUtmHYCjJ9N6GO68= +k8s.io/client-go v0.37.0-alpha.1 h1:j5ih65oSeKZ4FSLZ1t6Gl7xhOIUWTHlxRj755AXFh50= +k8s.io/client-go v0.37.0-alpha.1/go.mod h1:GXoFH7wX24Gk7/9u0Sqkk/CXGKhtK2NzwxZ3rh+50Qw= +k8s.io/cloud-provider v0.37.0-alpha.1 h1:dnBBe4JBe+exW6bfj9DmFhBMtC3aL3oliUhaI0fWDJw= +k8s.io/cloud-provider v0.37.0-alpha.1/go.mod h1:5z/UL/CJd3ohP5KNzdexXcNR0g+ToQWp9gfsPn36O8A= +k8s.io/cluster-bootstrap v0.37.0-alpha.1 h1:+4OQ3e0x0EEA7yibqknO47yGrM6crfbkxiiKiadSLg8= +k8s.io/cluster-bootstrap v0.37.0-alpha.1/go.mod h1:6/apMAYSiZd3Xanxx7sdWmns8yMj/bmePLWnl/+0MD4= +k8s.io/component-base v0.37.0-alpha.1 h1:C+wu77XGtTrSvU/v4CMCmg8Uq3BmYsgDSbAy8PDiWfo= +k8s.io/component-base v0.37.0-alpha.1/go.mod h1:syzFTe+v8SyroLQ5JItALe3snAEmX9VTPCrCEk2K0gk= +k8s.io/component-helpers v0.37.0-alpha.1 h1:n5e3eXvIRYWyRYZD/x+Cu8T+u0BCOlEdLHPR8jFCxDM= +k8s.io/component-helpers v0.37.0-alpha.1/go.mod h1:BmnQqHmlcxM1N47EBYo+cFumJTRYFOtwqZi/JhGcFMk= +k8s.io/controller-manager v0.37.0-alpha.1 h1:o49HnOg+YVkJSCNLirV0NY0+mUjydVFmj9ydZtYn/cI= +k8s.io/controller-manager v0.37.0-alpha.1/go.mod h1:2K+hzs3nC2weQvF2Mjejl1yuEq9Fjer+A78PRmVj52w= +k8s.io/cri-api v0.37.0-alpha.1 h1:XvFhTRb9crRG6/0+9BB9SdWMHsvowzUBweOrE3u6x7M= +k8s.io/cri-api v0.37.0-alpha.1/go.mod h1:wJFlBxxfVx0SXyVJ4YSne/GUo2uJuGXkq0IXsf2q4lA= +k8s.io/cri-client v0.37.0-alpha.1 h1:zU0G3jfOssbHlG5LCSrB7jSph1n+YjuvA8MZR2G4hF0= +k8s.io/cri-client v0.37.0-alpha.1/go.mod h1:G68dzE6WgyacQoQsP7S/vwysgLoM9rBZY4SceNYk30Y= +k8s.io/csi-translation-lib v0.37.0-alpha.1 h1:nSnhGKLAxtsUp+YY/9ENVBnP0sYrkfeUUCeNUyBI9zc= +k8s.io/csi-translation-lib v0.37.0-alpha.1/go.mod h1:Q4X+zRW7uSN8NLOti53xDU5wUuk2ZzRznb97Dcdv2Cw= +k8s.io/dynamic-resource-allocation v0.37.0-alpha.1 h1:TYQR36jC+4667ufYAine2XmAKOxVS9XitejyP07v1jI= +k8s.io/dynamic-resource-allocation v0.37.0-alpha.1/go.mod h1:FMJ4p0xxeD+kPwhyDsHGxsmSXHjGbxu0i3TVZXnuDGU= k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= -k8s.io/kms v0.36.1 h1:XdvKpywoW4k7YUHDh5uYP4mahJXECswHGfCddBBYLZs= -k8s.io/kms v0.36.1/go.mod h1:g91diTD9h0oJCCHkTb00krlF+Qm5HTnkWLi9Q/TpRoc= -k8s.io/kube-aggregator v0.36.1 h1:IzNeRsJcTtgsiCyTgCR1pSwWCrXC1QZQWMTcBw18cFQ= -k8s.io/kube-aggregator v0.36.1/go.mod h1:ROrIm5irUhVUJsKVCgBAAcXpK5IiqpdCn0Ka7LYMGs4= -k8s.io/kube-openapi v0.0.0-20260319004828-5883c5ee87b9 h1:Sztf7ESG9tAXRW/ACJZjrj5jhdOUqS2KFRQT+CTvu78= -k8s.io/kube-openapi v0.0.0-20260319004828-5883c5ee87b9/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= -k8s.io/kube-proxy v0.36.1 h1:YTp/N6n5U89HaJHoTCrG2YOhe7mfZYyab+F4RsuiI0s= -k8s.io/kube-proxy v0.36.1/go.mod h1:TwacImSLahlwjwvhstELka3YpktU2WjXKGQ2Lqcqxs0= -k8s.io/kube-scheduler v0.36.1 h1:khJErGq9+JaHniVCxAulvQ4WvYxPj9/95bjJS0bXnjA= -k8s.io/kube-scheduler v0.36.1/go.mod h1:iPnJPkET29aL/Ox0qupytdKosDz0qPj7xGH4MM+dz14= -k8s.io/kubectl v0.36.1 h1:96HqS9twIdHM0MlJLTwbo14b9kUKPkOzZ4tlRDLv4qI= -k8s.io/kubectl v0.36.1/go.mod h1:/DGPAIewKsFWF9VFgGvkPhao2Ev4SNuE3BioZo8yPbk= -k8s.io/kubelet v0.36.1 h1:FcHiG9wv92xerRPNxztuhYWqwS4IilOQNPxTPQewYgo= -k8s.io/kubelet v0.36.1/go.mod h1:e6IeoCwqc2TbneCKu6P8HjmWLi7U6SOh3Pocs32iGFM= -k8s.io/kubernetes v1.36.1 h1:Mt7NKigaZ2KmOmCLhX81lGlH9JU5wjXnYhXnxAun9XA= -k8s.io/kubernetes v1.36.1/go.mod h1:MLdeJ3qw2CWH9BFml5GvptxQVQckz54fJOZ/WuixpFE= -k8s.io/metrics v0.36.1 h1:MQPb+G4RhrKEpt8NETPssbW8QgGUc4Jbqu1jx+kPqGk= -k8s.io/metrics v0.36.1/go.mod h1:xqS8XcWLjDzo6E7DJm/GfjKpRKdN5/MtJAQFuV6nLUc= -k8s.io/mount-utils v0.36.1 h1:NWDFsdv+jfqPfa/LisnbEn1QyPNYjMNkmfEORXhyvZA= -k8s.io/mount-utils v0.36.1/go.mod h1:+I47UOG6FiUGVSy7VanjU/mQXLShMo3M7xBpGLzCub8= -k8s.io/streaming v0.36.1 h1:L+K68n4Gg940BGNNYtUBvL1WTLL0YnKT3s+P1MNAmR4= -k8s.io/streaming v0.36.1/go.mod h1:z6fV3D+NVkoeqRMtWwlUZK6U17SY/LqNzOxWL6GyR/s= +k8s.io/kms v0.37.0-alpha.1 h1:+Wus5ILRI0Tx50CpscmW/rLQMszuUgCpFy8CaUzmRRw= +k8s.io/kms v0.37.0-alpha.1/go.mod h1:ErLCNmzrfZcVkr00luMid4eeJvrJzE7bvtD51ITQr+8= +k8s.io/kube-aggregator v0.37.0-alpha.1 h1:dj9V73Gb9uRs436xOoTC8tGLVKjVzCorNoCiGqFFKjk= +k8s.io/kube-aggregator v0.37.0-alpha.1/go.mod h1:AoY1O0Nr17nnjOZofV4v9y4Xx6IM/kYmhPgiTJl2I8w= +k8s.io/kube-openapi v0.0.0-20260519202549-bbf5c5577288 h1:A7Lby6ekC6nv+6oO38huCMFBRP0Os+tIeq1GkwxOQes= +k8s.io/kube-openapi v0.0.0-20260519202549-bbf5c5577288/go.mod h1:V/QaCUYDa+0QpcHhVVc5l99Uz56wEMEXBSj9oCDkNDY= +k8s.io/kube-proxy v0.37.0-alpha.1 h1:sV83gjCJMRSiDOKnoNpddOSPdthYu2hqZUtb6psD5tM= +k8s.io/kube-proxy v0.37.0-alpha.1/go.mod h1:h2J0QfY9tKyJDkw55alXin2nIKO3OdxmAhLaQSaS34Y= +k8s.io/kube-scheduler v0.37.0-alpha.1 h1:imohQMQnrZDVERLU6wLCf65y99z3IzmqntRImPP6N5I= +k8s.io/kube-scheduler v0.37.0-alpha.1/go.mod h1:P3SW05EIT3Np1KuI7mohkvTZ9pZo0HUoPY4tNPCrprs= +k8s.io/kubectl v0.37.0-alpha.1 h1:e0Xbhx9G77IB8FbZN95mylOqJRsnpj5jfqrNV6q8TjM= +k8s.io/kubectl v0.37.0-alpha.1/go.mod h1:gtLdOUP9E+k9GOgK00LuPcQypLaEgz1fY+U8KWBA+j0= +k8s.io/kubelet v0.37.0-alpha.1 h1:vvWM78ecmeK84+LPZtYELdQbguCFfv+8he/MMbV24Gg= +k8s.io/kubelet v0.37.0-alpha.1/go.mod h1:XNF1wmJZvFSDYGt//vXyHjsaUwR79c8van8HUjQN9lY= +k8s.io/kubernetes v1.37.0-alpha.1 h1:jhTLwZyfv4QCQn38XDJvt81v/POkS9XLcogxKlZXBrQ= +k8s.io/kubernetes v1.37.0-alpha.1/go.mod h1:TYZXQSRrC6E/16aM4Jb3adFCRYBazApO+Lijo5rJzv0= +k8s.io/metrics v0.37.0-alpha.1 h1:uZwvvhEM0576cA7mYVOFGJccYjLOjCTHrGp/TjakyR0= +k8s.io/metrics v0.37.0-alpha.1/go.mod h1:+apXs9hDbfQ/4XR/Rv8H7ju+lenNYZyDLSYs+oWuWQg= +k8s.io/mount-utils v0.37.0-alpha.1 h1:nSTyO4i3J3mqK82TiTHMnSHZyxdmNC8E8h+leW30voE= +k8s.io/mount-utils v0.37.0-alpha.1/go.mod h1:92r2hk1Z+a/NPQdvEQDP5vPbu0KugA3XDH2o8U0v+Ng= +k8s.io/streaming v0.37.0-alpha.1 h1:8/IDL5B3WI2l7cnO3na104t9oCuQYEXZ6H3095GpfLo= +k8s.io/streaming v0.37.0-alpha.1/go.mod h1:QN1+yCAfxcSvo0908Z3rFKkA5Xlr3KgUZAGwKuR6qQk= k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 h1:kBawHLSnx/mYHmRnNUf9d4CpjREbeZuxoSGOX/J+aYM= k8s.io/utils v0.0.0-20260319190234-28399d86e0b5/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= modernc.org/cc/v4 v4.28.2 h1:3tQ0lf2ADtoby2EtSP+J7IE2SHwEJdP8ioR59wx7XpY= @@ -941,8 +916,8 @@ sigs.k8s.io/kustomize/kyaml v0.21.1 h1:IVlbmhC076nf6foyL6Taw4BkrLuEsXUXNpsE+ScX7 sigs.k8s.io/kustomize/kyaml v0.21.1/go.mod h1:hmxADesM3yUN2vbA5z1/YTBnzLJ1dajdqpQonwBL1FQ= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v6 v6.3.2 h1:kwVWMx5yS1CrnFWA/2QHyRVJ8jM6dBA80uLmm0wJkk8= -sigs.k8s.io/structured-merge-diff/v6 v6.3.2/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0 h1:qmp2e3ZfFi1/jJbDGpD4mt3wyp6PE1NfKHCYLqgNQJo= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= tags.cncf.io/container-device-interface v1.1.0 h1:RnxNhxF1JOu6CJUVpetTYvrXHdxw9j9jFYgZpI+anSY= diff --git a/inttest/Makefile.variables b/inttest/Makefile.variables index 54c90211e2ba..536e099b538a 100644 --- a/inttest/Makefile.variables +++ b/inttest/Makefile.variables @@ -33,7 +33,6 @@ smoketests := \ check-configchange \ check-containerd-deprecations \ check-containerdimports \ - check-containerdupgrade \ check-cplb-ipvs \ check-cplb-ipvs-ipv6 \ check-cplb-userspace \ diff --git a/inttest/containerdupgrade/containerdupgrade_test.go b/inttest/containerdupgrade/containerdupgrade_test.go deleted file mode 100644 index 96d462b12ecc..000000000000 --- a/inttest/containerdupgrade/containerdupgrade_test.go +++ /dev/null @@ -1,428 +0,0 @@ -// SPDX-FileCopyrightText: 2026 k0s authors -// SPDX-License-Identifier: Apache-2.0 -package containerdupgrade - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "net/http" - "os/exec" - "path/filepath" - "regexp" - "strconv" - "strings" - "testing" - "time" - - "github.com/k0sproject/k0s/inttest/common" - kubeutil "github.com/k0sproject/k0s/pkg/kubernetes" - "github.com/k0sproject/k0s/pkg/kubernetes/watch" - "github.com/k0sproject/version" - "github.com/stretchr/testify/require" - "github.com/stretchr/testify/suite" - coordinationv1 "k8s.io/api/coordination/v1" - corev1 "k8s.io/api/core/v1" - rbacv1 "k8s.io/api/rbac/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/client-go/kubernetes" -) - -type ContainerdUpgradeSuite struct { - common.BootlooseSuite -} - -// TODO: Remove this test in k0s 1.37+ - -func (s *ContainerdUpgradeSuite) TestContainerdUpgrade() { - ctx := s.Context() - var kc *kubernetes.Clientset - var oldPIDs map[string]int - - nodeName := s.WorkerNode(0) - s.Run("controller_and_workers_get_up", func() { - s.Require().NoError(s.InitController(0)) - var err error - kc, err = s.KubeClient(s.ControllerNode(0)) - s.Require().NoError(err) - // Because we launch k0s control plane with 1.36, the 1.35 worker profile won't be created automatically. - // This is a hack but it's much faster and works for the test. - s.create1_35WorkerProfile(ctx, kc) - s.create1_35WorkerProfileRBAC(ctx, kc) - - // get the latest 1.35 stable release so that we start the node with containerd 1.7.x - s.downloadRelease(ctx, nodeName, s.getLast35Release(ctx)) - s.Require().NoError(s.RunWorkers()) - - s.Require().NoError(s.WaitForNodeReady(nodeName, kc)) - actual := s.getContainerdVersion(ctx, nodeName) - s.Require().Truef(strings.HasPrefix(actual, "1.7."), "Expected containerd 1.7.x, got %s", actual) - }) - - s.Run("launch_test_pods", func() { - for _, podName := range []string{"nginx-kill", "nginx-graceful"} { - _, err := kc.CoreV1().Pods(metav1.NamespaceDefault).Create(ctx, &corev1.Pod{ - TypeMeta: metav1.TypeMeta{Kind: "Pod", APIVersion: "v1"}, - ObjectMeta: metav1.ObjectMeta{Name: podName}, - Spec: corev1.PodSpec{ - Containers: []corev1.Container{{Name: "nginx", Image: "docker.io/library/nginx:1.31.2-alpine"}}, - }, - }, metav1.CreateOptions{}) - s.Require().NoError(err) - } - }) - - s.Run("gather_pids_before_upgrade", func() { - s.Require().NoError(common.WaitForPod(ctx, kc, "nginx-kill", metav1.NamespaceDefault), "nginx pod did not start") - s.Require().NoError(common.WaitForPod(ctx, kc, "nginx-graceful", metav1.NamespaceDefault), "nginx pod did not start") - oldPIDs = s.gatherPIDs(ctx, nodeName) - }) - - s.Run("add_containerd_v2_config", func() { - s.PutFile(nodeName, "/etc/k0s/containerd.d/v2.toml", "version = 2") - }) - - s.Run("upgrade_k0s_to_testing_version", func() { - expected := getContainerdVersion(s.T()) - s.Require().NoError(s.StopWorker(nodeName)) - s.upgradeContainerdToTesting(ctx, nodeName) - // k0s should exit after containerd upgrade because of the containerd v2 config - s.validateK0sExitAndCleanUpContainerdV2Conf(ctx, nodeName) - - // After removing it, it should start up again - s.Require().NoError(s.StartWorker(nodeName)) - - // Wait for the kubelet to re-appear. - var lastRenewTime *metav1.MicroTime - s.Require().NoError(watch.FromClient[*coordinationv1.LeaseList, coordinationv1.Lease](kc.CoordinationV1().Leases(corev1.NamespaceNodeLease)). - WithObjectName(nodeName). - WithErrorCallback(common.RetryWatchErrors(s.T().Logf)). - Until(ctx, func(lease *coordinationv1.Lease) (done bool, err error) { - if lease.Spec.RenewTime == nil || !kubeutil.IsValidLease(*lease) { - s.T().Logf("Lease is invalid: %#v", *lease) - return false, nil - } - - if lastRenewTime == nil { - lastRenewTime = lease.Spec.RenewTime - s.T().Logf("Waiting for renewal after %v", lastRenewTime) - return false, nil - } - - if !lastRenewTime.Before(lease.Spec.RenewTime) { - s.T().Logf("Still waiting for renewal after %v", lastRenewTime) - return false, nil - } - - return true, nil - })) - - actual := s.getContainerdVersion(ctx, nodeName) - s.Require().Equal(expected, actual, "Unexpected containerd version after upgrade") - }) - - s.Run("validate_no_restarts", func() { - newPIDs := s.gatherPIDs(ctx, nodeName) - s.Require().Equal(oldPIDs, newPIDs, "PIDs of running containers changed after containerd upgrade") - }) - - s.Run("gracefully_terminate_nginx_pod", func() { - s.Require().NoError(kc.CoreV1().Pods(metav1.NamespaceDefault).Delete(ctx, "nginx-graceful", metav1.DeleteOptions{})) - s.Require().NoError(wait.PollUntilContextCancel(ctx, 1*time.Second, false, func(ctx context.Context) (bool, error) { - _, err := kc.CoreV1().Pods(metav1.NamespaceDefault).Get(ctx, "nginx-graceful", metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - return true, nil - } - return false, err - })) - }) - - s.Run("force_kill_nginx_pod", func() { - s.forceKillNginx(ctx, nodeName) - s.Require().NoError(wait.PollUntilContextCancel(ctx, 1*time.Second, false, func(ctx context.Context) (bool, error) { - pod, err := kc.CoreV1().Pods(metav1.NamespaceDefault).Get(ctx, "nginx-kill", metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - return true, nil - } - if err != nil { - return false, err - } - return pod.Status.ContainerStatuses[0].RestartCount > 0, nil - })) - }) -} - -func (s *ContainerdUpgradeSuite) validateK0sExitAndCleanUpContainerdV2Conf(ctx context.Context, node string) { - ssh, err := s.SSH(ctx, node) - s.Require().NoError(err) - defer ssh.Disconnect() - - s.T().Log("waiting for k0s process to stop") - err = wait.PollUntilContextCancel(ctx, 1*time.Second, false, func(ctx context.Context) (bool, error) { - _, err := ssh.ExecWithOutput(ctx, "pgrep /usr/local/bin/k0s") - if err != nil { - return true, nil - } - return false, nil - }) - s.Require().NoError(err) - - s.T().Logf("k0s process exited") - - _, err = ssh.ExecWithOutput(ctx, "rm -f /etc/k0s/containerd.d/v2.toml") - s.Require().NoError(err) -} - -func (s *ContainerdUpgradeSuite) forceKillNginx(ctx context.Context, node string) { - ssh, err := s.SSH(ctx, node) - s.Require().NoError(err) - defer ssh.Disconnect() - - _, err = ssh.ExecWithOutput(ctx, "pkill -9 'nginx: master process nginx'") - s.Require().NoError(err) -} - -func (s *ContainerdUpgradeSuite) upgradeContainerdToTesting(ctx context.Context, node string) { - ssh, err := s.SSH(ctx, node) - s.Require().NoError(err) - defer ssh.Disconnect() - - _, err = ssh.ExecWithOutput(ctx, "rm -f /usr/local/bin/k0s") - s.Require().NoError(err) - _, err = ssh.ExecWithOutput(ctx, "mv /usr/local/bin/k0s-to-test /usr/local/bin/k0s") - s.Require().NoError(err) -} - -func getContainerdVersion(t *testing.T) string { - cmd := exec.Command("."+string(filepath.Separator)+"vars.sh", "containerd_version") - cmd.Dir = filepath.Join("..", "..") - out, err := cmd.Output() - require.NoError(t, err) - version, _, _ := bytes.Cut(out, []byte{'\n'}) - require.NotEmpty(t, version, "Failed to get containerd version") - return string(version) -} - -func (s *ContainerdUpgradeSuite) getContainerdVersion(ctx context.Context, nodeName string) string { - ssh, err := s.SSH(ctx, nodeName) - s.Require().NoError(err) - defer ssh.Disconnect() - - output, err := ssh.ExecWithOutput(ctx, "/var/lib/k0s/bin/containerd --version") - s.Require().NoError(err) - fields := strings.Fields(output) - s.Require().GreaterOrEqualf(len(fields), 3, "Not enough fields in containerd --version output: %v", output) - return fields[2] -} - -func (s *ContainerdUpgradeSuite) downloadRelease(ctx context.Context, node string, release string) { - ssh, err := s.SSH(ctx, node) - s.Require().NoError(err) - defer ssh.Disconnect() - - arch, err := ssh.ExecWithOutput(ctx, "uname -m") - s.Require().NoError(err) - switch arch { - case "x86_64": - arch = "amd64" - case "aarch64": - arch = "arm64" - case "armv7l": - arch = "arm" - default: - s.Failf("unsupported architecture: %s", arch) - } - - _, err = ssh.ExecWithOutput(ctx, "mv /usr/local/bin/k0s /usr/local/bin/k0s-to-test") - s.Require().NoError(err) - - url := fmt.Sprintf("https://github.com/k0sproject/k0s/releases/download/%s/k0s-%s-%s", release, release, arch) - - s.T().Logf("Downloading k0s release %s for architecture %s from URL: %s", release, arch, url) - _, err = ssh.ExecWithOutput(ctx, "wget -qO /usr/local/bin/k0s "+url) - s.Require().NoError(err) - - _, err = ssh.ExecWithOutput(ctx, "chmod +x /usr/local/bin/k0s") - s.Require().NoError(err) -} - -func (s *ContainerdUpgradeSuite) getLast35Release(ctx context.Context) string { - type Release struct { - Name string `json:"name"` - } - - url := "https://api.github.com/repos/k0sproject/k0s/releases?per_page=10" - - req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) - s.Require().NoError(err, "failed to create request") - - resp, err := http.DefaultClient.Do(req) - s.Require().NoError(err, "failed to fetch releases") - defer resp.Body.Close() - - s.Require().Equal(http.StatusOK, resp.StatusCode, "unexpected status code from GitHub API") - - var releases []Release - err = json.NewDecoder(resp.Body).Decode(&releases) - s.Require().NoError(err, "failed to decode releases response") - - constraint := version.MustConstraint(">=1.35.0, <1.36.1") - - var latestVersion *version.Version - var latestTag string - - for _, release := range releases { - ver := version.MustParse(release.Name) - if !constraint.Check(ver) { - continue - } - - if latestVersion == nil || ver.GreaterThan(latestVersion) { - latestVersion = ver - latestTag = release.Name - } - } - - s.Require().NotEmpty(latestTag, "no 1.35.x release found") - return latestTag -} - -func (s *ContainerdUpgradeSuite) gatherPIDs(ctx context.Context, name string) map[string]int { - type namespace struct { - Type string `json:"type"` - Path string `json:"path,omitempty"` - } - - type containerInfo struct { - Labels map[string]string `json:"Labels"` - Spec struct { - Linux struct { - Namespaces []namespace `json:"namespaces"` - } `json:"linux"` - } `json:"Spec"` - } - - ssh, err := s.SSH(ctx, name) - s.Require().NoError(err) - defer ssh.Disconnect() - - output, err := ssh.ExecWithOutput(ctx, "k0s ctr container list --quiet") - s.Require().NoError(err) - - pidMap := make(map[string]int) - - for _, containerID := range strings.Fields(output) { - infoOutput, err := ssh.ExecWithOutput(ctx, "k0s ctr container info "+containerID) - s.Require().NoError(err) - - var info containerInfo - s.Require().NoError(json.Unmarshal([]byte(infoOutput), &info)) - - // We cannot get the PID from sandbox containers - if info.Labels["io.cri-containerd.kind"] != "container" { - continue - } - - podName := info.Labels["io.kubernetes.pod.name"] - if !strings.HasPrefix(podName, "nginx-") { - continue - } - for _, ns := range info.Spec.Linux.Namespaces { - if m := regexp.MustCompile(`^/proc/(\d+)/ns/`).FindStringSubmatch(ns.Path); m != nil { - pid, err := strconv.Atoi(m[1]) - s.Require().NoError(err) - pidMap[podName] = pid - break - } - } - } - return pidMap -} - -func (s *ContainerdUpgradeSuite) create1_35WorkerProfile(ctx context.Context, kc *kubernetes.Clientset) { - var cm *corev1.ConfigMap - s.Require().NoError(wait.PollUntilContextCancel(ctx, 1*time.Second, true, func(ctx context.Context) (bool, error) { - var err error - cm, err = kc.CoreV1().ConfigMaps(metav1.NamespaceSystem).Get(ctx, "worker-config-default-1.36", metav1.GetOptions{}) - if apierrors.IsNotFound(err) { - return false, nil - } - return err == nil, err - })) - - newData := make(map[string]string, len(cm.Data)) - for k, v := range cm.Data { - newData[k] = strings.ReplaceAll(v, "1.36", "1.35") - } - - newLabels := make(map[string]string, len(cm.Labels)) - for k, v := range cm.Labels { - newLabels[k] = strings.ReplaceAll(v, "1.36", "1.35") - } - - _, err := kc.CoreV1().ConfigMaps(metav1.NamespaceSystem).Create(ctx, &corev1.ConfigMap{ - ObjectMeta: metav1.ObjectMeta{ - Name: "worker-config-default-1.35", - Namespace: metav1.NamespaceSystem, - Labels: newLabels, - }, - Data: newData, - }, metav1.CreateOptions{}) - s.Require().NoError(err) -} - -func (s *ContainerdUpgradeSuite) create1_35WorkerProfileRBAC(ctx context.Context, kc *kubernetes.Clientset) { - _, err := kc.RbacV1().Roles(metav1.NamespaceSystem).Create(ctx, &rbacv1.Role{ - ObjectMeta: metav1.ObjectMeta{ - Name: "system:bootstrappers:worker-config-1.35", - Namespace: metav1.NamespaceSystem, - }, - Rules: []rbacv1.PolicyRule{ - { - APIGroups: []string{""}, - ResourceNames: []string{"worker-config-default-1.35"}, - Resources: []string{"configmaps"}, - Verbs: []string{"get", "list", "watch"}, - }, - }, - }, metav1.CreateOptions{}) - s.Require().NoError(err) - - _, err = kc.RbacV1().RoleBindings(metav1.NamespaceSystem).Create(ctx, &rbacv1.RoleBinding{ - ObjectMeta: metav1.ObjectMeta{ - Name: "system:bootstrappers:worker-config-1.35", - Namespace: metav1.NamespaceSystem, - }, - RoleRef: rbacv1.RoleRef{ - APIGroup: "rbac.authorization.k8s.io", - Kind: "Role", - Name: "system:bootstrappers:worker-config-1.35", - }, - Subjects: []rbacv1.Subject{ - { - APIGroup: "rbac.authorization.k8s.io", - Kind: "Group", - Name: "system:bootstrappers", - }, - { - APIGroup: "rbac.authorization.k8s.io", - Kind: "Group", - Name: "system:nodes", - }, - }, - }, metav1.CreateOptions{}) - s.Require().NoError(err) -} - -func TestContainerdUpgradeSuite(t *testing.T) { - s := ContainerdUpgradeSuite{ - common.BootlooseSuite{ - ControllerCount: 1, - WorkerCount: 1, - }, - } - suite.Run(t, &s) -} diff --git a/inttest/extraargs/extraargs_test.go b/inttest/extraargs/extraargs_test.go index 8296dd78e1f6..b170a31486e4 100644 --- a/inttest/extraargs/extraargs_test.go +++ b/inttest/extraargs/extraargs_test.go @@ -23,41 +23,41 @@ func (s *ExtraArgsSuite) TestK0sGetsUp() { ctx := s.Context() s.PutFile(s.ControllerNode(0), "/tmp/k0s.yaml", k0sConfig) - s.NoError(s.InitController(0, "--config=/tmp/k0s.yaml")) + s.Require().NoError(s.InitController(0, "--config=/tmp/k0s.yaml")) - s.NoError(s.RunWorkers()) + s.Require().NoError(s.RunWorkers()) kc, err := s.KubeClient(s.ControllerNode(0)) s.Require().NoError(err) err = s.WaitForNodeReady(s.WorkerNode(0), kc) - s.NoError(err) + s.Require().NoError(err) s.AssertSomeKubeSystemPods(kc) sshCtrl, err := s.SSH(ctx, s.ControllerNode(0)) + s.Require().NoError(err) defer sshCtrl.Disconnect() - s.NoError(err) s.checkFlag(sshCtrl, "/var/lib/k0s/bin/kube-apiserver", "--disable-admission-plugins=PodSecurity") s.checkFlag(sshCtrl, "/var/lib/k0s/bin/kube-controller-manager", "--terminated-pod-gc-threshold=1000") - s.checkFlag(sshCtrl, "/var/lib/k0s/bin/kube-controller-manager", "--concurrent-service-syncs=5") + s.checkFlag(sshCtrl, "/var/lib/k0s/bin/kube-controller-manager", "--concurrent-deployment-syncs=6") s.checkFlag(sshCtrl, "/var/lib/k0s/bin/kube-scheduler", "--v=4") s.checkFlag(sshCtrl, "/var/lib/k0s/bin/kube-scheduler", "--bind-address=0.0.0.0") s.checkFlag(sshCtrl, "/var/lib/k0s/bin/etcd", "--log-level=warn") s.checkFlagCount(sshCtrl, "/var/lib/k0s/bin/etcd", "--logger=zap", 3) sshWorker, err := s.SSH(ctx, s.WorkerNode(0)) + s.Require().NoError(err) defer sshWorker.Disconnect() - s.NoError(err) s.T().Log("waiting to see kube-proxy pods ready") - s.NoError(common.WaitForDaemonSet(ctx, kc, "kube-proxy", metav1.NamespaceSystem), "kube-proxy did not start") + s.Require().NoError(common.WaitForDaemonSet(ctx, kc, "kube-proxy", metav1.NamespaceSystem), "kube-proxy did not start") s.checkFlag(sshWorker, "/usr/local/bin/kube-proxy", "--config-sync-period=12m0s") s.checkFlag(sshWorker, "/usr/local/bin/kube-proxy", "-v=2") s.T().Log("waiting to see kube-router pods ready") - s.NoError(common.WaitForKubeRouterReady(ctx, kc), "kube-router did not start") + s.Require().NoError(common.WaitForKubeRouterReady(ctx, kc), "kube-router did not start") s.checkFlag(sshWorker, "kube-router", "--enable-cni=true") s.checkFlag(sshWorker, "kube-router", "-v=0") } @@ -65,12 +65,12 @@ func (s *ExtraArgsSuite) TestK0sGetsUp() { func (s *ExtraArgsSuite) checkFlagCount(ssh *common.SSHConnection, processName string, flag string, expectedCount int) { s.T().Logf("Checking flag %s in process %s", flag, processName) pid, err := ssh.ExecWithOutput(s.Context(), "/usr/bin/pgrep "+processName) - s.NoError(err) + s.Require().NoError(err) flagCount, err := ssh.ExecWithOutput(s.Context(), fmt.Sprintf("/bin/grep -c -- %s /proc/%s/cmdline", flag, pid)) // If there are no flags, grep returns 1, so we need to ignore this error. Checking the output should beenough. if expectedCount > 0 { - s.NoError(err) + s.Require().NoError(err) } if flagCount != strconv.Itoa(expectedCount) { s.T().Fatalf("%s flag %s found %s, expected %d", processName, flag, flagCount, expectedCount) @@ -104,7 +104,7 @@ spec: extraArgs: terminated-pod-gc-threshold: "1000" rawArgs: - - --concurrent-service-syncs=5 + - --concurrent-deployment-syncs=6 scheduler: extraArgs: v: "4" diff --git a/pkg/apis/k0s/v1beta1/kubeproxy.go b/pkg/apis/k0s/v1beta1/kubeproxy.go index d984278319ce..f9db032e4385 100644 --- a/pkg/apis/k0s/v1beta1/kubeproxy.go +++ b/pkg/apis/k0s/v1beta1/kubeproxy.go @@ -54,7 +54,7 @@ type KubeProxy struct { } // KubeProxyIPTablesConfiguration contains iptables-related kube-proxy configuration -// @see https://github.com/kubernetes/kube-proxy/blob/v0.36.1/config/v1alpha1/types.go#L27-L48 +// @see https://github.com/kubernetes/kube-proxy/blob/v0.37.0-alpha.1/config/v1alpha1/types.go#L27-L48 type KubeProxyIPTablesConfiguration struct { MasqueradeBit *int32 `json:"masqueradeBit,omitempty"` MasqueradeAll bool `json:"masqueradeAll,omitempty"` @@ -66,7 +66,7 @@ type KubeProxyIPTablesConfiguration struct { } // KubeProxyIPVSConfiguration contains ipvs-related kube-proxy configuration -// @see https://github.com/kubernetes/kube-proxy/blob/v0.36.1/config/v1alpha1/types.go#L52-L78 +// @see https://github.com/kubernetes/kube-proxy/blob/v0.37.0-alpha.1/config/v1alpha1/types.go#L52-L78 type KubeProxyIPVSConfiguration struct { // +optional SyncPeriod metav1.Duration `json:"syncPeriod"` @@ -84,7 +84,7 @@ type KubeProxyIPVSConfiguration struct { } // KubeProxyNFTablesConfiguration contains nftables-related kube-proxy configuration -// @see https://github.com/kubernetes/kube-proxy/blob/v0.36.1/config/v1alpha1/types.go#L82-L97 +// @see https://github.com/kubernetes/kube-proxy/blob/v0.37.0-alpha.1/config/v1alpha1/types.go#L82-L97 type KubeProxyNFTablesConfiguration struct { // +optional SyncPeriod metav1.Duration `json:"syncPeriod"` diff --git a/pkg/apis/k0s/v1beta1/network.go b/pkg/apis/k0s/v1beta1/network.go index 7023c9f6c08d..74933cf67386 100644 --- a/pkg/apis/k0s/v1beta1/network.go +++ b/pkg/apis/k0s/v1beta1/network.go @@ -117,7 +117,7 @@ func (n *Network) Validate() []error { } // Validate IPv6 ServiceCIDR prefix length per Kubernetes requirements (<= /108). - // https://github.com/kubernetes/kubernetes/blob/v1.34.3/cmd/kube-apiserver/app/options/validation.go#L52-L58 + // https://github.com/kubernetes/kubernetes/blob/v1.37.0-alpha.1/cmd/kube-apiserver/app/options/validation.go#L52-L58 if serviceNetIP.To4() == nil { ones, bits := serviceNet.Mask.Size() if bits == 128 && ones > 108 { @@ -154,7 +154,7 @@ func (n *Network) Validate() []error { } else { ones, bits := ipv6SvcNet.Mask.Size() - // https://github.com/kubernetes/kubernetes/blob/v1.34.3/cmd/kube-apiserver/app/options/validation.go#L39 + // https://github.com/kubernetes/kubernetes/blob/v1.37.0-alpha.1/cmd/kube-apiserver/app/options/validation.go#L39 maxCIDRBits := 20 if bits-ones > maxCIDRBits { errors = append(errors, field.Invalid(field.NewPath("dualStack", "IPv6serviceCIDR"), n.DualStack.IPv6ServiceCIDR, "IPv6 service CIDR prefix must be <= 108")) diff --git a/pkg/component/controller/workerconfig/reconciler_test.go b/pkg/component/controller/workerconfig/reconciler_test.go index e70036209f3d..97d5242075b0 100644 --- a/pkg/component/controller/workerconfig/reconciler_test.go +++ b/pkg/component/controller/workerconfig/reconciler_test.go @@ -385,28 +385,28 @@ func TestReconciler_ResourceGeneration(t *testing.T) { })) expectedConfigMaps := map[string]func(expected *kubeletConfig){ - "worker-config-default-1.36": func(expected *kubeletConfig) { + "worker-config-default-1.37": func(expected *kubeletConfig) { expected.FeatureGates = map[string]bool{"kubelet-feature": true} }, - "worker-config-default-windows-1.36": func(expected *kubeletConfig) { + "worker-config-default-windows-1.37": func(expected *kubeletConfig) { expected.CgroupsPerQOS = ptr.To(false) expected.FeatureGates = map[string]bool{"kubelet-feature": true} expected.KubeletCgroups = "" expected.KubeReservedCgroup = "" }, - "worker-config-profile_XXX-1.36": func(expected *kubeletConfig) { + "worker-config-profile_XXX-1.37": func(expected *kubeletConfig) { expected.Authentication.Anonymous.Enabled = ptr.To(true) expected.FeatureGates = map[string]bool{"kubelet-feature": true} }, - "worker-config-profile_YYY-1.36": func(expected *kubeletConfig) { + "worker-config-profile_YYY-1.37": func(expected *kubeletConfig) { expected.Authentication.Webhook.CacheTTL = metav1.Duration{Duration: 15 * time.Second} expected.FeatureGates = map[string]bool{"kubelet-feature": true} }, - "worker-config-profile_ZZZ-1.36": func(expected *kubeletConfig) { + "worker-config-profile_ZZZ-1.37": func(expected *kubeletConfig) { expected.CgroupsPerQOS = ptr.To(false) expected.FeatureGates = map[string]bool{"kubelet-feature": true} expected.KubeletCgroups = "" diff --git a/pkg/component/worker/kubelet.go b/pkg/component/worker/kubelet.go index 716e4d286305..07a100d009c0 100644 --- a/pkg/component/worker/kubelet.go +++ b/pkg/component/worker/kubelet.go @@ -118,7 +118,7 @@ func (k *Kubelet) Start(ctx context.Context) error { // Kubelet uses a DNS lookup of the node name to figure out the node IP, // but will only pick one for a single family. Do something similar as // kubelet, but for both IPv4 and IPv6. - // https://github.com/kubernetes/kubernetes/blob/v1.36.1/pkg/kubelet/nodestatus/setters.go#L151-L179 + // https://github.com/kubernetes/kubernetes/blob/v1.37.0-alpha.1/pkg/kubelet/nodestatus/setters.go#L151-L179 ipv4, ipv6, err := k.lookupNodeName(ctx) if err == nil && (ipv4 == nil || ipv6 == nil) { err = fmt.Errorf("node name IP address lookup didn't return addresses for both families: IPv4: %s, IPv6: %s", ipv4, ipv6) diff --git a/pkg/constant/constant.go b/pkg/constant/constant.go index bb0101b4a42d..ef6f09ae8f72 100644 --- a/pkg/constant/constant.go +++ b/pkg/constant/constant.go @@ -63,7 +63,7 @@ const ( KeepalivedUser = "keepalived" // KubernetesMajorMinorVersion defines the current embedded major.minor version info - KubernetesMajorMinorVersion = "1.36" + KubernetesMajorMinorVersion = "1.37" /* Image Constants */ @@ -78,9 +78,9 @@ const ( KubePauseWindowsContainerImage = "registry.k8s.io/pause" KubePauseWindowsContainerImageVersion = "3.10.1" KubeProxyImage = "quay.io/k0sproject/kube-proxy" - KubeProxyImageVersion = "v1.36.1" + KubeProxyImageVersion = "v1.37.0-alpha.1" KubeProxyWindowsImage = "docker.io/sigwindowstools/kube-proxy" - KubeProxyWindowsImageVersion = "v1.36.1-calico-hostprocess" + KubeProxyWindowsImageVersion = "v1.37.0-alpha.1-calico-hostprocess" CoreDNSImage = "quay.io/k0sproject/coredns" CoreDNSImageVersion = "1.14.3-k0s.0" EnvoyProxyImage = "quay.io/k0sproject/envoy-distroless" diff --git a/renovate.json b/renovate.json index fa5ab0520f36..3f594e81bedd 100644 --- a/renovate.json +++ b/renovate.json @@ -80,6 +80,7 @@ "k8s.io/controller-manager", "k8s.io/cri-api", "k8s.io/cri-client", + "k8s.io/cri-streaming", "k8s.io/csi-translation-lib", "k8s.io/dynamic-resource-allocation", "k8s.io/endpointslice", @@ -96,7 +97,8 @@ "k8s.io/pod-security-admission", "k8s.io/sample-apiserver", "k8s.io/sample-cli-plugin", - "k8s.io/sample-controller" + "k8s.io/sample-controller", + "k8s.io/streaming" ], "allowedVersions": "/^v0\\./" }, diff --git a/static/_crds/k0s/k0s.k0sproject.io_clusterconfigs.yaml b/static/_crds/k0s/k0s.k0sproject.io_clusterconfigs.yaml index 82bd0809d779..aefca9a95e71 100644 --- a/static/_crds/k0s/k0s.k0sproject.io_clusterconfigs.yaml +++ b/static/_crds/k0s/k0s.k0sproject.io_clusterconfigs.yaml @@ -968,7 +968,7 @@ spec: iptables: description: |- KubeProxyIPTablesConfiguration contains iptables-related kube-proxy configuration - @see https://github.com/kubernetes/kube-proxy/blob/v0.36.1/config/v1alpha1/types.go#L27-L48 + @see https://github.com/kubernetes/kube-proxy/blob/v0.37.0-alpha.1/config/v1alpha1/types.go#L27-L48 properties: localhostNodePorts: type: boolean @@ -985,7 +985,7 @@ spec: ipvs: description: |- KubeProxyIPVSConfiguration contains ipvs-related kube-proxy configuration - @see https://github.com/kubernetes/kube-proxy/blob/v0.36.1/config/v1alpha1/types.go#L52-L78 + @see https://github.com/kubernetes/kube-proxy/blob/v0.37.0-alpha.1/config/v1alpha1/types.go#L52-L78 properties: excludeCIDRs: items: @@ -1016,7 +1016,7 @@ spec: nftables: description: |- KubeProxyNFTablesConfiguration contains nftables-related kube-proxy configuration - @see https://github.com/kubernetes/kube-proxy/blob/v0.36.1/config/v1alpha1/types.go#L82-L97 + @see https://github.com/kubernetes/kube-proxy/blob/v0.37.0-alpha.1/config/v1alpha1/types.go#L82-L97 properties: masqueradeAll: type: boolean