Skip to content

fix(deps): Update k8s.io/apimachinery to v0.36.1 (main)#21708

Merged
rfratto merged 1 commit into
mainfrom
deps-update/main-k8s.ioapimachinery
Jun 12, 2026
Merged

fix(deps): Update k8s.io/apimachinery to v0.36.1 (main)#21708
rfratto merged 1 commit into
mainfrom
deps-update/main-k8s.ioapimachinery

Conversation

@renovate-sh-app

@renovate-sh-app renovate-sh-app Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
k8s.io/apimachinery v0.35.4v0.36.1 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

kubernetes/apimachinery (k8s.io/apimachinery)

v0.36.1

Compare Source

v0.36.0

Compare Source

v0.35.6

Compare Source

v0.35.5

Compare Source


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

Need help?

You can ask for more help in the following Slack channel: #proj-renovate-self-hosted. In that channel you can also find ADR and FAQ docs in the Resources section.

@renovate-sh-app renovate-sh-app Bot requested a review from a team as a code owner April 25, 2026 19:06
@renovate-sh-app renovate-sh-app Bot added dependencies Pull requests that update a dependency file update-minor labels Apr 25, 2026
@renovate-sh-app

renovate-sh-app Bot commented Apr 25, 2026

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 4 additional dependencies were updated

Details:

Package Change
google.golang.org/protobuf v1.36.11 -> v1.36.12-0.20260120151049-f2248ac996af
k8s.io/utils v0.0.0-20251218160917-61b37f7a4624 -> v0.0.0-20260210185600-b8788abfbbc2
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 -> v6.3.2
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 -> v0.0.0-20260317180543-43fb72c5454a

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix prepared fixes for both issues found in the latest run.

  • ✅ Fixed: Kubernetes module family version skew may cause incompatibilities
    • Aligned the root Kubernetes module set on v0.35.4 so apimachinery, client-go, and api resolve to the same patch family.
  • ✅ Fixed: Protobuf pinned to unstable pre-release devel pseudo-version
    • Replaced the protobuf devel pseudo-version with the stable v1.36.11 release and regenerated vendored dependencies.

Create PR

Or push these changes by commenting:

@cursor push 24c11de3ab
Preview (24c11de3ab)
diff --git a/go.mod b/go.mod
--- a/go.mod
+++ b/go.mod
@@ -143,9 +143,9 @@
 	go.yaml.in/yaml/v3 v3.0.4
 	go4.org/netipx v0.0.0-20230125063823-8449b0a6169f
 	golang.org/x/text v0.36.0
-	google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af
+	google.golang.org/protobuf v1.36.11
 	gotest.tools v2.2.0+incompatible
-	k8s.io/apimachinery v0.36.0
+	k8s.io/apimachinery v0.35.4
 	k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2
 	zombiezen.com/go/sqlite v1.4.2
 )
@@ -440,7 +440,7 @@
 	google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d
 	gopkg.in/inf.v0 v0.9.1 // indirect
-	k8s.io/client-go v0.35.3 // indirect
+	k8s.io/client-go v0.35.4 // indirect
 	k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
 	sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
 	sigs.k8s.io/yaml v1.6.0 // indirect

diff --git a/go.sum b/go.sum
--- a/go.sum
+++ b/go.sum
@@ -773,8 +773,8 @@
 github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
 github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
 github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
-github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
-github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
+github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
+github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k=
 github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.148.0 h1:CiTjQE/Hh5xK2t56ogrDK4nl0+tJPNmASCs4zEYZ/xU=
 github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.148.0/go.mod h1:WUFkzTiOpt7EYyL67gv1GOf3RD8qKWGtin3lY9LYzW4=
 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.148.0 h1:1TLg6YrS3Au6F7xw3ws2Njbwj13IMqPplvGFi+18fWs=
@@ -1290,8 +1290,8 @@
 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI=
-google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
+google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
+google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -1320,12 +1320,12 @@
 gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
 gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
 gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
