golangci-lint update, ci cleanup, group dependabot updates (#11071)

* bump golangci-lint to v1.56.x

Signed-off-by: cpanato <ctadeu@gmail.com>

* cleanup empty lines

Signed-off-by: cpanato <ctadeu@gmail.com>

* group dependabot updates

Signed-off-by: cpanato <ctadeu@gmail.com>

* run on job changes as well

Signed-off-by: cpanato <ctadeu@gmail.com>

* remove deprecated checks

Signed-off-by: cpanato <ctadeu@gmail.com>

* fix lints and format

Signed-off-by: cpanato <ctadeu@gmail.com>

---------

Signed-off-by: cpanato <ctadeu@gmail.com>
This commit is contained in:
Carlos Tadeu Panato Junior 2024-03-07 11:39:53 +01:00 committed by GitHub
parent 0e11470ef3
commit 12fbe9b163
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
45 changed files with 96 additions and 100 deletions

View file

@ -9,6 +9,10 @@ updates:
- "area/dependency" - "area/dependency"
- "release-note-none" - "release-note-none"
- "ok-to-test" - "ok-to-test"
groups:
all:
update-types:
- "patch"
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:
@ -17,6 +21,11 @@ updates:
- "area/dependency" - "area/dependency"
- "release-note-none" - "release-note-none"
- "ok-to-test" - "ok-to-test"
groups:
all:
update-types:
- "minor"
- "patch"
- package-ecosystem: "docker" - package-ecosystem: "docker"
directory: "/images" directory: "/images"
schedule: schedule:
@ -25,3 +34,8 @@ updates:
- "area/dependency" - "area/dependency"
- "release-note-none" - "release-note-none"
- "ok-to-test" - "ok-to-test"
groups:
actions:
update-types:
- "minor"
- "patch"

View file

@ -2,10 +2,9 @@ name: golangci-lint
on: on:
pull_request: pull_request:
branches:
- "*"
paths: paths:
- '**/*.go' - '**/*.go'
- '.github/workflows/golangci-lint.yml'
permissions: permissions:
contents: read contents: read
@ -31,4 +30,4 @@ jobs:
- name: golangci-lint - name: golangci-lint
uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0 uses: golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0
with: with:
version: v1.55.2 version: v1.56

View file

@ -89,7 +89,6 @@ jobs:
name: custom-error-pages name: custom-error-pages
secrets: inherit secrets: inherit
e2e-test-echo: e2e-test-echo:
needs: changes needs: changes
if: | if: |
@ -214,5 +213,3 @@ jobs:
run: | run: |
export TAG=$(cat images/nginx-1.25/TAG) export TAG=$(cat images/nginx-1.25/TAG)
cd images/nginx-1.25/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --push -t ingressnginx/nginx-1.25:${TAG} . cd images/nginx-1.25/rootfs && docker buildx build --platform=${{ env.PLATFORMS }} --push -t ingressnginx/nginx-1.25:${TAG} .

View file

@ -200,9 +200,7 @@ linters-settings:
- stringConcatSimplify - stringConcatSimplify
- stringsCompare - stringsCompare
- switchTrue - switchTrue
- timeCmpSimplify
- timeExprSimplify - timeExprSimplify
- todoCommentWithoutDetail
- tooManyResultsChecker - tooManyResultsChecker
- typeAssertChain - typeAssertChain
- typeDefFirst - typeDefFirst

View file

@ -47,7 +47,7 @@ func main() {
backendsAllCmd := &cobra.Command{ backendsAllCmd := &cobra.Command{
Use: "all", Use: "all",
Short: "Output the all dynamic backend information as a JSON array", Short: "Output the all dynamic backend information as a JSON array",
Run: func(cmd *cobra.Command, args []string) { Run: func(_ *cobra.Command, _ []string) {
backendsAll() backendsAll()
}, },
} }
@ -56,7 +56,7 @@ func main() {
backendsListCmd := &cobra.Command{ backendsListCmd := &cobra.Command{
Use: "list", Use: "list",
Short: "Output a newline-separated list of the backend names", Short: "Output a newline-separated list of the backend names",
Run: func(cmd *cobra.Command, args []string) { Run: func(_ *cobra.Command, _ []string) {
backendsList() backendsList()
}, },
} }
@ -66,7 +66,7 @@ func main() {
Use: "get [backend name]", Use: "get [backend name]",
Short: "Output the backend information only for the backend that has this name", Short: "Output the backend information only for the backend that has this name",
Args: cobra.ExactArgs(1), Args: cobra.ExactArgs(1),
Run: func(cmd *cobra.Command, args []string) { Run: func(_ *cobra.Command, args []string) {
backendsGet(args[0]) backendsGet(args[0])
}, },
} }
@ -81,7 +81,7 @@ func main() {
Use: "get [hostname]", Use: "get [hostname]",
Short: "Get the dynamically-loaded certificate information for the given hostname", Short: "Get the dynamically-loaded certificate information for the given hostname",
Args: cobra.ExactArgs(1), Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(_ *cobra.Command, args []string) error {
certGet(args[0]) certGet(args[0])
return nil return nil
}, },
@ -93,7 +93,7 @@ func main() {
generalCmd := &cobra.Command{ generalCmd := &cobra.Command{
Use: "general", Use: "general",
Short: "Output the general dynamic lua state", Short: "Output the general dynamic lua state",
Run: func(cmd *cobra.Command, args []string) { Run: func(_ *cobra.Command, _ []string) {
general() general()
}, },
} }
@ -102,7 +102,7 @@ func main() {
confCmd := &cobra.Command{ confCmd := &cobra.Command{
Use: "conf", Use: "conf",
Short: "Dump the contents of /etc/nginx/nginx.conf", Short: "Dump the contents of /etc/nginx/nginx.conf",
Run: func(cmd *cobra.Command, args []string) { Run: func(_ *cobra.Command, _ []string) {
readNginxConf() readNginxConf()
}, },
} }

View file

@ -74,7 +74,7 @@ func main() {
handleFatalInitError(err) handleFatalInitError(err)
} }
if len(conf.DefaultService) > 0 { if conf.DefaultService != "" {
err := checkService(conf.DefaultService, kubeClient) err := checkService(conf.DefaultService, kubeClient)
if err != nil { if err != nil {
klog.Fatal(err) klog.Fatal(err)
@ -83,7 +83,7 @@ func main() {
klog.InfoS("Valid default backend", "service", conf.DefaultService) klog.InfoS("Valid default backend", "service", conf.DefaultService)
} }
if len(conf.PublishService) > 0 { if conf.PublishService != "" {
err := checkService(conf.PublishService, kubeClient) err := checkService(conf.PublishService, kubeClient)
if err != nil { if err != nil {
klog.Fatal(err) klog.Fatal(err)
@ -235,7 +235,6 @@ func createApiserverClient(apiserverHost, rootCAFile, kubeConfig string) (*kuber
retries++ retries++
return false, nil return false, nil
}) })
// err is returned in case of timeout in the exponential backoff (ErrWaitTimeout) // err is returned in case of timeout in the exponential backoff (ErrWaitTimeout)
if err != nil { if err != nil {
return nil, lastErr return nil, lastErr

View file

@ -34,7 +34,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "backends", Use: "backends",
Short: "Inspect the dynamic backend information of an ingress-nginx instance", Short: "Inspect the dynamic backend information of an ingress-nginx instance",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, _ []string) error {
backend, err := cmd.Flags().GetString("backend") backend, err := cmd.Flags().GetString("backend")
if err != nil { if err != nil {
return err return err

View file

@ -35,7 +35,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "certs", Use: "certs",
Short: "Output the certificate data stored in an ingress-nginx pod", Short: "Output the certificate data stored in an ingress-nginx pod",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, _ []string) error {
host, err := cmd.Flags().GetString("host") host, err := cmd.Flags().GetString("host")
if err != nil { if err != nil {
return err return err

View file

@ -36,7 +36,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "conf", Use: "conf",
Short: "Inspect the generated nginx.conf", Short: "Inspect the generated nginx.conf",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, _ []string) error {
host, err := cmd.Flags().GetString("host") host, err := cmd.Flags().GetString("host")
if err != nil { if err != nil {
return err return err

View file

@ -34,7 +34,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "exec", Use: "exec",
Short: "Execute a command inside an ingress-nginx pod", Short: "Execute a command inside an ingress-nginx pod",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(_ *cobra.Command, args []string) error {
util.PrintError(exec(flags, *pod, *deployment, *selector, *container, args, opts)) util.PrintError(exec(flags, *pod, *deployment, *selector, *container, args, opts))
return nil return nil
}, },

View file

@ -34,7 +34,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "general", Use: "general",
Short: "Inspect the other dynamic ingress-nginx information", Short: "Inspect the other dynamic ingress-nginx information",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(_ *cobra.Command, _ []string) error {
util.PrintError(general(flags, *pod, *deployment, *selector, *container)) util.PrintError(general(flags, *pod, *deployment, *selector, *container))
return nil return nil
}, },

View file

@ -32,7 +32,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "info", Use: "info",
Short: "Show information about the ingress-nginx service", Short: "Show information about the ingress-nginx service",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, _ []string) error {
service, err := cmd.Flags().GetString("service") service, err := cmd.Flags().GetString("service")
if err != nil { if err != nil {
return err return err

View file

@ -36,7 +36,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
Use: "ingresses", Use: "ingresses",
Aliases: []string{"ingress", "ing"}, Aliases: []string{"ingress", "ing"},
Short: "Provide a short summary of all of the ingress definitions", Short: "Provide a short summary of all of the ingress definitions",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(cmd *cobra.Command, _ []string) error {
host, err := cmd.Flags().GetString("host") host, err := cmd.Flags().GetString("host")
if err != nil { if err != nil {
return err return err
@ -139,14 +139,14 @@ func getIngressRows(ingresses *[]networking.Ingress) []ingressRow {
ing := &(*ingresses)[i] ing := &(*ingresses)[i]
address := "" address := ""
for _, lbIng := range ing.Status.LoadBalancer.Ingress { for _, lbIng := range ing.Status.LoadBalancer.Ingress {
if len(lbIng.IP) > 0 { if lbIng.IP != "" {
address = address + lbIng.IP + "," address = address + lbIng.IP + ","
} }
if len(lbIng.Hostname) > 0 { if lbIng.Hostname != "" {
address = address + lbIng.Hostname + "," address = address + lbIng.Hostname + ","
} }
} }
if len(address) > 0 { if address != "" {
address = address[:len(address)-1] address = address[:len(address)-1]
} }
@ -166,7 +166,7 @@ func getIngressRows(ingresses *[]networking.Ingress) []ingressRow {
} }
// Handle catch-all ingress // Handle catch-all ingress
if len(ing.Spec.Rules) == 0 && len(defaultBackendService) > 0 { if len(ing.Spec.Rules) == 0 && defaultBackendService != "" {
row := ingressRow{ row := ingressRow{
Namespace: ing.Namespace, Namespace: ing.Namespace,
IngressName: ing.Name, IngressName: ing.Name,

View file

@ -38,7 +38,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "lint", Use: "lint",
Short: "Inspect kubernetes resources for possible issues", Short: "Inspect kubernetes resources for possible issues",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(_ *cobra.Command, _ []string) error {
err := opts.Validate() err := opts.Validate()
if err != nil { if err != nil {
return err return err
@ -73,7 +73,7 @@ func createSubcommand(flags *genericclioptions.ConfigFlags, names []string, shor
Use: names[0], Use: names[0],
Aliases: names[1:], Aliases: names[1:],
Short: short, Short: short,
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(_ *cobra.Command, _ []string) error {
err := opts.Validate() err := opts.Validate()
if err != nil { if err != nil {
return err return err

View file

@ -36,7 +36,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "logs", Use: "logs",
Short: "Get the kubernetes logs for an ingress-nginx pod", Short: "Get the kubernetes logs for an ingress-nginx pod",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(_ *cobra.Command, _ []string) error {
util.PrintError(logs(flags, *pod, *deployment, *selector, *container, o)) util.PrintError(logs(flags, *pod, *deployment, *selector, *container, o))
return nil return nil
}, },

View file

@ -32,7 +32,7 @@ func CreateCommand(flags *genericclioptions.ConfigFlags) *cobra.Command {
cmd := &cobra.Command{ cmd := &cobra.Command{
Use: "ssh", Use: "ssh",
Short: "ssh into a running ingress-nginx pod", Short: "ssh into a running ingress-nginx pod",
RunE: func(cmd *cobra.Command, args []string) error { RunE: func(_ *cobra.Command, _ []string) error {
util.PrintError(ssh(flags, *pod, *deployment, *selector, *container)) util.PrintError(ssh(flags, *pod, *deployment, *selector, *container))
return nil return nil
}, },

View file

@ -74,7 +74,6 @@ func run() error {
return nil return nil
}) })
if err != nil { if err != nil {
return fmt.Errorf("failed to copy files: %w", err) return fmt.Errorf("failed to copy files: %w", err)
} }

View file

@ -416,7 +416,7 @@ func (a authReq) Parse(ing *networking.Ingress) (interface{}, error) {
harr := strings.Split(hstr, ",") harr := strings.Split(hstr, ",")
for _, header := range harr { for _, header := range harr {
header = strings.TrimSpace(header) header = strings.TrimSpace(header)
if len(header) > 0 { if header != "" {
if !ValidHeader(header) { if !ValidHeader(header) {
return nil, ing_errors.NewLocationDenied("invalid headers list") return nil, ing_errors.NewLocationDenied("invalid headers list")
} }
@ -505,7 +505,7 @@ func ParseStringToCacheDurations(input string) ([]string, error) {
arr := strings.Split(input, ",") arr := strings.Split(input, ",")
for _, duration := range arr { for _, duration := range arr {
duration = strings.TrimSpace(duration) duration = strings.TrimSpace(duration)
if len(duration) > 0 { if duration != "" {
if !ValidCacheDuration(duration) { if !ValidCacheDuration(duration) {
authCacheDuration = []string{DefaultCacheDuration} authCacheDuration = []string{DefaultCacheDuration}
return authCacheDuration, ing_errors.NewLocationDenied(fmt.Sprintf("invalid cache duration: %s", duration)) return authCacheDuration, ing_errors.NewLocationDenied(fmt.Sprintf("invalid cache duration: %s", duration))

View file

@ -177,8 +177,8 @@ func (c canary) Parse(ing *networking.Ingress) (interface{}, error) {
config.Cookie = "" config.Cookie = ""
} }
if !config.Enabled && (config.Weight > 0 || len(config.Header) > 0 || len(config.HeaderValue) > 0 || len(config.Cookie) > 0 || if !config.Enabled && (config.Weight > 0 || config.Header != "" || config.HeaderValue != "" || config.Cookie != "" ||
len(config.HeaderPattern) > 0) { config.HeaderPattern != "") {
return nil, errors.NewInvalidAnnotationConfiguration(canaryAnnotation, "configured but not enabled") return nil, errors.NewInvalidAnnotationConfiguration(canaryAnnotation, "configured but not enabled")
} }

View file

@ -104,7 +104,7 @@ func Test_checkAnnotation(t *testing.T) {
}, },
fields: AnnotationFields{ fields: AnnotationFields{
"otherannotation": AnnotationConfig{ "otherannotation": AnnotationConfig{
Validator: func(value string) error { return nil }, Validator: func(_ string) error { return nil },
}, },
}, },
}, },

View file

@ -53,7 +53,7 @@ func TestNginxCheck(t *testing.T) {
server := &httptest.Server{ server := &httptest.Server{
Listener: listener, Listener: listener,
Config: &http.Server{ Config: &http.Server{
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { Handler: http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "ok") fmt.Fprintf(w, "ok")
}), }),

View file

@ -170,7 +170,7 @@ func (fakeTemplate) Write(conf *ngx_config.TemplateConfig) ([]byte, error) {
func TestCheckIngress(t *testing.T) { func TestCheckIngress(t *testing.T) {
defer func() { defer func() {
err := filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, err error) error { err := filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, _ error) error {
if info.IsDir() && os.TempDir() != path { if info.IsDir() && os.TempDir() != path {
return filepath.SkipDir return filepath.SkipDir
} }
@ -1573,7 +1573,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 1 { if len(servers) != 1 {
t.Errorf("servers count should be 1, got %d", len(servers)) t.Errorf("servers count should be 1, got %d", len(servers))
return return
@ -1640,7 +1640,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 1 { if len(servers) != 1 {
t.Errorf("servers count should be 1, got %d", len(servers)) t.Errorf("servers count should be 1, got %d", len(servers))
return return
@ -1700,7 +1700,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 1 { if len(servers) != 1 {
t.Errorf("servers count should be 1, got %d", len(servers)) t.Errorf("servers count should be 1, got %d", len(servers))
return return
@ -1799,7 +1799,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 { if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers)) t.Errorf("servers count should be 2, got %d", len(servers))
return return
@ -2059,7 +2059,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(_ []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 { if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers)) t.Errorf("servers count should be 2, got %d", len(servers))
return return
@ -2190,7 +2190,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(ingresses []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 { if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers)) t.Errorf("servers count should be 2, got %d", len(servers))
return return
@ -2298,7 +2298,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(ingresses []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 { if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers)) t.Errorf("servers count should be 2, got %d", len(servers))
return return
@ -2367,7 +2367,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 { if len(servers) != 2 {
t.Errorf("servers count should be 1, got %d", len(servers)) t.Errorf("servers count should be 1, got %d", len(servers))
return return
@ -2437,7 +2437,7 @@ func TestGetBackendServers(t *testing.T) {
}, },
}, },
}, },
Validate: func(ingresses []*ingress.Ingress, upstreams []*ingress.Backend, servers []*ingress.Server) { Validate: func(_ []*ingress.Ingress, _ []*ingress.Backend, servers []*ingress.Server) {
if len(servers) != 2 { if len(servers) != 2 {
t.Errorf("servers count should be 2, got %d", len(servers)) t.Errorf("servers count should be 2, got %d", len(servers))
return return

View file

@ -100,7 +100,7 @@ func normalizePrefixPath(path string) string {
} }
func needsRewrite(location *ingress.Location) bool { func needsRewrite(location *ingress.Location) bool {
if len(location.Rewrite.Target) > 0 && location.Rewrite.Target != location.Path { if location.Rewrite.Target != "" && location.Rewrite.Target != location.Path {
return true return true
} }

View file

@ -197,7 +197,6 @@ func NewNGINXController(config *Configuration, mc metric.Collector) *NGINXContro
filesToWatch = append(filesToWatch, path) filesToWatch = append(filesToWatch, path)
return nil return nil
}) })
if err != nil { if err != nil {
klog.Fatalf("Error creating file watchers: %v", err) klog.Fatalf("Error creating file watchers: %v", err)
} }

View file

@ -391,7 +391,7 @@ func TestCleanTempNginxCfg(t *testing.T) {
var files []string var files []string
err = filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, err error) error { err = filepath.Walk(os.TempDir(), func(path string, info os.FileInfo, _ error) error {
if info.IsDir() && os.TempDir() != path { if info.IsDir() && os.TempDir() != path {
return filepath.SkipDir return filepath.SkipDir
} }

View file

@ -59,7 +59,7 @@ func setupLeaderElection(config *leaderElectionConfig) {
var stopCh chan struct{} var stopCh chan struct{}
callbacks := leaderelection.LeaderCallbacks{ callbacks := leaderelection.LeaderCallbacks{
OnStartedLeading: func(ctx context.Context) { OnStartedLeading: func(_ context.Context) {
klog.V(2).InfoS("I am the new leader") klog.V(2).InfoS("I am the new leader")
stopCh = make(chan struct{}) stopCh = make(chan struct{})

View file

@ -292,7 +292,7 @@ func New(
// the memory consumption of nginx-ingress-controller explode. // the memory consumption of nginx-ingress-controller explode.
// In order to avoid that we filter out labels OWNER=TILLER. // In order to avoid that we filter out labels OWNER=TILLER.
labelsTweakListOptionsFunc := func(options *metav1.ListOptions) { labelsTweakListOptionsFunc := func(options *metav1.ListOptions) {
if len(options.LabelSelector) > 0 { if options.LabelSelector != "" {
options.LabelSelector += ",OWNER!=TILLER" options.LabelSelector += ",OWNER!=TILLER"
} else { } else {
options.LabelSelector = "OWNER!=TILLER" options.LabelSelector = "OWNER!=TILLER"

View file

@ -497,7 +497,7 @@ func buildResolvers(res, disableIpv6 interface{}) string {
} }
func needsRewrite(location *ingress.Location) bool { func needsRewrite(location *ingress.Location) bool {
if len(location.Rewrite.Target) > 0 && location.Rewrite.Target != location.Path { if location.Rewrite.Target != "" && location.Rewrite.Target != location.Path {
return true return true
} }
return false return false
@ -771,10 +771,10 @@ func buildProxyPass(_ string, b, loc interface{}) string {
return defProxyPass return defProxyPass
} }
if len(location.Rewrite.Target) > 0 { if location.Rewrite.Target != "" {
var xForwardedPrefix string var xForwardedPrefix string
if len(location.XForwardedPrefix) > 0 { if location.XForwardedPrefix != "" {
xForwardedPrefix = fmt.Sprintf("%s X-Forwarded-Prefix %q;\n", proxySetHeader(location), location.XForwardedPrefix) xForwardedPrefix = fmt.Sprintf("%s X-Forwarded-Prefix %q;\n", proxySetHeader(location), location.XForwardedPrefix)
} }
@ -1738,7 +1738,7 @@ func buildCorsOriginRegex(corsOrigins []string) string {
originsRegex := "if ($http_origin ~* (" originsRegex := "if ($http_origin ~* ("
for i, origin := range corsOrigins { for i, origin := range corsOrigins {
originTrimmed := strings.TrimSpace(origin) originTrimmed := strings.TrimSpace(origin)
if len(originTrimmed) > 0 { if originTrimmed != "" {
builtOrigin := buildOriginRegex(originTrimmed) builtOrigin := buildOriginRegex(originTrimmed)
originsRegex += builtOrigin originsRegex += builtOrigin
if i != len(corsOrigins)-1 { if i != len(corsOrigins)-1 {

View file

@ -59,7 +59,7 @@ func TestAdmissionCounters(t *testing.T) {
}{ }{
{ {
name: "should return 0 as values on a fresh initiated collector", name: "should return 0 as values on a fresh initiated collector",
test: func(am *AdmissionCollector) { test: func(_ *AdmissionCollector) {
}, },
want: metadataFirst + ` want: metadataFirst + `
nginx_ingress_controller_admission_config_size{controller_class="nginx",controller_namespace="default",controller_pod="pod"} 0 nginx_ingress_controller_admission_config_size{controller_class="nginx",controller_namespace="default",controller_pod="pod"} 0

View file

@ -42,7 +42,7 @@ func TestControllerCounters(t *testing.T) {
}{ }{
{ {
name: "should return not increment in metrics if no operations are invoked", name: "should return not increment in metrics if no operations are invoked",
test: func(cm *Controller) { test: func(_ *Controller) {
}, },
want: metadata + ` want: metadata + `
nginx_ingress_controller_config_last_reload_successful{controller_class="nginx",controller_namespace="default",controller_pod="pod"} 0 nginx_ingress_controller_config_last_reload_successful{controller_class="nginx",controller_namespace="default",controller_pod="pod"} 0

View file

@ -329,7 +329,7 @@ func (sc *SocketCollector) handleMessage(msg []byte) {
continue continue
} }
if sc.reportStatusClasses && len(stats.Status) > 0 { if sc.reportStatusClasses && stats.Status != "" {
stats.Status = fmt.Sprintf("%cxx", stats.Status[0]) stats.Status = fmt.Sprintf("%cxx", stats.Status[0])
} }

View file

@ -30,8 +30,7 @@ import (
func TestNewUDPLogListener(t *testing.T) { func TestNewUDPLogListener(t *testing.T) {
var count uint64 var count uint64
//nolint:unparam // Unused `message` param is required by the handleMessages function fn := func(message []byte) { //nolint:unparam,revive // Unused `message` param is required by the handleMessages function
fn := func(message []byte) {
atomic.AddUint64(&count, 1) atomic.AddUint64(&count, 1)
} }

View file

@ -109,7 +109,7 @@ func removeUnusedWhitespace(s string) string {
for _, l := range lines { for _, l := range lines {
trimmedLine = strings.TrimSpace(l) trimmedLine = strings.TrimSpace(l)
if len(trimmedLine) > 0 { if trimmedLine != "" {
trimmedLines = append(trimmedLines, trimmedLine) trimmedLines = append(trimmedLines, trimmedLine)
} }
} }

View file

@ -400,7 +400,6 @@ func getFakeHostSSLCert(host string) (cert, key []byte) {
var err error var err error
priv, err = rsa.GenerateKey(rand.Reader, 2048) priv, err = rsa.GenerateKey(rand.Reader, 2048)
if err != nil { if err != nil {
klog.Fatalf("failed to generate fake private key: %v", err) klog.Fatalf("failed to generate fake private key: %v", err)
} }

View file

@ -446,7 +446,7 @@ func TestTLSKeyReloader(t *testing.T) {
} }
watcher.load() watcher.load()
s := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {})) s := httptest.NewUnstartedServer(http.HandlerFunc(func(_ http.ResponseWriter, _ *http.Request) {}))
s.Config.TLSConfig = watcher.TLSConfig() s.Config.TLSConfig = watcher.TLSConfig()
s.Listener = tls.NewListener(s.Listener, s.Config.TLSConfig) s.Listener = tls.NewListener(s.Listener, s.Config.TLSConfig)
go s.Start() go s.Start()

View file

@ -132,7 +132,7 @@ func DownloadGeoLite2DB(attempts int, period time.Duration) error {
} }
func createURL(mirror, licenseKey, dbName string) string { func createURL(mirror, licenseKey, dbName string) string {
if len(mirror) > 0 { if mirror != "" {
return fmt.Sprintf("%s/%s.tar.gz", mirror, dbName) return fmt.Sprintf("%s/%s.tar.gz", mirror, dbName)
} }
return fmt.Sprintf(maxmindURL, licenseKey, dbName) return fmt.Sprintf(maxmindURL, licenseKey, dbName)

View file

@ -215,7 +215,6 @@ func (Release) LatestCommitLogs() {
} }
func commitsBetweenTags(newversion, oldversion string) []string { func commitsBetweenTags(newversion, oldversion string) []string {
var newTag, oldTag string var newTag, oldTag string
tags := getAllControllerTags() tags := getAllControllerTags()
newTag, oldTag = tags[0], tags[1] newTag, oldTag = tags[0], tags[1]

View file

@ -25,22 +25,19 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"regexp" "regexp"
"slices"
"strings" "strings"
"text/template" "text/template"
"slices"
) )
//go:embed templates/e2edocs.tpl //go:embed templates/e2edocs.tpl
var tplContent embed.FS var tplContent embed.FS
var ( var skipFiles = []string{
skipFiles = []string{
"test/e2e/framework/framework.go", "test/e2e/framework/framework.go",
"test/e2e/e2e.go", "test/e2e/e2e.go",
"test/e2e/e2e_test.go", "test/e2e/e2e_test.go",
} }
)
const ( const (
testDir = "test/e2e" testDir = "test/e2e"
@ -48,9 +45,7 @@ const (
URL = "https://github.com/kubernetes/ingress-nginx/tree/main/" URL = "https://github.com/kubernetes/ingress-nginx/tree/main/"
) )
var ( var betweenquotes = regexp.MustCompile(`("|\')(?P<TestDescription>.*)("|\')`)
betweenquotes = regexp.MustCompile(`("|\')(?P<TestDescription>.*)("|\')`)
)
type E2ETemplate struct { type E2ETemplate struct {
URL string URL string
@ -102,7 +97,7 @@ func (t *E2ETemplate) walkE2eDir(path string, d fs.DirEntry, errAggregated error
fileScanner.Split(bufio.ScanLines) fileScanner.Split(bufio.ScanLines)
tests := make([]string, 0) tests := make([]string, 0)
var lineN = 0 lineN := 0
for fileScanner.Scan() { for fileScanner.Scan() {
lineN = lineN + 1 lineN = lineN + 1
if !containsGinkgoTest(fileScanner.Text()) { if !containsGinkgoTest(fileScanner.Text()) {
@ -136,5 +131,4 @@ func GenerateE2EDocs() (string, error) {
return "", err return "", err
} }
return tplBuff.String(), nil return tplBuff.String(), nil
} }

View file

@ -102,7 +102,7 @@ func (f *Framework) NamespaceContent() (string, error) {
} }
eout := strings.TrimSpace(execErr.String()) eout := strings.TrimSpace(execErr.String())
if len(eout) > 0 { if eout != "" {
return "", fmt.Errorf("stderr: %v", eout) return "", fmt.Errorf("stderr: %v", eout)
} }

View file

@ -313,7 +313,7 @@ func (f *Framework) matchNginxConditions(name string, matcher func(cfg string) b
return false, nil return false, nil
} }
if klog.V(10).Enabled() && len(o) > 0 { if klog.V(10).Enabled() && o != "" {
klog.InfoS("NGINX", "configuration", o) klog.InfoS("NGINX", "configuration", o)
} }
@ -335,7 +335,7 @@ func (f *Framework) matchNginxCustomConditions(from, to string, matcher func(cfg
return false, nil return false, nil
} }
if klog.V(10).Enabled() && len(o) > 0 { if klog.V(10).Enabled() && o != "" {
klog.InfoS("NGINX", "configuration", o) klog.InfoS("NGINX", "configuration", o)
} }
@ -501,7 +501,7 @@ func (f *Framework) newHTTPTestClient(config *tls.Config, setIngressURL bool) *h
Transport: &http.Transport{ Transport: &http.Transport{
TLSClientConfig: config, TLSClientConfig: config,
}, },
CheckRedirect: func(req *http.Request, via []*http.Request) error { CheckRedirect: func(_ *http.Request, _ []*http.Request) error {
return http.ErrUseLastResponse return http.ErrUseLastResponse
}, },
}, httpexpect.NewAssertReporter()) }, httpexpect.NewAssertReporter())

View file

@ -93,7 +93,7 @@ func (h *HTTPRequest) ForceResolve(ip string, port uint16) *HTTPRequest {
return h return h
} }
newTransport := oldTransport.Clone() newTransport := oldTransport.Clone()
newTransport.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) { newTransport.DialContext = func(ctx context.Context, network, _ string) (net.Conn, error) {
return dialer.DialContext(ctx, network, resolveAddr) return dialer.DialContext(ctx, network, resolveAddr)
} }
h.client.Transport = newTransport h.client.Transport = newTransport

View file

@ -133,7 +133,7 @@ var _ = framework.IngressNginxDescribe("[TCP] tcp-services", func() {
// Execute the test. Use the `external name` service to resolve a domain name. // Execute the test. Use the `external name` service to resolve a domain name.
resolver := net.Resolver{ resolver := net.Resolver{
PreferGo: true, PreferGo: true,
Dial: func(ctx context.Context, network, address string) (net.Conn, error) { Dial: func(ctx context.Context, _, _ string) (net.Conn, error) {
d := net.Dialer{} d := net.Dialer{}
return d.DialContext(ctx, "tcp", fmt.Sprintf("%v:5353", ip)) return d.DialContext(ctx, "tcp", fmt.Sprintf("%v:5353", ip))
}, },