diff --git a/go.mod b/go.mod index fd1c0cd19..e9b3176a4 100644 --- a/go.mod +++ b/go.mod @@ -30,10 +30,10 @@ require ( github.com/stretchr/testify v1.8.1 golang.org/x/sys v0.5.0 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.0.0-20230302011010-42a6c324deb9 - k8s.io/apimachinery v0.0.0-20230302010315-590a2612ff27 + k8s.io/api v0.0.0-20230302120942-f6c2559ad4f4 + k8s.io/apimachinery v0.0.0-20230302115847-76eb944e266d k8s.io/cli-runtime v0.0.0-20230302022534-b2df110d73d3 - k8s.io/client-go v0.0.0-20230302011831-91199a69ee5f + k8s.io/client-go v0.0.0-20230302011832-02d652e00723 k8s.io/component-base v0.0.0-20230302013528-cdd3d3a94e73 k8s.io/component-helpers v0.0.0-20230302013915-d343dde1efa0 k8s.io/klog/v2 v2.90.1 @@ -91,11 +91,11 @@ require ( ) replace ( - k8s.io/api => k8s.io/api v0.0.0-20230302011010-42a6c324deb9 - k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20230302010315-590a2612ff27 + k8s.io/api => k8s.io/api v0.0.0-20230302120942-f6c2559ad4f4 + k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20230302115847-76eb944e266d k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20230302022534-b2df110d73d3 - k8s.io/client-go => k8s.io/client-go v0.0.0-20230302011831-91199a69ee5f - k8s.io/code-generator => k8s.io/code-generator v0.0.0-20230302005832-32ad4d4a0188 + k8s.io/client-go => k8s.io/client-go v0.0.0-20230302011832-02d652e00723 + k8s.io/code-generator => k8s.io/code-generator v0.0.0-20230302115021-df762e7754c2 k8s.io/component-base => k8s.io/component-base v0.0.0-20230302013528-cdd3d3a94e73 k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20230302013915-d343dde1efa0 k8s.io/metrics => k8s.io/metrics v0.0.0-20230302022201-9e407dc07581 diff --git a/go.sum b/go.sum index d0d550f98..342c21036 100644 --- a/go.sum +++ b/go.sum @@ -531,14 +531,14 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.0.0-20230302011010-42a6c324deb9 h1:cQzhf7hby/usJMsgKtdbYSTuIc+TzGqLDfddQHXIO30= -k8s.io/api v0.0.0-20230302011010-42a6c324deb9/go.mod h1:xgkXVMREg0t0RxMFgpHj3ccDnk+xwBfDcIZC8xS/NrI= -k8s.io/apimachinery v0.0.0-20230302010315-590a2612ff27 h1:w5AwK+Z2f7+RDs+AJMYmDz34cXM7KMUgK+VbDZ/IBI8= -k8s.io/apimachinery v0.0.0-20230302010315-590a2612ff27/go.mod h1:TO4higCGNMwebVSdb1XPJdXMU4kk+nmMY/cTMVCGa6M= +k8s.io/api v0.0.0-20230302120942-f6c2559ad4f4 h1:qm5Xz7wiOrtVHPKAZsBByEd6k2WST6Ts+e4RfpgVuvQ= +k8s.io/api v0.0.0-20230302120942-f6c2559ad4f4/go.mod h1:cTD04/XhoraqP0GpFXtefYJYXBw6coqVSibz5Rzivkw= +k8s.io/apimachinery v0.0.0-20230302115847-76eb944e266d h1:mridg1Zm6thnb5oTe+rOGnEUbPnjys9YHBFxlOf+GeA= +k8s.io/apimachinery v0.0.0-20230302115847-76eb944e266d/go.mod h1:TO4higCGNMwebVSdb1XPJdXMU4kk+nmMY/cTMVCGa6M= k8s.io/cli-runtime v0.0.0-20230302022534-b2df110d73d3 h1:YzjMvy4LUsjjae7QJezN0BjAd7ebyaOPJnsiQIIOQm4= k8s.io/cli-runtime v0.0.0-20230302022534-b2df110d73d3/go.mod h1:94YwRnijGXG+pyiTrwlJoMLvR3jZntOVzzo37IhlYKE= -k8s.io/client-go v0.0.0-20230302011831-91199a69ee5f h1:f9/bpLxlBbmg3sIWN7xt730XTvoc+hEus2/Dgv81tdQ= -k8s.io/client-go v0.0.0-20230302011831-91199a69ee5f/go.mod h1:F1q/mzQOK8igTrQHP4nz3bdKZcvqwLj7hCLvPheHDSs= +k8s.io/client-go v0.0.0-20230302011832-02d652e00723 h1:DM2dn0RySg0FabGF57jZop/T/0AVBy5mjPPmHehuUns= +k8s.io/client-go v0.0.0-20230302011832-02d652e00723/go.mod h1:F1q/mzQOK8igTrQHP4nz3bdKZcvqwLj7hCLvPheHDSs= k8s.io/component-base v0.0.0-20230302013528-cdd3d3a94e73 h1:9aUdsRcbNOOttZL0FVKTuiZlVLCef4+aAKh7DAmArOw= k8s.io/component-base v0.0.0-20230302013528-cdd3d3a94e73/go.mod h1:OEU5Klnkrq4+Nh1Ir1vBDc2JL9FvvCcmjzrnR/eT7I4= k8s.io/component-helpers v0.0.0-20230302013915-d343dde1efa0 h1:ZrSgq6dpyCfTk2YWS24K5Ic9bwkE1LPWNjGvE/vvpSc= diff --git a/pkg/cmd/apply/apply.go b/pkg/cmd/apply/apply.go index 55be711b3..c0969dbbc 100644 --- a/pkg/cmd/apply/apply.go +++ b/pkg/cmd/apply/apply.go @@ -121,8 +121,8 @@ type ApplyOptions struct { // Stores visited objects/namespaces for later use // calculating the set of objects to prune. - VisitedUids sets.String - VisitedNamespaces sets.String + VisitedUids sets.Set[types.UID] + VisitedNamespaces sets.Set[string] // Function run after the objects are generated and // stored in the "objects" field, but before the @@ -352,8 +352,8 @@ func (flags *ApplyFlags) ToOptions(f cmdutil.Factory, cmd *cobra.Command, baseNa objects: []*resource.Info{}, objectsCached: false, - VisitedUids: sets.NewString(), - VisitedNamespaces: sets.NewString(), + VisitedUids: sets.New[types.UID](), + VisitedNamespaces: sets.New[string](), ApplySet: applySet, } @@ -981,7 +981,7 @@ func (o *ApplyOptions) MarkObjectVisited(info *resource.Info) error { if err != nil { return err } - o.VisitedUids.Insert(string(metadata.GetUID())) + o.VisitedUids.Insert(metadata.GetUID()) return nil } diff --git a/pkg/cmd/apply/prune.go b/pkg/cmd/apply/prune.go index 8c07d32b8..e34ddd52b 100644 --- a/pkg/cmd/apply/prune.go +++ b/pkg/cmd/apply/prune.go @@ -24,6 +24,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/cli-runtime/pkg/printers" "k8s.io/client-go/dynamic" @@ -35,8 +36,8 @@ type pruner struct { mapper meta.RESTMapper dynamicClient dynamic.Interface - visitedUids sets.String - visitedNamespaces sets.String + visitedUids sets.Set[types.UID] + visitedNamespaces sets.Set[string] labelSelector string fieldSelector string @@ -119,7 +120,7 @@ func (p *pruner) prune(namespace string, mapping *meta.RESTMapping) error { continue } uid := metadata.GetUID() - if p.visitedUids.Has(string(uid)) { + if p.visitedUids.Has(uid) { continue } name := metadata.GetName() diff --git a/pkg/cmd/diff/prune.go b/pkg/cmd/diff/prune.go index ef77fac89..e3ec06a70 100644 --- a/pkg/cmd/diff/prune.go +++ b/pkg/cmd/diff/prune.go @@ -24,6 +24,7 @@ import ( "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/cli-runtime/pkg/resource" "k8s.io/client-go/dynamic" @@ -34,16 +35,16 @@ type pruner struct { mapper meta.RESTMapper dynamicClient dynamic.Interface - visitedUids sets.String - visitedNamespaces sets.String + visitedUids sets.Set[types.UID] + visitedNamespaces sets.Set[string] labelSelector string resources []prune.Resource } func newPruner(dc dynamic.Interface, m meta.RESTMapper, r []prune.Resource, selector string) *pruner { return &pruner{ - visitedUids: sets.NewString(), - visitedNamespaces: sets.NewString(), + visitedUids: sets.New[types.UID](), + visitedNamespaces: sets.New[string](), dynamicClient: dc, mapper: m, resources: r, @@ -104,7 +105,7 @@ func (p *pruner) prune(namespace string, mapping *meta.RESTMapping) ([]runtime.O continue } uid := metadata.GetUID() - if p.visitedUids.Has(string(uid)) { + if p.visitedUids.Has(uid) { continue } @@ -123,5 +124,5 @@ func (p *pruner) MarkVisited(info *resource.Info) { if err != nil { return } - p.visitedUids.Insert(string(metadata.GetUID())) + p.visitedUids.Insert(metadata.GetUID()) }