From 2cb702366090c9d3e9200df322ad961462c229bc Mon Sep 17 00:00:00 2001 From: Derek Nola Date: Wed, 16 Aug 2023 12:44:28 -0700 Subject: [PATCH] Use already imported semver, bump kine Signed-off-by: Derek Nola --- go.mod | 6 +++--- go.sum | 8 ++++---- pkg/server/secrets-encrypt.go | 15 +++++++++++---- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 45ab6d8f02..a17d81936d 100644 --- a/go.mod +++ b/go.mod @@ -89,6 +89,7 @@ replace ( require ( github.com/Mirantis/cri-dockerd v0.0.0-00010101000000-000000000000 + github.com/blang/semver/v4 v4.0.0 github.com/cloudnativelabs/kube-router/v2 v2.0.0-00010101000000-000000000000 github.com/containerd/aufs v1.0.0 github.com/containerd/cgroups v1.1.0 @@ -110,7 +111,7 @@ require ( github.com/gorilla/websocket v1.5.0 github.com/json-iterator/go v1.1.12 github.com/k3s-io/helm-controller v0.15.4 - github.com/k3s-io/kine v0.10.2 + github.com/k3s-io/kine v0.10.3-0.20230816194222-7f6ba014aa71 github.com/klauspost/compress v1.16.6 github.com/kubernetes-sigs/cri-tools v0.0.0-00010101000000-000000000000 github.com/lib/pq v1.10.2 @@ -194,7 +195,6 @@ require ( github.com/avast/retry-go/v4 v4.3.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver v3.5.1+incompatible // indirect - github.com/blang/semver/v4 v4.0.0 // indirect github.com/bronze1man/goStrongswanVici v0.0.0-20201105010758-936f38b697fd // indirect github.com/canonical/go-dqlite v1.5.1 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect @@ -328,7 +328,7 @@ require ( github.com/nats-io/jsm.go v0.0.31-0.20220317133147-fe318f464eee // indirect github.com/nats-io/jwt/v2 v2.4.1 // indirect github.com/nats-io/nats-server/v2 v2.9.18 // indirect - github.com/nats-io/nats.go v1.27.1-0.20230619112143-ec00e662324e // indirect + github.com/nats-io/nats.go v1.27.1 // indirect github.com/nats-io/nkeys v0.4.4 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect diff --git a/go.sum b/go.sum index a6a301c16f..05558ccc4f 100644 --- a/go.sum +++ b/go.sum @@ -835,8 +835,8 @@ github.com/k3s-io/etcd/server/v3 v3.5.9-k3s1 h1:B3039IkTPnwQEt4tIMjC6yd6b1Q3Z9ZZ github.com/k3s-io/etcd/server/v3 v3.5.9-k3s1/go.mod h1:GgI1fQClQCFIzuVjlvdbMxNbnISt90gdfYyqiAIt65g= github.com/k3s-io/helm-controller v0.15.4 h1:l4DWmUWpphbtwmuXGtpr5Rql/2NaCLSv4ZD8HlND9uY= github.com/k3s-io/helm-controller v0.15.4/go.mod h1:BgCPBQblj/Ect4Q7/Umf86WvyDjdG/34D+n8wfXtoeM= -github.com/k3s-io/kine v0.10.2 h1:aN2taL3BUSPZ4D+36opCn4PGlNZ+lkduk5Oz+/ZYhqA= -github.com/k3s-io/kine v0.10.2/go.mod h1:JDJpiaFlxltCNqqWCBrP+/pbAGzJqbG1Y1DsHqM3X9U= +github.com/k3s-io/kine v0.10.3-0.20230816194222-7f6ba014aa71 h1:vfjgEzFWojbe1jD1zAhDNXhcGFhp3sNCV7fjOG3rk0M= +github.com/k3s-io/kine v0.10.3-0.20230816194222-7f6ba014aa71/go.mod h1:hiOK3Gj89Py+AB11YK0fxEwkdWxBvNfaMt8PRWXqh6M= github.com/k3s-io/klog/v2 v2.100.1-k3s1 h1:xb/Ta8dpQuIZueQEw2YTZUYrKoILdBmPiITVkNmYPa0= github.com/k3s-io/klog/v2 v2.100.1-k3s1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= github.com/k3s-io/kube-router/v2 v2.0.1-0.20230508174102-b42e5faded1c h1:7IaKAByGXNvZAmhYlaHH2LiqOGWtPNVg8vKV1Xvlrek= @@ -1057,8 +1057,8 @@ github.com/nats-io/nats-server/v2 v2.7.5-0.20220309212130-5c0d1999ff72/go.mod h1 github.com/nats-io/nats-server/v2 v2.9.18 h1:00muGH0qu/7NAw1b/2eFcpIvdHcTghj6PFjUVhy8zEo= github.com/nats-io/nats-server/v2 v2.9.18/go.mod h1:aTb/xtLCGKhfTFLxP591CMWfkdgBmcUUSkiSOe5A3gw= github.com/nats-io/nats.go v1.13.1-0.20220308171302-2f2f6968e98d/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= -github.com/nats-io/nats.go v1.27.1-0.20230619112143-ec00e662324e h1:+JoNIXzRg65A/J5MeA011xAWRW/gx5EL9F3+9O0glTg= -github.com/nats-io/nats.go v1.27.1-0.20230619112143-ec00e662324e/go.mod h1:XpbWUlOElGwTYbMR7imivs7jJj9GtK7ypv321Wp6pjc= +github.com/nats-io/nats.go v1.27.1 h1:OuYnal9aKVSnOzLQIzf7554OXMCG7KbaTkCSBHRcSoo= +github.com/nats-io/nats.go v1.27.1/go.mod h1:XpbWUlOElGwTYbMR7imivs7jJj9GtK7ypv321Wp6pjc= github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= github.com/nats-io/nkeys v0.4.4 h1:xvBJ8d69TznjcQl9t6//Q5xXuVhyYiSos6RPtvQNTwA= github.com/nats-io/nkeys v0.4.4/go.mod h1:XUkxdLPTufzlihbamfzQ7mw/VGx6ObUs+0bN5sNvt64= diff --git a/pkg/server/secrets-encrypt.go b/pkg/server/secrets-encrypt.go index 42c9b46dc0..7e0a4dd0c0 100644 --- a/pkg/server/secrets-encrypt.go +++ b/pkg/server/secrets-encrypt.go @@ -13,13 +13,13 @@ import ( "strings" "time" + "github.com/blang/semver/v4" "github.com/k3s-io/k3s/pkg/cluster" "github.com/k3s-io/k3s/pkg/daemons/config" "github.com/k3s-io/k3s/pkg/secretsencrypt" "github.com/k3s-io/k3s/pkg/util" "github.com/rancher/wrangler/pkg/generated/controllers/core" "github.com/sirupsen/logrus" - "golang.org/x/mod/semver" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" apiserverconfigv1 "k8s.io/apiserver/pkg/apis/config/v1" @@ -390,9 +390,16 @@ func verifyRotateKeysSupport(core core.Interface) error { return err } for _, node := range nodes.Items { - kubver := node.Status.NodeInfo.KubeletVersion - if semver.Compare(kubver, "v1.28.0") < 0 { - return fmt.Errorf("node %s is running k3s version %s that does not support rotate-keys", node.ObjectMeta.Name, kubver) + kubver, err := semver.ParseTolerant(node.Status.NodeInfo.KubeletVersion) + if err != nil { + return fmt.Errorf("failed to parse kubelet version %s: %v", node.Status.NodeInfo.KubeletVersion, err) + } + supportVer, err := semver.Make("1.28.0") + if err != nil { + return err + } + if kubver.LT(supportVer) { + return fmt.Errorf("node %s is running k3s version %s that does not support rotate-keys", node.ObjectMeta.Name, kubver.String()) } } return nil