-k8s.io/api v0.35.3 h1:pA2fiBc6+N9PDf7SAiluKGEBuScsTzd2uYBkA5RzNWQ=
-k8s.io/api v0.35.3/go.mod h1:9Y9tkBcFwKNq2sxwZTQh1Njh9qHl81D0As56tu42GA4=
-k8s.io/apimachinery v0.36.0 h1:jZyPzhd5Z+3h9vJLt0z9XdzW9VzNzWAUw+P1xZ9PXtQ=
-k8s.io/apimachinery v0.36.0/go.mod h1:FklypaRJt6n5wUIwWXIP6GJlIpUizTgfo1T/As+Tyxc=
-k8s.io/client-go v0.35.3 h1:s1lZbpN4uI6IxeTM2cpdtrwHcSOBML1ODNTCCfsP1pg=
-k8s.io/client-go v0.35.3/go.mod h1:RzoXkc0mzpWIDvBrRnD+VlfXP+lRzqQjCmKtiwZ8Q9c=
+k8s.io/api v0.35.4 h1:P7nFYKl5vo9AGUp1Z+Pmd3p2tA7bX2wbFWCvDeRv988=
+k8s.io/api v0.35.4/go.mod h1:yl4lqySWOgYJJf9RERXKUwE9g2y+CkuwG+xmcOK8wXU=
+k8s.io/apimachinery v0.35.4 h1:xtdom9RG7e+yDp71uoXoJDWEE2eOiHgeO4GdBzwWpds=
+k8s.io/apimachinery v0.35.4/go.mod h1:NNi1taPOpep0jOj+oRha3mBJPqvi0hGdaV8TCqGQ+cc=
+k8s.io/client-go v0.35.4 h1:DN6fyaGuzK64UvnKO5fOA6ymSjvfGAnCAHAR0C66kD8=
+k8s.io/client-go v0.35.4/go.mod h1:2Pg9WpsS4NeOpoYTfHHfMxBG8zFMSAUi4O/qoiJC3nY=
 k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
 k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
 k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg=

diff --git a/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go b/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go
--- a/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go
+++ b/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go
@@ -10,7 +10,6 @@
 	"encoding/binary"
 	"fmt"
 	"io"
-	"math"
 
 	"google.golang.org/protobuf/encoding/protowire"
 	"google.golang.org/protobuf/internal/errors"
@@ -118,13 +117,7 @@
 	if maxSize == 0 {
 		maxSize = defaultMaxSize
 	}
-	if maxSize == -1 {
-		// No limit specified: Just check that size fits into an integer,
-		// otherwise the make([]byte, size) call below will panic.
-		if size > math.MaxInt {
-			return errors.Wrap(&SizeTooLargeError{Size: size, MaxSize: math.MaxInt}, "")
-		}
-	} else if size > uint64(maxSize) {
+	if maxSize != -1 && size > uint64(maxSize) {
 		return errors.Wrap(&SizeTooLargeError{Size: size, MaxSize: uint64(maxSize)}, "")
 	}
 

diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/decode.go b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
--- a/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/decode.go
@@ -365,10 +365,6 @@
 		if err != nil {
 			return protoreflect.Value{}, false
 		}
-		// Ensure there is no non-number content in this string.
-		if next, err := dec.Read(); err != nil || next.Kind() != json.EOF {
-			return protoreflect.Value{}, false
-		}
 		return getInt(tok, bitSize)
 	}
 	return protoreflect.Value{}, false
@@ -401,10 +397,6 @@
 		if err != nil {
 			return protoreflect.Value{}, false
 		}
-		// Ensure there is no non-number content in this string.
-		if next, err := dec.Read(); err != nil || next.Kind() != json.EOF {
-			return protoreflect.Value{}, false
-		}
 		return getUint(tok, bitSize)
 	}
 	return protoreflect.Value{}, false
@@ -455,10 +447,6 @@
 		if err != nil {
 			return protoreflect.Value{}, false
 		}
-		// Ensure there is no non-number content in this string.
-		if next, err := dec.Read(); err != nil || next.Kind() != json.EOF {
-			return protoreflect.Value{}, false
-		}
 		return getFloat(tok, bitSize)
 	}
 	return protoreflect.Value{}, false

diff --git a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
--- a/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
+++ b/vendor/google.golang.org/protobuf/encoding/protojson/well_known_types.go
@@ -52,10 +52,7 @@
 		case genid.FieldMask_message_name:
 			return encoder.marshalFieldMask
 		case genid.Empty_message_name:
-			// The spec explicitly specifies that the Empty message
-			// is not considered to have any special JSON mapping:
-			// https://protobuf.dev/programming-guides/json/#any
-			return nil
+			return encoder.marshalEmpty
 		}
 	}
 	return nil

diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/decode.go b/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
--- a/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
+++ b/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
@@ -8,7 +8,6 @@
 	"fmt"
 	"unicode/utf8"
 
-	"google.golang.org/protobuf/encoding/protowire"
 	"google.golang.org/protobuf/internal/encoding/messageset"
 	"google.golang.org/protobuf/internal/encoding/text"
 	"google.golang.org/protobuf/internal/errors"
@@ -50,19 +49,12 @@
 		protoregistry.MessageTypeResolver
 		protoregistry.ExtensionTypeResolver
 	}
-
-	// RecursionLimit limits how deeply messages may be nested.
-	// If zero, a default limit is applied.
-	RecursionLimit int
 }
 
 // Unmarshal reads the given []byte and populates the given [proto.Message]
 // using options in the UnmarshalOptions object.
 // The provided message must be mutable (e.g., a non-nil pointer to a message).
 func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error {
-	if o.RecursionLimit == 0 {
-		o.RecursionLimit = protowire.DefaultRecursionLimit
-	}
 	return o.unmarshal(b, m)
 }
 
@@ -110,14 +102,8 @@
 	return errors.New(head+f, x...)
 }
 
-var errRecursionDepth = errors.New("exceeded maximum recursion depth")
-
 // unmarshalMessage unmarshals into the given protoreflect.Message.
 func (d decoder) unmarshalMessage(m protoreflect.Message, checkDelims bool) error {
-	if d.opts.RecursionLimit--; d.opts.RecursionLimit < 0 {
-		return errRecursionDepth
-	}
-
 	messageDesc := m.Descriptor()
 	if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) {
 		return errors.New("no support for proto1 MessageSets")
@@ -451,10 +437,6 @@
 // unmarshalMap unmarshals into given protoreflect.Map. A map value is a
 // textproto message containing {key: <kvalue>, value: <mvalue>}.
 func (d decoder) unmarshalMap(fd protoreflect.FieldDescriptor, mmap protoreflect.Map) error {
-	if d.opts.RecursionLimit--; d.opts.RecursionLimit < 0 {
-		return errRecursionDepth
-	}
-
 	// Determine ahead whether map entry is a scalar type or a message type in
 	// order to call the appropriate unmarshalMapValue func inside
 	// unmarshalMapEntry.

diff --git a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
--- a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
+++ b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
@@ -83,13 +83,12 @@
 	case protoreflect.FileImports:
 		for i := 0; i < vs.Len(); i++ {
 			var rs records
-			fi := vs.Get(i)
-			rv := reflect.ValueOf(fi)
-			rs.Append(rv, []attrAndName{
-				{fi.Path(), "Path"},
-				{fi.Package(), "Package"},
-				{fi.IsPublic, "IsPublic"},
-				{fi.IsWeak, "IsWeak"},
+			rv := reflect.ValueOf(vs.Get(i))
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Path"), "Path"},
+				{rv.MethodByName("Package"), "Package"},
+				{rv.MethodByName("IsPublic"), "IsPublic"},
+				{rv.MethodByName("IsWeak"), "IsWeak"},
 			}...)
 			ss = append(ss, "{"+rs.Join()+"}")
 		}
@@ -105,9 +104,9 @@
 	}
 }
 
