mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 10:49:15 +00:00
Update Golang CI Lint to the latest version (#113)
This change updates Golang CI Lint to the latest version and fixes new linter errors that came along with the update. These changes were split out of #112 and are required to update the Go version.
This commit is contained in:
@@ -10,14 +10,12 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Clone the code
|
- name: Clone the code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
|
||||||
|
|
||||||
- name: Setup Go
|
- name: Setup Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 #v6.3.0
|
||||||
with:
|
with:
|
||||||
go-version-file: go.mod
|
go-version-file: go.mod
|
||||||
|
|
||||||
- name: Run linter
|
- name: Run linter
|
||||||
uses: golangci/golangci-lint-action@v6
|
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 #v9.2.0
|
||||||
with:
|
|
||||||
version: v1.63.4
|
|
||||||
|
|||||||
+30
-24
@@ -1,33 +1,15 @@
|
|||||||
|
version: "2"
|
||||||
run:
|
run:
|
||||||
timeout: 5m
|
|
||||||
allow-parallel-runners: true
|
allow-parallel-runners: true
|
||||||
|
|
||||||
issues:
|
|
||||||
# don't skip warning about doc comments
|
|
||||||
# don't exclude the default set of lint
|
|
||||||
exclude-use-default: false
|
|
||||||
# restore some of the defaults
|
|
||||||
# (fill in the rest as needed)
|
|
||||||
exclude-rules:
|
|
||||||
- path: "api/*"
|
|
||||||
linters:
|
|
||||||
- lll
|
|
||||||
- path: "internal/*"
|
|
||||||
linters:
|
|
||||||
- dupl
|
|
||||||
- lll
|
|
||||||
linters:
|
linters:
|
||||||
disable-all: true
|
default: none
|
||||||
enable:
|
enable:
|
||||||
|
- copyloopvar
|
||||||
- dupl
|
- dupl
|
||||||
- errcheck
|
- errcheck
|
||||||
- copyloopvar
|
|
||||||
- ginkgolinter
|
- ginkgolinter
|
||||||
- goconst
|
- goconst
|
||||||
- gocyclo
|
- gocyclo
|
||||||
- gofmt
|
|
||||||
- goimports
|
|
||||||
- gosimple
|
|
||||||
- govet
|
- govet
|
||||||
- ineffassign
|
- ineffassign
|
||||||
- lll
|
- lll
|
||||||
@@ -36,12 +18,36 @@ linters:
|
|||||||
- prealloc
|
- prealloc
|
||||||
- revive
|
- revive
|
||||||
- staticcheck
|
- staticcheck
|
||||||
- typecheck
|
|
||||||
- unconvert
|
- unconvert
|
||||||
- unparam
|
- unparam
|
||||||
- unused
|
- unused
|
||||||
|
settings:
|
||||||
linters-settings:
|
|
||||||
revive:
|
revive:
|
||||||
rules:
|
rules:
|
||||||
- name: comment-spacings
|
- name: comment-spacings
|
||||||
|
staticcheck:
|
||||||
|
checks: ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022", "-QF1008"]
|
||||||
|
exclusions:
|
||||||
|
generated: lax
|
||||||
|
rules:
|
||||||
|
- linters:
|
||||||
|
- lll
|
||||||
|
path: api/*
|
||||||
|
- linters:
|
||||||
|
- dupl
|
||||||
|
- lll
|
||||||
|
path: internal/*
|
||||||
|
paths:
|
||||||
|
- third_party$
|
||||||
|
- builtin$
|
||||||
|
- examples$
|
||||||
|
formatters:
|
||||||
|
enable:
|
||||||
|
- gofmt
|
||||||
|
- goimports
|
||||||
|
exclusions:
|
||||||
|
generated: lax
|
||||||
|
paths:
|
||||||
|
- third_party$
|
||||||
|
- builtin$
|
||||||
|
- examples$
|
||||||
|
|||||||
+1
-2
@@ -42,7 +42,6 @@ import (
|
|||||||
|
|
||||||
netbirdiov1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
netbirdiov1 "github.com/netbirdio/kubernetes-operator/api/v1"
|
||||||
"github.com/netbirdio/kubernetes-operator/internal/controller"
|
"github.com/netbirdio/kubernetes-operator/internal/controller"
|
||||||
webhookk8siov1 "github.com/netbirdio/kubernetes-operator/internal/webhook/v1"
|
|
||||||
webhooknetbirdiov1 "github.com/netbirdio/kubernetes-operator/internal/webhook/v1"
|
webhooknetbirdiov1 "github.com/netbirdio/kubernetes-operator/internal/webhook/v1"
|
||||||
// +kubebuilder:scaffold:imports
|
// +kubebuilder:scaffold:imports
|
||||||
)
|
)
|
||||||
@@ -215,7 +214,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if enableWebhooks {
|
if enableWebhooks {
|
||||||
if err = webhookk8siov1.SetupPodWebhookWithManager(mgr, managementURL, clientImage); err != nil {
|
if err = webhooknetbirdiov1.SetupPodWebhookWithManager(mgr, managementURL, clientImage); err != nil {
|
||||||
setupLog.Error(err, "unable to create webhook", "webhook", "Pod")
|
setupLog.Error(err, "unable to create webhook", "webhook", "Pod")
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ type NBPolicyReconciler struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
errUnknownProtocol = fmt.Errorf("Unknown protocol")
|
errUnknownProtocol = fmt.Errorf("unknown protocol")
|
||||||
errKubernetesAPI = fmt.Errorf("kubernetes API error")
|
errKubernetesAPI = fmt.Errorf("kubernetes API error")
|
||||||
errNetBirdAPI = fmt.Errorf("netbird API error")
|
errNetBirdAPI = fmt.Errorf("netbird API error")
|
||||||
errInvalidValue = fmt.Errorf("invalid value")
|
errInvalidValue = fmt.Errorf("invalid value")
|
||||||
|
|||||||
@@ -222,7 +222,8 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
resourceUpdated := false
|
resourceUpdated := false
|
||||||
mux.HandleFunc("/api/networks/test/resources/test", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/networks/test/resources/test", func(w http.ResponseWriter, r *http.Request) {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
if r.Method == http.MethodGet {
|
switch r.Method {
|
||||||
|
case http.MethodGet:
|
||||||
resp := api.NetworkResource{
|
resp := api.NetworkResource{
|
||||||
Address: nbresource.Spec.Address,
|
Address: nbresource.Spec.Address,
|
||||||
Description: &networkDescription,
|
Description: &networkDescription,
|
||||||
@@ -245,7 +246,7 @@ var _ = Describe("NBResource Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
_, err = w.Write(bs)
|
_, err = w.Write(bs)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
} else if r.Method == http.MethodPut {
|
case http.MethodPut:
|
||||||
resourceUpdated = true
|
resourceUpdated = true
|
||||||
bs, err := io.ReadAll(r.Body)
|
bs, err := io.ReadAll(r.Body)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|||||||
@@ -172,7 +172,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
networkCreated := false
|
networkCreated := false
|
||||||
mux.HandleFunc("/api/networks", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/networks", func(w http.ResponseWriter, r *http.Request) {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
if r.Method == http.MethodPost {
|
switch r.Method {
|
||||||
|
case http.MethodPost:
|
||||||
networkCreated = true
|
networkCreated = true
|
||||||
var req api.PostApiNetworksJSONRequestBody
|
var req api.PostApiNetworksJSONRequestBody
|
||||||
bs, err := io.ReadAll(r.Body)
|
bs, err := io.ReadAll(r.Body)
|
||||||
@@ -190,7 +191,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
_, err = w.Write(bs)
|
_, err = w.Write(bs)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
} else if r.Method == http.MethodGet {
|
case http.MethodGet:
|
||||||
_, err := w.Write([]byte("[]"))
|
_, err := w.Write([]byte("[]"))
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
@@ -276,7 +277,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
routerCreated := false
|
routerCreated := false
|
||||||
mux.HandleFunc("/api/networks/test/routers", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/networks/test/routers", func(w http.ResponseWriter, r *http.Request) {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
if r.Method == http.MethodPost {
|
switch r.Method {
|
||||||
|
case http.MethodPost:
|
||||||
routerCreated = true
|
routerCreated = true
|
||||||
var req api.PostApiNetworksNetworkIdRoutersJSONRequestBody
|
var req api.PostApiNetworksNetworkIdRoutersJSONRequestBody
|
||||||
bs, err := io.ReadAll(r.Body)
|
bs, err := io.ReadAll(r.Body)
|
||||||
@@ -299,7 +301,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
_, err = w.Write(bs)
|
_, err = w.Write(bs)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
} else if r.Method == http.MethodGet {
|
case http.MethodGet:
|
||||||
resp := []api.NetworkRouter{}
|
resp := []api.NetworkRouter{}
|
||||||
bs, err := json.Marshal(resp)
|
bs, err := json.Marshal(resp)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@@ -555,7 +557,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
setupKeyDeleted := false
|
setupKeyDeleted := false
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
if r.Method == http.MethodGet {
|
switch r.Method {
|
||||||
|
case http.MethodGet:
|
||||||
resp := api.SetupKey{
|
resp := api.SetupKey{
|
||||||
Id: "skid",
|
Id: "skid",
|
||||||
Revoked: false,
|
Revoked: false,
|
||||||
@@ -564,7 +567,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
_, err = w.Write(bs)
|
_, err = w.Write(bs)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
} else if r.Method == http.MethodDelete {
|
case http.MethodDelete:
|
||||||
setupKeyDeleted = true
|
setupKeyDeleted = true
|
||||||
_, err := w.Write([]byte(`{}`))
|
_, err := w.Write([]byte(`{}`))
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@@ -628,7 +631,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
setupKeyDeleted := false
|
setupKeyDeleted := false
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
if r.Method == http.MethodGet {
|
switch r.Method {
|
||||||
|
case http.MethodGet:
|
||||||
resp := api.SetupKey{
|
resp := api.SetupKey{
|
||||||
Id: "skid",
|
Id: "skid",
|
||||||
Revoked: true,
|
Revoked: true,
|
||||||
@@ -637,7 +641,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
_, err = w.Write(bs)
|
_, err = w.Write(bs)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
} else if r.Method == http.MethodDelete {
|
case http.MethodDelete:
|
||||||
setupKeyDeleted = true
|
setupKeyDeleted = true
|
||||||
_, err := w.Write([]byte(`{}`))
|
_, err := w.Write([]byte(`{}`))
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@@ -712,11 +716,12 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
setupKeyDeleted := false
|
setupKeyDeleted := false
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
if r.Method == http.MethodGet {
|
switch r.Method {
|
||||||
|
case http.MethodGet:
|
||||||
w.WriteHeader(404)
|
w.WriteHeader(404)
|
||||||
_, err := w.Write([]byte(`{"message": "setup-key skid not found", "code": 404}`))
|
_, err := w.Write([]byte(`{"message": "setup-key skid not found", "code": 404}`))
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
} else if r.Method == http.MethodDelete {
|
case http.MethodDelete:
|
||||||
setupKeyDeleted = true
|
setupKeyDeleted = true
|
||||||
_, err := w.Write([]byte(`{}`))
|
_, err := w.Write([]byte(`{}`))
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@@ -761,7 +766,8 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
setupKeyDeleted := false
|
setupKeyDeleted := false
|
||||||
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/setup-keys/skid", func(w http.ResponseWriter, r *http.Request) {
|
||||||
defer GinkgoRecover()
|
defer GinkgoRecover()
|
||||||
if r.Method == http.MethodGet {
|
switch r.Method {
|
||||||
|
case http.MethodGet:
|
||||||
resp := api.SetupKey{
|
resp := api.SetupKey{
|
||||||
Id: "skid",
|
Id: "skid",
|
||||||
Revoked: false,
|
Revoked: false,
|
||||||
@@ -770,7 +776,7 @@ var _ = Describe("NBRoutingPeer Controller", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
_, err = w.Write(bs)
|
_, err = w.Write(bs)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
} else if r.Method == http.MethodDelete {
|
case http.MethodDelete:
|
||||||
setupKeyDeleted = true
|
setupKeyDeleted = true
|
||||||
_, err := w.Write([]byte(`{}`))
|
_, err := w.Write([]byte(`{}`))
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|||||||
@@ -194,6 +194,7 @@ func (r *ServiceReconciler) exposeService(ctx context.Context, req ctrl.Request,
|
|||||||
func (r *ServiceReconciler) reconcileNBResource(nbResource *netbirdiov1.NBResource, req ctrl.Request, svc corev1.Service, routingPeer netbirdiov1.NBRoutingPeer, logger logr.Logger) error {
|
func (r *ServiceReconciler) reconcileNBResource(nbResource *netbirdiov1.NBResource, req ctrl.Request, svc corev1.Service, routingPeer netbirdiov1.NBRoutingPeer, logger logr.Logger) error {
|
||||||
groups := []string{fmt.Sprintf("%s-%s-%s", r.ClusterName, req.Namespace, req.Name)}
|
groups := []string{fmt.Sprintf("%s-%s-%s", r.ClusterName, req.Namespace, req.Name)}
|
||||||
if v, ok := svc.Annotations[serviceGroupsAnnotation]; ok {
|
if v, ok := svc.Annotations[serviceGroupsAnnotation]; ok {
|
||||||
|
//nolint:prealloc
|
||||||
groups = nil
|
groups = nil
|
||||||
for _, g := range strings.Split(v, ",") {
|
for _, g := range strings.Split(v, ",") {
|
||||||
groups = append(groups, strings.TrimSpace(g))
|
groups = append(groups, strings.TrimSpace(g))
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo/v2" //nolint:golint,revive
|
. "github.com/onsi/ginkgo/v2" //nolint:staticcheck
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -169,6 +169,6 @@ func GetProjectDir() (string, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return wd, err
|
return wd, err
|
||||||
}
|
}
|
||||||
wd = strings.Replace(wd, "/test/e2e", "", -1)
|
wd = strings.ReplaceAll(wd, "/test/e2e", "")
|
||||||
return wd, nil
|
return wd, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user