From 1f1782dadf9f3ca50ba3d46f64e6c87515ff6864 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 00:41:12 +0000 Subject: [PATCH] :seedling: Bump sigs.k8s.io/controller-tools Bumps the k8s-dependencies group with 1 update: [sigs.k8s.io/controller-tools](https://github.com/kubernetes-sigs/controller-tools). Updates `sigs.k8s.io/controller-tools` from 0.17.2 to 0.17.3 - [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases) - [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml) - [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.17.2...v0.17.3) --- updated-dependencies: - dependency-name: sigs.k8s.io/controller-tools dependency-version: 0.17.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: k8s-dependencies ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- vendor/modules.txt | 2 +- .../cmd/controller-gen/main.go | 12 +++++++--- .../controller-tools/pkg/crd/desc_visitor.go | 2 +- .../controller-tools/pkg/crd/flatten.go | 5 ++--- .../controller-tools/pkg/crd/gen.go | 1 - .../controller-tools/pkg/crd/known_types.go | 1 - .../controller-tools/pkg/crd/markers/crd.go | 1 - .../pkg/crd/markers/topology.go | 22 ++++++++++++++----- .../pkg/crd/markers/validation.go | 11 +++++----- .../crd/markers/zz_generated.markerhelp.go | 4 ++++ .../controller-tools/pkg/crd/parser.go | 1 - .../controller-tools/pkg/crd/schema.go | 7 +++--- .../controller-tools/pkg/crd/spec.go | 2 -- .../controller-tools/pkg/deepcopy/traverse.go | 7 +++--- .../controller-tools/pkg/genall/genall.go | 9 +++++--- .../pkg/genall/help/pretty/help.go | 10 ++++----- .../pkg/genall/help/pretty/table.go | 8 +++---- .../controller-tools/pkg/genall/options.go | 9 ++++++-- .../controller-tools/pkg/loader/errors.go | 4 +++- .../controller-tools/pkg/loader/loader.go | 10 +++++++-- .../controller-tools/pkg/markers/parse.go | 4 +--- .../controller-tools/pkg/markers/zip.go | 2 +- .../controller-tools/pkg/rbac/parser.go | 1 - .../controller-tools/pkg/schemapatcher/gen.go | 3 +-- .../controller-tools/pkg/webhook/parser.go | 6 ++--- 27 files changed, 88 insertions(+), 62 deletions(-) diff --git a/go.mod b/go.mod index f8ced06956..857fb4f3ce 100644 --- a/go.mod +++ b/go.mod @@ -52,7 +52,7 @@ require ( k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 sigs.k8s.io/controller-runtime v0.20.4 - sigs.k8s.io/controller-tools v0.17.2 + sigs.k8s.io/controller-tools v0.17.3 ) require ( diff --git a/go.sum b/go.sum index 9e7e045807..40d7cb0f43 100644 --- a/go.sum +++ b/go.sum @@ -2937,8 +2937,8 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcp sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU= sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= -sigs.k8s.io/controller-tools v0.17.2 h1:jNFOKps8WnaRKZU2R+4vRCHnXyJanVmXBWqkuUPFyFg= -sigs.k8s.io/controller-tools v0.17.2/go.mod h1:4q5tZG2JniS5M5bkiXY2/potOiXyhoZVw/U48vLkXk0= +sigs.k8s.io/controller-tools v0.17.3 h1:lwFPLicpBKLgIepah+c8ikRBubFW5kOQyT88r3EwfNw= +sigs.k8s.io/controller-tools v0.17.3/go.mod h1:1ii+oXcYZkxcBXzwv3YZBlzjt1fvkrCGjVF73blosJI= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo= sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA= diff --git a/vendor/modules.txt b/vendor/modules.txt index 5f98af2735..5d29d251d8 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1854,7 +1854,7 @@ sigs.k8s.io/controller-runtime/pkg/webhook/admission sigs.k8s.io/controller-runtime/pkg/webhook/admission/metrics sigs.k8s.io/controller-runtime/pkg/webhook/conversion sigs.k8s.io/controller-runtime/pkg/webhook/internal/metrics -# sigs.k8s.io/controller-tools v0.17.2 +# sigs.k8s.io/controller-tools v0.17.3 ## explicit; go 1.23.0 sigs.k8s.io/controller-tools/cmd/controller-gen sigs.k8s.io/controller-tools/pkg/crd diff --git a/vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go b/vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go index c27bcda42c..4751b252cd 100644 --- a/vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go +++ b/vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go @@ -17,13 +17,15 @@ package main import ( "encoding/json" + "errors" "fmt" "io" "os" "strings" "github.com/spf13/cobra" - + "golang.org/x/tools/go/packages" + "sigs.k8s.io/controller-tools/pkg/crd" "sigs.k8s.io/controller-tools/pkg/deepcopy" "sigs.k8s.io/controller-tools/pkg/genall" @@ -126,6 +128,7 @@ func main() { helpLevel := 0 whichLevel := 0 showVersion := false + var buildTags []string cmd := &cobra.Command{ Use: "controller-gen", @@ -165,7 +168,8 @@ func main() { } // otherwise, set up the runtime for actually running the generators - rt, err := genall.FromOptions(optionsRegistry, rawOpts) + tagsFlag := fmt.Sprintf("-tags=%s", strings.Join(buildTags, ",")) + rt, err := genall.FromOptionsWithConfig(&packages.Config{BuildFlags: []string{tagsFlag}}, optionsRegistry, rawOpts) if err != nil { return err } @@ -184,6 +188,7 @@ func main() { cmd.Flags().CountVarP(&whichLevel, "which-markers", "w", "print out all markers available with the requested generators\n(up to -www for the most detailed output, or -wwww for json output)") cmd.Flags().CountVarP(&helpLevel, "detailed-help", "h", "print out more detailed help\n(up to -hhh for the most detailed output, or -hhhh for json output)") cmd.Flags().BoolVar(&showVersion, "version", false, "show version") + cmd.Flags().StringSliceVar(&buildTags, "load-build-tags", []string{"ignore_autogenerated"}, "build tags to use when loading Go packages") cmd.Flags().Bool("help", false, "print out usage and a summary of options") oldUsage := cmd.UsageFunc() cmd.SetUsageFunc(func(c *cobra.Command) error { @@ -198,7 +203,8 @@ func main() { }) if err := cmd.Execute(); err != nil { - if _, noUsage := err.(noUsageError); !noUsage { + var errNoUsage noUsageError + if !errors.As(err, &errNoUsage) { // print the usage unless we suppressed it if err := cmd.Usage(); err != nil { panic(err) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/desc_visitor.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/desc_visitor.go index e064be03d4..1a5698becb 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/desc_visitor.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/desc_visitor.go @@ -73,7 +73,7 @@ func truncateString(desc string, maxLen int) string { // Trying to chop off at closest word boundary (i.e. whitespace). if n := strings.LastIndexFunc(desc, isWhiteSpace); n > 0 { - return desc[0 : n] + "..." + return desc[0:n] + "..." } return desc[0:maxLen] + "..." diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/flatten.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/flatten.go index 83e55398e2..cf02c9b71b 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/flatten.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/flatten.go @@ -24,7 +24,6 @@ import ( "sync" apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" - "sigs.k8s.io/controller-tools/pkg/loader" ) @@ -295,8 +294,8 @@ func RefParts(ref string) (typ string, pkgName string, err error) { } ref = ref[len(defPrefix):] // decode the json pointer encodings - ref = strings.Replace(ref, "~1", "/", -1) - ref = strings.Replace(ref, "~0", "~", -1) + ref = strings.ReplaceAll(ref, "~1", "/") + ref = strings.ReplaceAll(ref, "~0", "~") nameParts := strings.SplitN(ref, "~", 2) if len(nameParts) == 1 { diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/gen.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/gen.go index 2c68e15a0b..5fad65a71c 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/gen.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/gen.go @@ -25,7 +25,6 @@ import ( apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/runtime/schema" - crdmarkers "sigs.k8s.io/controller-tools/pkg/crd/markers" "sigs.k8s.io/controller-tools/pkg/genall" "sigs.k8s.io/controller-tools/pkg/loader" diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/known_types.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/known_types.go index ab93932889..fd2a663a20 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/known_types.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/known_types.go @@ -18,7 +18,6 @@ package crd import ( apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/utils/ptr" - "sigs.k8s.io/controller-tools/pkg/loader" ) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/crd.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/crd.go index 36f3fcec30..bd3cef5631 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/crd.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/crd.go @@ -21,7 +21,6 @@ import ( "strings" apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" - "sigs.k8s.io/controller-tools/pkg/markers" ) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/topology.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/topology.go index 97dbc47c59..3a660dfe38 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/topology.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/topology.go @@ -66,6 +66,16 @@ func init() { // are typically manipulated together by the same actor. type ListType string +const ( + Map ListType = "map" + Set ListType = "set" + Atomic ListType = "atomic" + Array ListType = "array" + Object ListType = "object" + Integer ListType = "integer" + Number ListType = "number" +) + // +controllertools:marker:generateHelp:category="CRD processing" // ListMapKey specifies the keys to map listTypes. @@ -108,10 +118,10 @@ type MapType string type StructType string func (l ListType) ApplyToSchema(schema *apiext.JSONSchemaProps) error { - if schema.Type != "array" { + if schema.Type != string(Array) { return fmt.Errorf("must apply listType to an array, found %s", schema.Type) } - if l != "map" && l != "atomic" && l != "set" { + if l != Map && l != Atomic && l != Set { return fmt.Errorf(`ListType must be either "map", "set" or "atomic"`) } p := string(l) @@ -124,10 +134,10 @@ func (l ListType) ApplyPriority() ApplyPriority { } func (l ListMapKey) ApplyToSchema(schema *apiext.JSONSchemaProps) error { - if schema.Type != "array" { + if schema.Type != string(Array) { return fmt.Errorf("must apply listMapKey to an array, found %s", schema.Type) } - if schema.XListType == nil || *schema.XListType != "map" { + if schema.XListType == nil || *schema.XListType != string(Map) { return fmt.Errorf("must apply listMapKey to an associative-list") } schema.XListMapKeys = append(schema.XListMapKeys, string(l)) @@ -135,7 +145,7 @@ func (l ListMapKey) ApplyToSchema(schema *apiext.JSONSchemaProps) error { } func (m MapType) ApplyToSchema(schema *apiext.JSONSchemaProps) error { - if schema.Type != "object" { + if schema.Type != string(Object) { return fmt.Errorf("must apply mapType to an object") } @@ -150,7 +160,7 @@ func (m MapType) ApplyToSchema(schema *apiext.JSONSchemaProps) error { } func (s StructType) ApplyToSchema(schema *apiext.JSONSchemaProps) error { - if schema.Type != "object" && schema.Type != "" { + if schema.Type != string(Object) && schema.Type != "" { return fmt.Errorf("must apply structType to an object; either explicitly set or defaulted through an empty schema type") } diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/validation.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/validation.go index 5cd5daf69d..ccd52e53cb 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/validation.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/validation.go @@ -23,7 +23,6 @@ import ( "strings" apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" - "sigs.k8s.io/controller-tools/pkg/markers" ) @@ -313,7 +312,7 @@ type XIntOrString struct{} type Schemaless struct{} func hasNumericType(schema *apiext.JSONSchemaProps) bool { - return schema.Type == "integer" || schema.Type == "number" + return schema.Type == string(Integer) || schema.Type == string(Number) } func hasTextualType(schema *apiext.JSONSchemaProps) bool { @@ -336,6 +335,7 @@ type XValidation struct { MessageExpression string `marker:"messageExpression,optional"` Reason string `marker:"reason,optional"` FieldPath string `marker:"fieldPath,optional"` + OptionalOldSelf *bool `marker:"optionalOldSelf,optional"` } func (m Maximum) ApplyToSchema(schema *apiext.JSONSchemaProps) error { @@ -343,7 +343,7 @@ func (m Maximum) ApplyToSchema(schema *apiext.JSONSchemaProps) error { return fmt.Errorf("must apply maximum to a numeric value, found %s", schema.Type) } - if schema.Type == "integer" && !isIntegral(m.Value()) { + if schema.Type == string(Integer) && !isIntegral(m.Value()) { return fmt.Errorf("cannot apply non-integral maximum validation (%v) to integer value", m.Value()) } @@ -424,7 +424,7 @@ func (m Pattern) ApplyToSchema(schema *apiext.JSONSchemaProps) error { } func (m MaxItems) ApplyToSchema(schema *apiext.JSONSchemaProps) error { - if schema.Type != "array" { + if schema.Type != string(Array) { return fmt.Errorf("must apply maxitem to an array") } val := int64(m) @@ -433,7 +433,7 @@ func (m MaxItems) ApplyToSchema(schema *apiext.JSONSchemaProps) error { } func (m MinItems) ApplyToSchema(schema *apiext.JSONSchemaProps) error { - if schema.Type != "array" { + if schema.Type != string(Array) { return fmt.Errorf("must apply minitems to an array") } val := int64(m) @@ -604,6 +604,7 @@ func (m XValidation) ApplyToSchema(schema *apiext.JSONSchemaProps) error { MessageExpression: m.MessageExpression, Reason: reason, FieldPath: m.FieldPath, + OptionalOldSelf: m.OptionalOldSelf, }) return nil } diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/zz_generated.markerhelp.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/zz_generated.markerhelp.go index e2db2b9902..a9ee233115 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/zz_generated.markerhelp.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/markers/zz_generated.markerhelp.go @@ -563,6 +563,10 @@ func (XValidation) Help() *markers.DefinitionHelp { Summary: "", Details: "", }, + "OptionalOldSelf": { + Summary: "", + Details: "", + }, }, } } diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/parser.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/parser.go index 4c15de9072..4b96ee96f9 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/parser.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/parser.go @@ -21,7 +21,6 @@ import ( apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-tools/pkg/loader" "sigs.k8s.io/controller-tools/pkg/markers" ) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/schema.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/schema.go index 5ad6f75d08..616141cb1d 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/schema.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/schema.go @@ -27,7 +27,6 @@ import ( apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" crdmarkers "sigs.k8s.io/controller-tools/pkg/crd/markers" - "sigs.k8s.io/controller-tools/pkg/loader" "sigs.k8s.io/controller-tools/pkg/markers" ) @@ -247,7 +246,7 @@ func typeToSchema(ctx *schemaContext, rawType ast.Expr) *apiext.JSONSchemaProps // escapes). func qualifiedName(pkgName, typeName string) string { if pkgName != "" { - return strings.Replace(pkgName, "/", "~1", -1) + "~0" + typeName + return strings.ReplaceAll(pkgName, "/", "~1") + "~0" + typeName } return typeName } @@ -448,12 +447,12 @@ func structToSchema(ctx *schemaContext, structType *ast.StructType) *apiext.JSON switch { case field.Markers.Get("kubebuilder:validation:Optional") != nil: - // explicity optional - kubebuilder + // explicitly optional - kubebuilder case field.Markers.Get("kubebuilder:validation:Required") != nil: // explicitly required - kubebuilder props.Required = append(props.Required, fieldName) case field.Markers.Get("optional") != nil: - // explicity optional - kubernetes + // explicitly optional - kubernetes case field.Markers.Get("required") != nil: // explicitly required - kubernetes props.Required = append(props.Required, fieldName) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/crd/spec.go b/vendor/sigs.k8s.io/controller-tools/pkg/crd/spec.go index 5fd246c3fc..e4cbe3f73b 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/crd/spec.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/crd/spec.go @@ -21,11 +21,9 @@ import ( "strings" "github.com/gobuffalo/flect" - apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-tools/pkg/loader" ) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/deepcopy/traverse.go b/vendor/sigs.k8s.io/controller-tools/pkg/deepcopy/traverse.go index fe279f7be4..b7bed1d1e1 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/deepcopy/traverse.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/deepcopy/traverse.go @@ -353,14 +353,15 @@ func (c *copyMethodMaker) genMapDeepCopy(actualName *namingInfo, mapType *types. // If we're calling DeepCopy, check if it's receiver needs a pointer inIsPtr = copyOnPtr } - if inIsPtr == fieldIsPtr { + switch { + case inIsPtr == fieldIsPtr: c.Line("(*out)[key] = val.DeepCopy()") - } else if fieldIsPtr { + case fieldIsPtr: c.Line("{") // use a block because we use `x` as a temporary c.Line("x := val.DeepCopy()") c.Line("(*out)[key] = &x") c.Line("}") - } else { + default: c.Line("(*out)[key] = *val.DeepCopy()") } case fineToShallowCopy(mapType.Elem()): diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/genall/genall.go b/vendor/sigs.k8s.io/controller-tools/pkg/genall/genall.go index b553db14c7..b6f37409b8 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/genall/genall.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/genall/genall.go @@ -24,7 +24,6 @@ import ( "golang.org/x/tools/go/packages" rawyaml "gopkg.in/yaml.v2" - "sigs.k8s.io/controller-tools/pkg/loader" "sigs.k8s.io/controller-tools/pkg/markers" ) @@ -175,7 +174,7 @@ func (g GenerationContext) WriteYAML(itemPath, headerText string, objs []interfa func yamlMarshal(o interface{}, options ...*WriteYAMLOptions) ([]byte, error) { j, err := json.Marshal(o) if err != nil { - return nil, fmt.Errorf("error marshaling into JSON: %v", err) + return nil, fmt.Errorf("error marshaling into JSON: %w", err) } return yamlJSONToYAMLWithFilter(j, options...) @@ -219,7 +218,11 @@ func (g GenerationContext) ReadFile(path string) ([]byte, error) { // ForRoots produces a Runtime to run the given generators against the // given packages. It outputs to /dev/null by default. func (g Generators) ForRoots(rootPaths ...string) (*Runtime, error) { - roots, err := loader.LoadRoots(rootPaths...) + return g.ForRootsWithConfig(&packages.Config{}, rootPaths...) +} + +func (g Generators) ForRootsWithConfig(cfg *packages.Config, rootPaths ...string) (*Runtime, error) { + roots, err := loader.LoadRootsWithConfig(cfg, rootPaths...) if err != nil { return nil, err } diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/help.go b/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/help.go index 3e34cc0d6c..87ea87db74 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/help.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/help.go @@ -4,9 +4,8 @@ import ( "fmt" "io" - "sigs.k8s.io/controller-tools/pkg/genall/help" - "github.com/fatih/color" + "sigs.k8s.io/controller-tools/pkg/genall/help" ) var ( @@ -77,7 +76,8 @@ func MarkersDetails(fullDetail bool, groupName string, markers []help.MarkerDoc) } } - if marker.AnonymousField() { + switch { + case marker.AnonymousField(): out.Print(Indented(1, Line(fieldDetailStyle.Containing(FieldSyntaxHelp(marker.Fields[0]))))) out.Print(Text(" ")) out.Print(summary) @@ -85,7 +85,7 @@ func MarkersDetails(fullDetail bool, groupName string, markers []help.MarkerDoc) out.Print(Indented(2, Line(Text(marker.Details)))) } out.Print(Newlines(1)) - } else if !marker.Empty() { + case !marker.Empty(): out.Print(Newlines(1)) if fullDetail { for _, arg := range marker.Fields { @@ -108,7 +108,7 @@ func MarkersDetails(fullDetail bool, groupName string, markers []help.MarkerDoc) out.Print(Indented(1, table)) } - } else { + default: out.Print(Newlines(1)) } } diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/table.go b/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/table.go index 5a0b4752af..c2ee9d282c 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/table.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/genall/help/pretty/table.go @@ -43,13 +43,13 @@ func (c *TableCalculator) ColumnWidths() []int { maxColWidths := make([]int, len(c.cellSizesByCol)) for colInd, cellSizes := range c.cellSizesByCol { - max := 0 + maxValue := 0 for _, cellSize := range cellSizes { - if max < cellSize { - max = cellSize + if maxValue < cellSize { + maxValue = cellSize } } - maxColWidths[colInd] = max + maxColWidths[colInd] = maxValue } actualMaxWidth := c.MaxWidth - c.Padding diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/genall/options.go b/vendor/sigs.k8s.io/controller-tools/pkg/genall/options.go index 97d7d67a64..192235b766 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/genall/options.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/genall/options.go @@ -20,6 +20,7 @@ import ( "fmt" "strings" + "golang.org/x/tools/go/packages" "sigs.k8s.io/controller-tools/pkg/markers" ) @@ -74,13 +75,17 @@ func RegistryFromOptions(optionsRegistry *markers.Registry, options []string) (* // further modified. Not default generators are used if none are specified -- you can check // the output and rerun for that. func FromOptions(optionsRegistry *markers.Registry, options []string) (*Runtime, error) { + return FromOptionsWithConfig(&packages.Config{}, optionsRegistry, options) +} + +func FromOptionsWithConfig(cfg *packages.Config, optionsRegistry *markers.Registry, options []string) (*Runtime, error) { protoRt, err := protoFromOptions(optionsRegistry, options) if err != nil { return nil, err } // make the runtime - genRuntime, err := protoRt.Generators.ForRoots(protoRt.Paths...) + genRuntime, err := protoRt.Generators.ForRootsWithConfig(cfg, protoRt.Paths...) if err != nil { return nil, err } @@ -168,7 +173,7 @@ func protoFromOptions(optionsRegistry *markers.Registry, options []string) (prot return protoRuntime{ Paths: paths, - Generators: Generators(gens), + Generators: gens, OutputRules: rules, GeneratorsByName: gensByName, }, nil diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/loader/errors.go b/vendor/sigs.k8s.io/controller-tools/pkg/loader/errors.go index 5a675798e2..4b40627053 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/loader/errors.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/loader/errors.go @@ -17,6 +17,7 @@ limitations under the License. package loader import ( + "errors" "fmt" "go/token" ) @@ -37,7 +38,8 @@ type Node interface { // attaching it to the given AST node. It will automatically map // over error lists. func ErrFromNode(err error, node Node) error { - if asList, isList := err.(ErrList); isList { + var asList ErrList + if isList := errors.As(err, &asList); isList { resList := make(ErrList, len(asList)) for i, baseErr := range asList { resList[i] = ErrFromNode(baseErr, node) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/loader/loader.go b/vendor/sigs.k8s.io/controller-tools/pkg/loader/loader.go index 2c5cf4c97f..8062b72d8d 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/loader/loader.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/loader/loader.go @@ -374,8 +374,14 @@ func LoadRootsWithConfig(cfg *packages.Config, roots ...string) ([]*Package, err if l.cfg.Fset == nil { l.cfg.Fset = token.NewFileSet() } - // put our build flags first so that callers can override them - l.cfg.BuildFlags = append([]string{"-tags", "ignore_autogenerated"}, l.cfg.BuildFlags...) + + // put our build flags first so that callers can override them. + // + // NOTE: if callers provide their own `-tags` flag, then our hardcoded `ignore_autogenerated` tag + // will be ignored. Callers that provide custom tags MUST include `ignore_autogenerated` in their + // custom tag set if they want that tag to remain active. Users can explicitly pass custom build + // flags with `-tags=""` to disable use of the default `ignore_autogenerated` tag. + l.cfg.BuildFlags = append([]string{"-tags=ignore_autogenerated"}, l.cfg.BuildFlags...) // Visit the import graphs of the loaded, root packages. If an imported // package refers to another loaded, root package, then replace the diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/markers/parse.go b/vendor/sigs.k8s.io/controller-tools/pkg/markers/parse.go index 81b1033258..f42dec0cf5 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/markers/parse.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/markers/parse.go @@ -495,7 +495,6 @@ func (a *Argument) parseMap(scanner *sc.Scanner, raw string, out reflect.Value) // parse functions like Parse, except that it allows passing down whether or not we're // already in a slice, to avoid duplicate legacy slice detection for AnyType func (a *Argument) parse(scanner *sc.Scanner, raw string, out reflect.Value, inSlice bool) { - // nolint:gocyclo if a.Type == InvalidType { scanner.Error(scanner, "cannot parse invalid type") return @@ -757,8 +756,7 @@ func argumentInfo(fieldName string, tag reflect.StructTag) (argName string, opti } optionalOpt = false for _, tagOption := range markerTagParts[1:] { - switch tagOption { - case "optional": + if tagOption == "optional" { optionalOpt = true } } diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/markers/zip.go b/vendor/sigs.k8s.io/controller-tools/pkg/markers/zip.go index 9e4d1b70ae..0ad44e6107 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/markers/zip.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/markers/zip.go @@ -75,7 +75,7 @@ func extractDoc(node ast.Node, decl *ast.GenDecl) string { lines = lines[:len(lines)-1] } - var outLines []string + outLines := make([]string, 0, len(lines)) var insideCodeBlock bool for i, line := range lines { if isAsteriskComment { diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/rbac/parser.go b/vendor/sigs.k8s.io/controller-tools/pkg/rbac/parser.go index 2047eda974..ccb3c58de4 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/rbac/parser.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/rbac/parser.go @@ -29,7 +29,6 @@ import ( rbacv1 "k8s.io/api/rbac/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/controller-tools/pkg/genall" "sigs.k8s.io/controller-tools/pkg/markers" ) diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/schemapatcher/gen.go b/vendor/sigs.k8s.io/controller-tools/pkg/schemapatcher/gen.go index 9e5a851319..063a7cfa20 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/schemapatcher/gen.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/schemapatcher/gen.go @@ -26,14 +26,13 @@ import ( "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" - kyaml "sigs.k8s.io/yaml" - crdgen "sigs.k8s.io/controller-tools/pkg/crd" crdmarkers "sigs.k8s.io/controller-tools/pkg/crd/markers" "sigs.k8s.io/controller-tools/pkg/genall" "sigs.k8s.io/controller-tools/pkg/loader" "sigs.k8s.io/controller-tools/pkg/markers" yamlop "sigs.k8s.io/controller-tools/pkg/schemapatcher/internal/yaml" + kyaml "sigs.k8s.io/yaml" ) // NB(directxman12): this code is quite fragile, but there are a sufficient diff --git a/vendor/sigs.k8s.io/controller-tools/pkg/webhook/parser.go b/vendor/sigs.k8s.io/controller-tools/pkg/webhook/parser.go index 780294abe1..832edebb09 100644 --- a/vendor/sigs.k8s.io/controller-tools/pkg/webhook/parser.go +++ b/vendor/sigs.k8s.io/controller-tools/pkg/webhook/parser.go @@ -28,10 +28,9 @@ import ( "strings" admissionregv1 "k8s.io/api/admissionregistration/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-tools/pkg/genall" "sigs.k8s.io/controller-tools/pkg/markers" ) @@ -441,6 +440,7 @@ func (Generator) RegisterMarkers(into *markers.Registry) error { return nil } +//gocyclo:ignore func (g Generator) Generate(ctx *genall.GenerationContext) error { supportedWebhookVersions := supportedWebhookVersions() mutatingCfgs := make(map[string][]admissionregv1.MutatingWebhook, len(supportedWebhookVersions)) @@ -455,7 +455,7 @@ func (g Generator) Generate(ctx *genall.GenerationContext) error { } webhookCfgs := markerSet[WebhookConfigDefinition.Name] - var hasValidatingWebhookConfig, hasMutatingWebhookConfig bool = false, false + hasValidatingWebhookConfig, hasMutatingWebhookConfig := false, false for _, webhookCfg := range webhookCfgs { webhookCfg := webhookCfg.(WebhookConfig)