-type attrAndName struct {
-	attr any
-	name string
+type methodAndName struct {
+	method reflect.Value
+	name   string
 }
 
 func FormatDesc(s fmt.State, r rune, t protoreflect.Descriptor) {
@@ -127,58 +126,58 @@
 		start = rt.Name() + "{"
 	}
 
-	fd, isFile := t.(protoreflect.FileDescriptor)
+	_, isFile := t.(protoreflect.FileDescriptor)
 	rs := records{
 		allowMulti: allowMulti,
 		record:     record,
 	}
 	if t.IsPlaceholder() {
 		if isFile {
-			rs.Append(rv, []attrAndName{
-				{fd.Path(), "Path"},
-				{fd.Package(), "Package"},
-				{fd.IsPlaceholder(), "IsPlaceholder"},
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Path"), "Path"},
+				{rv.MethodByName("Package"), "Package"},
+				{rv.MethodByName("IsPlaceholder"), "IsPlaceholder"},
 			}...)
 		} else {
-			rs.Append(rv, []attrAndName{
-				{t.FullName(), "FullName"},
-				{t.IsPlaceholder(), "IsPlaceholder"},
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("FullName"), "FullName"},
+				{rv.MethodByName("IsPlaceholder"), "IsPlaceholder"},
 			}...)
 		}
 	} else {
 		switch {
 		case isFile:
-			rs.Append(rv, attrAndName{fd.Syntax(), "Syntax"})
+			rs.Append(rv, methodAndName{rv.MethodByName("Syntax"), "Syntax"})
 		case isRoot:
-			rs.Append(rv, []attrAndName{
-				{t.Syntax(), "Syntax"},
-				{t.FullName(), "FullName"},
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Syntax"), "Syntax"},
+				{rv.MethodByName("FullName"), "FullName"},
 			}...)
 		default:
-			rs.Append(rv, attrAndName{t.Name(), "Name"})
+			rs.Append(rv, methodAndName{rv.MethodByName("Name"), "Name"})
 		}
 		switch t := t.(type) {
 		case protoreflect.FieldDescriptor:
-			accessors := []attrAndName{
-				{t.Number(), "Number"},
-				{t.Cardinality(), "Cardinality"},
-				{t.Kind(), "Kind"},
-				{t.HasJSONName(), "HasJSONName"},
-				{t.JSONName(), "JSONName"},
-				{t.HasPresence(), "HasPresence"},
-				{t.IsExtension(), "IsExtension"},
-				{t.IsPacked(), "IsPacked"},
-				{t.IsWeak(), "IsWeak"},
-				{t.IsList(), "IsList"},
-				{t.IsMap(), "IsMap"},
-				{t.MapKey(), "MapKey"},
-				{t.MapValue(), "MapValue"},
-				{t.HasDefault(), "HasDefault"},
-				{t.Default(), "Default"},
-				{t.ContainingOneof(), "ContainingOneof"},
-				{t.ContainingMessage(), "ContainingMessage"},
-				{t.Message(), "Message"},
-				{t.Enum(), "Enum"},
+			accessors := []methodAndName{
+				{rv.MethodByName("Number"), "Number"},
+				{rv.MethodByName("Cardinality"), "Cardinality"},
+				{rv.MethodByName("Kind"), "Kind"},
+				{rv.MethodByName("HasJSONName"), "HasJSONName"},
+				{rv.MethodByName("JSONName"), "JSONName"},
+				{rv.MethodByName("HasPresence"), "HasPresence"},
+				{rv.MethodByName("IsExtension"), "IsExtension"},
+				{rv.MethodByName("IsPacked"), "IsPacked"},
+				{rv.MethodByName("IsWeak"), "IsWeak"},
+				{rv.MethodByName("IsList"), "IsList"},
+				{rv.MethodByName("IsMap"), "IsMap"},
+				{rv.MethodByName("MapKey"), "MapKey"},
+				{rv.MethodByName("MapValue"), "MapValue"},
+				{rv.MethodByName("HasDefault"), "HasDefault"},
+				{rv.MethodByName("Default"), "Default"},
+				{rv.MethodByName("ContainingOneof"), "ContainingOneof"},
+				{rv.MethodByName("ContainingMessage"), "ContainingMessage"},
+				{rv.MethodByName("Message"), "Message"},
+				{rv.MethodByName("Enum"), "Enum"},
 			}
 			for _, s := range accessors {
 				switch s.name {
@@ -224,54 +223,58 @@
 			}
 
 		case protoreflect.FileDescriptor:
-			rs.Append(rv, []attrAndName{
-				{t.Path(), "Path"},
-				{t.Package(), "Package"},
-				{t.Imports(), "Imports"},
-				{t.Messages(), "Messages"},
-				{t.Enums(), "Enums"},
-				{t.Extensions(), "Extensions"},
-				{t.Services(), "Services"},
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Path"), "Path"},
+				{rv.MethodByName("Package"), "Package"},
+				{rv.MethodByName("Imports"), "Imports"},
+				{rv.MethodByName("Messages"), "Messages"},
+				{rv.MethodByName("Enums"), "Enums"},
+				{rv.MethodByName("Extensions"), "Extensions"},
+				{rv.MethodByName("Services"), "Services"},
 			}...)
 
 		case protoreflect.MessageDescriptor:
-			rs.Append(rv, []attrAndName{
-				{t.IsMapEntry(), "IsMapEntry"},
-				{t.Fields(), "Fields"},
-				{t.Oneofs(), "Oneofs"},
-				{t.ReservedNames(), "ReservedNames"},
-				{t.ReservedRanges(), "ReservedRanges"},
-				{t.RequiredNumbers(), "RequiredNumbers"},
-				{t.ExtensionRanges(), "ExtensionRanges"},
-				{t.Messages(), "Messages"},
-				{t.Enums(), "Enums"},
-				{t.Extensions(), "Extensions"},
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("IsMapEntry"), "IsMapEntry"},
+				{rv.MethodByName("Fields"), "Fields"},
+				{rv.MethodByName("Oneofs"), "Oneofs"},
+				{rv.MethodByName("ReservedNames"), "ReservedNames"},
+				{rv.MethodByName("ReservedRanges"), "ReservedRanges"},
+				{rv.MethodByName("RequiredNumbers"), "RequiredNumbers"},
+				{rv.MethodByName("ExtensionRanges"), "ExtensionRanges"},
+				{rv.MethodByName("Messages"), "Messages"},
+				{rv.MethodByName("Enums"), "Enums"},
+				{rv.MethodByName("Extensions"), "Extensions"},
 			}...)
 
 		case protoreflect.EnumDescriptor:
-			rs.Append(rv, []attrAndName{
-				{t.Values(), "Values"},
-				{t.ReservedNames(), "ReservedNames"},
-				{t.ReservedRanges(), "ReservedRanges"},
-				{t.IsClosed(), "IsClosed"},
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Values"), "Values"},
+				{rv.MethodByName("ReservedNames"), "ReservedNames"},
+				{rv.MethodByName("ReservedRanges"), "ReservedRanges"},
+				{rv.MethodByName("IsClosed"), "IsClosed"},
 			}...)
 
 		case protoreflect.EnumValueDescriptor:
-			rs.Append(rv, attrAndName{t.Number(), "Number"})
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Number"), "Number"},
+			}...)
 
 		case protoreflect.ServiceDescriptor:
-			rs.Append(rv, attrAndName{t.Methods(), "Methods"})
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Methods"), "Methods"},
+			}...)
 
 		case protoreflect.MethodDescriptor:
