diff --git a/.golangci.yaml b/.golangci.yaml index 5f38f65c..33b57b48 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -7,13 +7,14 @@ linters: - revive - gosec - prealloc -run: - skip-files: +issues: + exclude-files: - /zz_generated_ - _generated - skip-dirs: + exclude-dirs: - generated - deadline: 5m +run: + timeout: 5m tests: true build-tags: - test diff --git a/Dockerfile.dapper b/Dockerfile.dapper index bdd124b1..34bac18b 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -1,4 +1,4 @@ -FROM registry.suse.com/bci/golang:1.20 +FROM registry.suse.com/bci/golang:1.21 ARG DAPPER_HOST_ARCH ENV HOST_ARCH=${DAPPER_HOST_ARCH} ARCH=${DAPPER_HOST_ARCH} @@ -7,7 +7,7 @@ RUN zypper -n rm container-suseconnect && \ zypper -n install git curl docker gzip tar wget awk ## install golangci -RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.55.2 +RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.57.1 ## install controller-gen RUN go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.6.2 diff --git a/cmd/webhook/main.go b/cmd/webhook/main.go index a352d539..0ce2b8c8 100644 --- a/cmd/webhook/main.go +++ b/cmd/webhook/main.go @@ -78,7 +78,7 @@ func main() { app := cli.NewApp() app.Flags = flags - app.Action = func(c *cli.Context) error { + app.Action = func(_ *cli.Context) error { setLogLevel(logLevel) err := runWebhookServer(ctx, cfg, &options) return err diff --git a/go.mod b/go.mod index 7aa6a3ea..721f6b5b 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/harvester/node-manager -go 1.20 +go 1.21 replace ( k8s.io/api => k8s.io/api v0.24.14 @@ -36,7 +36,7 @@ require ( github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.3 github.com/twpayne/go-vfs v1.7.2 - golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 + golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0 k8s.io/api v0.28.0 k8s.io/apimachinery v0.28.0 @@ -49,6 +49,7 @@ require ( github.com/harvester/webhook v0.1.4 github.com/urfave/cli/v2 v2.3.0 golang.org/x/sys v0.16.0 + gopkg.in/yaml.v3 v3.0.1 ) require ( @@ -119,7 +120,6 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.28.0 // indirect k8s.io/code-generator v0.28.0 // indirect k8s.io/gengo v0.0.0-20220902162205-c0856e24416d // indirect diff --git a/go.sum b/go.sum index 7aa73b52..169efe18 100644 --- a/go.sum +++ b/go.sum @@ -669,6 +669,7 @@ github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -698,6 +699,7 @@ github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+ github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= @@ -861,6 +863,7 @@ github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= 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= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -893,7 +896,9 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo/v2 v2.9.2 h1:BA2GMJOtfGAfagzYtrAlufIP0lq6QERkFmHLMLPwFSU= +github.com/onsi/ginkgo/v2 v2.9.2/go.mod h1:WHcJJG2dIlcCqVfBAwUCrJxSPFb6v4azBwgxeMeDuts= github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= +github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= @@ -932,6 +937,7 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= diff --git a/main.go b/main.go index d96d89a2..a530589f 100644 --- a/main.go +++ b/main.go @@ -94,7 +94,7 @@ func main() { }, } - app.Action = func(c *cli.Context) error { + app.Action = func(_ *cli.Context) error { initProfiling(&opt) initLogs(&opt) return run(&opt) diff --git a/pkg/controller/nodeconfig/config/ntp.go b/pkg/controller/nodeconfig/config/ntp.go index f0ca1fa2..c666f07f 100644 --- a/pkg/controller/nodeconfig/config/ntp.go +++ b/pkg/controller/nodeconfig/config/ntp.go @@ -8,6 +8,7 @@ import ( "io" "os" "reflect" + "slices" "strings" "sync" @@ -15,7 +16,6 @@ import ( "github.com/mudler/yip/pkg/schema" ctlnode "github.com/rancher/wrangler/pkg/generated/controllers/core/v1" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/pkg/ksmtuned/ksmd.go b/pkg/ksmtuned/ksmd.go index a17ea2a7..dcd10397 100644 --- a/pkg/ksmtuned/ksmd.go +++ b/pkg/ksmtuned/ksmd.go @@ -94,7 +94,7 @@ func (k *ksmd) toggleMergeAcrossNodes(ctx context.Context, toggle uint) (err err } ctxCancel, cancel := context.WithCancel(ctx) - wait.UntilWithContext(ctxCancel, func(ctx context.Context) { + wait.UntilWithContext(ctxCancel, func(_ context.Context) { var s *ksmdStatus s, err = k.readKsmdStatus() if err != nil || s.shared+s.sharing+s.unshared < 1 { diff --git a/pkg/monitor/ntp.go b/pkg/monitor/ntp.go index 0c6116d7..2f38286c 100644 --- a/pkg/monitor/ntp.go +++ b/pkg/monitor/ntp.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "reflect" + "slices" "sync" "time" @@ -12,7 +13,6 @@ import ( gocommon "github.com/harvester/go-common" ctlnode "github.com/rancher/wrangler/pkg/generated/controllers/core/v1" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ctlv1 "github.com/harvester/node-manager/pkg/generated/controllers/node.harvesterhci.io/v1beta1"