-			rs.Append(rv, []attrAndName{
-				{t.Input(), "Input"},
-				{t.Output(), "Output"},
-				{t.IsStreamingClient(), "IsStreamingClient"},
-				{t.IsStreamingServer(), "IsStreamingServer"},
+			rs.Append(rv, []methodAndName{
+				{rv.MethodByName("Input"), "Input"},
+				{rv.MethodByName("Output"), "Output"},
+				{rv.MethodByName("IsStreamingClient"), "IsStreamingClient"},
+				{rv.MethodByName("IsStreamingServer"), "IsStreamingServer"},
 			}...)
 		}
-		if m, ok := t.(interface{ GoType() reflect.Type }); ok {
-			rs.Append(rv, attrAndName{m.GoType(), "GoType"})
+		if m := rv.MethodByName("GoType"); m.IsValid() {
+			rs.Append(rv, methodAndName{m, "GoType"})
 		}
 	}
 	return start + rs.Join() + end
@@ -294,66 +297,68 @@
 	rs.recs = append(rs.recs, newRecs)
 }
 
-func (rs *records) Append(v reflect.Value, results ...attrAndName) {
-	for _, r := range results {
-		rs.appendAttribute(v, r.name, r.attr)
-	}
-}
+func (rs *records) Append(v reflect.Value, accessors ...methodAndName) {
+	for _, a := range accessors {
+		if rs.record != nil {
+			rs.record(a.name)
+		}
+		var rv reflect.Value
+		if a.method.IsValid() {
+			rv = a.method.Call(nil)[0]
+		}
+		if v.Kind() == reflect.Struct && !rv.IsValid() {
+			rv = v.FieldByName(a.name)
+		}
+		if !rv.IsValid() {
+			panic(fmt.Sprintf("unknown accessor: %v.%s", v.Type(), a.name))
+		}
+		if _, ok := rv.Interface().(protoreflect.Value); ok {
+			rv = rv.MethodByName("Interface").Call(nil)[0]
+			if !rv.IsNil() {
+				rv = rv.Elem()
+			}
+		}
 
-func (rs *records) appendAttribute(val reflect.Value, name string, attrVal any) {
-	if rs.record != nil {
-		rs.record(name)
-	}
-	if attrVal == nil {
-		return
-	}
-	rv := reflect.ValueOf(attrVal)
-	if _, ok := rv.Interface().(protoreflect.Value); ok {
-		rv = rv.MethodByName("Interface").Call(nil)[0]
-		if !rv.IsNil() {
-			rv = rv.Elem()
+		// Ignore zero values.
+		var isZero bool
+		switch rv.Kind() {
+		case reflect.Interface, reflect.Slice:
+			isZero = rv.IsNil()
+		case reflect.Bool:
+			isZero = rv.Bool() == false
+		case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+			isZero = rv.Int() == 0
+		case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
+			isZero = rv.Uint() == 0
+		case reflect.String:
+			isZero = rv.String() == ""
 		}
-	}
+		if n, ok := rv.Interface().(list); ok {
+			isZero = n.Len() == 0
+		}
+		if isZero {
+			continue
+		}
 
-	// Ignore zero values.
-	var isZero bool
-	switch rv.Kind() {
-	case reflect.Interface, reflect.Slice:
-		isZero = rv.IsNil()
-	case reflect.Bool:
-		isZero = rv.Bool() == false
-	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
-		isZero = rv.Int() == 0
-	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
-		isZero = rv.Uint() == 0
-	case reflect.String:
-		isZero = rv.String() == ""
+		// Format the value.
+		var s string
+		v := rv.Interface()
+		switch v := v.(type) {
+		case list:
+			s = formatListOpt(v, false, rs.allowMulti)
+		case protoreflect.FieldDescriptor, protoreflect.OneofDescriptor, protoreflect.EnumValueDescriptor, protoreflect.MethodDescriptor:
+			s = string(v.(protoreflect.Descriptor).Name())
+		case protoreflect.Descriptor:
+			s = string(v.FullName())
+		case string:
+			s = strconv.Quote(v)
+		case []byte:
+			s = fmt.Sprintf("%q", v)
+		default:
+			s = fmt.Sprint(v)
+		}
+		rs.recs = append(rs.recs, [2]string{a.name, s})
 	}
-	if n, ok := rv.Interface().(list); ok {
-		isZero = n.Len() == 0
-	}
-	if isZero {
-		return
-	}
-
-	// Format the value.
-	var s string
-	v := rv.Interface()
-	switch v := v.(type) {
-	case list:
-		s = formatListOpt(v, false, rs.allowMulti)
-	case protoreflect.FieldDescriptor, protoreflect.OneofDescriptor, protoreflect.EnumValueDescriptor, protoreflect.MethodDescriptor:
-		s = string(v.(protoreflect.Descriptor).Name())
-	case protoreflect.Descriptor:
-		s = string(v.FullName())
-	case string:
-		s = strconv.Quote(v)
-	case []byte:
-		s = fmt.Sprintf("%q", v)
-	default:
-		s = fmt.Sprint(v)
-	}
-	rs.recs = append(rs.recs, [2]string{name, s})
 }
 
 func (rs *records) Join() string {

diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go
--- a/vendor/google.golang.org/protobuf/internal/version/version.go
+++ b/vendor/google.golang.org/protobuf/internal/version/version.go
@@ -53,7 +53,7 @@
 	Major      = 1
 	Minor      = 36
 	Patch      = 11
-	PreRelease = "devel"
+	PreRelease = ""
 )
 
 // String formats the version string for this module in semver format.

diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
+++ b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
@@ -201,7 +201,6 @@
 			return nil, err
 		}
 		x.L1.EditionFeatures = mergeEditionFeatures(parent, xd.GetOptions().GetFeatures())
-		x.L2.IsProto3Optional = xd.GetProto3Optional()
 		if opts := xd.GetOptions(); opts != nil {
 			opts = proto.Clone(opts).(*descriptorpb.FieldOptions)
 			x.L2.Options = func() protoreflect.ProtoMessage { return opts }

diff --git a/vendor/k8s.io/apimachinery/pkg/api/resource/generated.protomessage.pb.go b/vendor/k8s.io/apimachinery/pkg/api/resource/generated.protomessage.pb.go
new file mode 100644
--- /dev/null
+++ b/vendor/k8s.io/apimachinery/pkg/api/resource/generated.protomessage.pb.go
@@ -1,0 +1,26 @@
+//go:build kubernetes_protomessage_one_more_release
+// +build kubernetes_protomessage_one_more_release
+
+/*
+Copyright The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+// Code generated by go-to-protobuf. DO NOT EDIT.
+
+package resource
+
+func (*Quantity) ProtoMessage() {}
+
+func (*QuantityValue) ProtoMessage() {}

diff --git a/vendor/k8s.io/apimachinery/pkg/api/validate/content/errors.go b/vendor/k8s.io/apimachinery/pkg/api/validate/content/errors.go
--- a/vendor/k8s.io/apimachinery/pkg/api/validate/content/errors.go
+++ b/vendor/k8s.io/apimachinery/pkg/api/validate/content/errors.go
@@ -29,12 +29,6 @@
 	return fmt.Sprintf("must be greater than or equal to %d", min)
 }
 
-// MaxError returns a string explanation of a "must be less than or equal"
-// validation failure.
-func MaxError[T constraints.Integer](max T) string {
-	return fmt.Sprintf("must be less than or equal to %d", max)
-}
-
 // MaxLenError returns a string explanation of a "string too long" validation
 // failure.
 func MaxLenError(length int) string {

diff --git a/vendor/k8s.io/apimachinery/pkg/api/validate/content/path.go b/vendor/k8s.io/apimachinery/pkg/api/validate/content/path.go
deleted file mode 100644
--- a/vendor/k8s.io/apimachinery/pkg/api/validate/content/path.go
+++ /dev/null
@@ -1,63 +1,0 @@
-/*
-Copyright 2015 The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package content
-
-import (
-	"fmt"
-	"strings"
-)
-
-// Strings that cannot be used as names specified as path segments (like the
-// REST API or etcd store).
-var pathSegmentNameMayNotBe = []string{".", ".."}
-
-// Substrings that cannot be used in names specified as path segments (like the
-// REST API or etcd store).
-var pathSegmentNameMayNotContain = []string{"/", "%"}
-
-// IsPathSegmentName validates the name can be safely encoded as a path
-// segment.
-//
-// Note that, for historical reason, this function does not check for
-// empty strings or impose a limit on the length of the name.
-func IsPathSegmentName(name string) []string {
-	for _, illegalName := range pathSegmentNameMayNotBe {
-		if name == illegalName {
-			return []string{fmt.Sprintf(`may not be '%s'`, illegalName)}
-		}
-	}
-
-	return IsPathSegmentPrefix(name)
-}
-
-// IsPathSegmentPrefix validates the name can be used as a prefix for a
-// name which will be encoded as a path segment It does not check for exact
-// matches with disallowed names, since an arbitrary suffix might make the name
-// valid.
-//
-// Note that, for historical reason, this function does not check for
-// empty strings or impose a limit on the length of the name.
-func IsPathSegmentPrefix(name string) []string {
-	var errors []string
-	for _, illegalContent := range pathSegmentNameMayNotContain {
-		if strings.Contains(name, illegalContent) {
-			errors = append(errors, fmt.Sprintf(`may not contain '%s'`, illegalContent))
-		}
-	}
-
-	return errors
-}
\ No newline at end of file

diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/fieldsv1.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/fieldsv1.go
deleted file mode 100644
--- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/fieldsv1.go
+++ /dev/null
@@ -1,170 +1,0 @@
-/*
-Copyright The Kubernetes Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package v1
-
-import (
-	"fmt"
-	"io"
-)
-
-func (FieldsV1) SwaggerDoc() map[string]string {
-	return map[string]string{
-		"": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff",
-	}
-}
-
-type FieldsV1Reader interface {
-	io.Reader
-	io.ReaderAt
-	// Size returns the original byte length of the underlying data. Size is the number of bytes available for reading via ReadAt.
-	Size() int64
-}
-
-func (f *FieldsV1) DeepCopy() *FieldsV1 {
-	if f == nil {
-		return nil
-	}
-	out := new(FieldsV1)
-	f.DeepCopyInto(out)
-	return out
-}
-
-func (f *FieldsV1) Marshal() (dAtA []byte, err error) {
-	size := f.Size()
-	dAtA = make([]byte, size)
-	n, err := f.MarshalToSizedBuffer(dAtA[:size])
-	if err != nil {
-		return nil, err
-	}
-	return dAtA[:n], nil
-}
-
-func (f *FieldsV1) MarshalTo(dAtA []byte) (int, error) {
-	size := f.Size()
-	return f.MarshalToSizedBuffer(dAtA[:size])
-}
-
-func (f *FieldsV1) MarshalToSizedBuffer(dAtA []byte) (int, error) {
-	i := len(dAtA)
-	_ = i
-	var l int
-	_ = l
-	rawBytes := f.GetRawBytes()
-	if len(rawBytes) > 0 {
-		i -= len(rawBytes)
-		copy(dAtA[i:], rawBytes)
-		i = encodeVarintGenerated(dAtA, i, uint64(len(rawBytes)))
-		i--
-		dAtA[i] = 0xa
-	}
-	return len(dAtA) - i, nil
-}
-
-func (f *FieldsV1) Size() (n int) {
-	if f == nil {
-		return 0
-	}
-	var l int
-	_ = l
-	if l := int(f.GetRawReader().Size()); l > 0 {
-		n += 1 + l + sovGenerated(uint64(l))
-	}
-	return n
-}
-
-func (f *FieldsV1) Unmarshal(dAtA []byte) error {
-	l := len(dAtA)
-	iNdEx := 0
-	for iNdEx < l {
-		preIndex := iNdEx
-		var wire uint64
-		for shift := uint(0); ; shift += 7 {
-			if shift >= 64 {
-				return ErrIntOverflowGenerated
... diff truncated: showing 800 of 4139 lines

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit e135c6f. Configure here.

Comment thread go.mod Outdated
Comment thread go.mod
@renovate-sh-app renovate-sh-app Bot force-pushed the deps-update/main-k8s.ioapimachinery branch from e135c6f to 0cb5baf Compare April 27, 2026 16:09
@chaudum chaudum changed the title fix(deps): update module k8s.io/apimachinery to v0.36.0 (main) fix(deps): Update module k8s.io/apimachinery to v0.36.0 (main) Apr 28, 2026
@renovate-sh-app renovate-sh-app Bot changed the title fix(deps): Update module k8s.io/apimachinery to v0.36.0 (main) fix(deps): update module k8s.io/apimachinery to v0.36.0 (main) Apr 28, 2026
@renovate-sh-app renovate-sh-app Bot force-pushed the deps-update/main-k8s.ioapimachinery branch from 0cb5baf to 995fc6b Compare April 28, 2026 13:11
@renovate-sh-app renovate-sh-app Bot changed the title fix(deps): update module k8s.io/apimachinery to v0.36.0 (main) fix(deps): Update module k8s.io/apimachinery to v0.36.0 (main) Apr 28, 2026
@renovate-sh-app renovate-sh-app Bot force-pushed the deps-update/main-k8s.ioapimachinery branch 8 times, most recently from eaff613 to 45c9bd9 Compare May 5, 2026 13:20
@renovate-sh-app renovate-sh-app Bot force-pushed the deps-update/main-k8s.ioapimachinery branch 11 times, most recently from c5aae71 to 446faa4 Compare May 8, 2026 10:14
@renovate-sh-app renovate-sh-app Bot force-pushed the deps-update/main-k8s.ioapimachinery branch 21 times, most recently from f1b8f67 to fb17431 Compare May 15, 2026 20:08
@renovate-sh-app renovate-sh-app Bot changed the title fix(deps): Update module k8s.io/apimachinery to v0.36.0 (main) fix(deps): Update module k8s.io/apimachinery to v0.36.1 (main) May 15, 2026
@renovate-sh-app renovate-sh-app Bot force-pushed the deps-update/main-k8s.ioapimachinery branch 2 times, most recently from d7c2b14 to 1191b29 Compare May 27, 2026 23:17
@renovate-sh-app renovate-sh-app Bot changed the title fix(deps): Update module k8s.io/apimachinery to v0.36.1 (main) fix(deps): Update k8s.io/apimachinery to v0.36.1 (main) Jun 10, 2026
| datasource | package             | from    | to      |
| ---------- | ------------------- | ------- | ------- |
| go         | k8s.io/apimachinery | v0.35.4 | v0.36.1 |


Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
@renovate-sh-app renovate-sh-app Bot force-pushed the deps-update/main-k8s.ioapimachinery branch from 1191b29 to 496a928 Compare June 12, 2026 23:10
@rfratto rfratto merged commit 102f0fd into main Jun 12, 2026
87 checks passed
@rfratto rfratto deleted the deps-update/main-k8s.ioapimachinery branch June 12, 2026 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file size/S update-minor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant